Commit Graph

197 Commits

Author SHA1 Message Date
Joshua Lock
9b800fe261 scripts: use the exported POKY_NATIVE_SYSROOT variable
Rather than trying to determine things through guess-work use the newly
exported variables to determine where the native binaries reside and
whether we are running in a build directory or not.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-07 11:22:54 +01:00
Joshua Lock
13ef707ab1 runqemu-nfs: check for required programs
The unfs server requires either rpcbind or portmap to be installed and
running to start so check for their presence in the script.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-07 10:48:21 +01:00
Jeff Polk
d2febcce2b siteconfig: generate configuration data caches for autoconf
siteinfo: Use configuration caches when available

Generate cached configuration data for autoconf for the package
based on a list of header, types, and functions to eliminate the
need for all subesequent package builds to do the actual tests
via the cross compiler and sysroot.  The cache files are
stored in the sysroot in ${STAGING_DATADIR}/${TARGET_SYS}_config_site.d.
Siteinfo appends any files it finds in that directory to the normal
CONFIG_SITE.  All of the cache values set the variables only if not
already set so they may be overridden by any of the normal site files.

Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
2010-09-03 10:50:02 +01:00
Jiajun Xu
80993c4e1b qemuimage-testlib: kill qemu process according to its pid, instead of process name
poky-qemu-internal will set up a tap lockfile when creating tap device. The lockfile
will be released when a TERM signal is received. In previous code, function
Test_Kill_Qemu uses pkill to kill all process named "qemu". This may cause lockfile
release function not work in poky-qemu-internal. Then poky-qemu-internal will be
hang when user start QEMU the second time. To prevent the issue, the new function
Test_Kill_Qemu kills all child pid with a given parent process ID.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-09-02 11:00:08 +01:00
Saul Wold
8cbf96aeaf runqemu: add poky-image-basic and poky-image-lsb to recognized images
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 09:50:48 +01:00
Richard Purdie
caab7fc509 Drop chroot usage as its not well used, tested and is broken
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-01 15:08:45 +01:00
Jiajun Xu
7303807ef1 test: Add scenario file for each target and support single case running
Different test cases are needed for different targets. A folder "scenario"
is created under scripts/qemuimage-tests to hold scenario files for different
targets.

Single case running is supported now. User can run single case together with
a whole test suite by setting variable TEST_SCEN in local.conf.

By default test cases in sanity suite will be ran. If you want to run other
test suite or specific test case(e.g. bat or boot test case under sanity suite),
list them like following.
TEST_SCEN = "sanity bat sanity:boot"

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-08-27 13:04:37 +01:00
Joshua Lock
66790ecb4a poky-qemu: check for existence of required libraries
We need some libraries installed to run the built qemu, check for their
existence before trying to run the program. Fixes [BUGID #201]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-25 11:15:16 +01:00
Dexuan Cui
e8231e0950 poky-qemu-internal: fix the echo of KERNCMDLINE
Without the fix, when the commandline is printed with the "echo" command,
it loses the quotes and this confuses people.

Thanks Richard for pointing this out.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-20 16:20:13 +01:00
Scott Garman
d7d803fa1c poky-qemu-internal: fix broken call to poky-qemu-ifup
The poky-qemu-ifup script now requires a path to the native
sysroot as an argument. This fixes a case where the argument
was missing.

Also, set up NATIVE_SYSROOT_DIR when running runqemu.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:12 +01:00
Scott Garman
070096ec70 runqemu-nfs: boot QEMU using nfsroot and local unfs export
This script automates the booting of QEMU using an nfsroot exported
by our userspace NFS tools. The rootfs should be created using
poky-extract-sdk.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:11 +01:00
Scott Garman
313bda1d87 poky-export-rootfs: script for exporting userspace nfsroots
This script automates the exporting of a root filesystem (created
with the poky-extract-sdk utility) using pseudo and the native
userspace NFS server. That filesystem can then be booted using
nfsroot with either QEMU or the target hardware using one of our
kernels.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:11 +01:00
Scott Garman
c23da3d37e poky-extract-sdk: script for extracting sdk images using pseudo
This script automates the creation of a rootfs area using pseudo so
it can be used by a QEMU nfsroot boot.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:11 +01:00
Scott Garman
f203df83a5 poky-qemu-internal: fixes for userspace NFS booting
Including a number of cases where the script could exit before
releasing a tun/tap lockfile.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:11 +01:00
Jeff Dike
81ff1ee237 poky-qemu-internal: Support use of a preconfigured tap device
This patch makes poky-qemu-internal check for the existence of an
available preconfigured tap device before running poky-qemu-ifup to
make a new one.

Locking is handled with a lockfile in /tmp/qemu-tap-locks/.  This uses
the lockfile utility, so that needs to be present on the host.  On
exit, this script removes the lock file so that the tap device may be
reused.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-08-20 16:20:10 +01:00
Jeff Dike
4df9f11171 poky-qemu-internal: Support NFS boots better
The image specification can now be in the form nfs-server:directory.
This makes it possible to nfs-boot from servers other than the host.
poky-qemu-internal will properly construct the kernel command line
given such a specification.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-08-20 16:20:10 +01:00
Jeff Dike
6ea1ed5f7b poky-qemu-[ifup|ifdown]: Use native tunctl
poky-qemu-ifup can run standalone by root in order to configure a bank
of tap devices for later qemu use.

These devices will, if possible, be owned by a specified group to
which qemu users must belong.

If the kernel is too old to support TUNSETGROUP, then it falls back to
setting the tap device to be owned by a particular user, and that user
will be the only one allowed to use it.

Also overall usability improvements to the scripts, usage() help, etc.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:10 +01:00
Scott Garman
f35a8d4079 poky-find-native-sysroot: helper script for locating the native sysroot path
Various poky scripts make use of binaries from the native sysroot.
This helper script can be used to reduce code duplication, and sets
up some environment variables you can use to identify and obtain
the correct filesystem path to the native sysroot.

It works for both in-tree Poky setups as well as toolchain
installations.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:10 +01:00
Jeff Dike
d9aa25a337 poky-qemu-ifup: allow multiple tap devices
This patch bases the tap IP address on the device number, providing
each device with its own IP address.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-08-20 16:20:09 +01:00
Jeff Dike
c791544bb0 qemu: Use a TAP device instead of slirp for networking
With this patch, a persistent TAP device is set up by poky-qemu-ifup,
which is now run before qemu.  The qemu command line now uses the
device that was constructed (rather than the hard-coded tap0) and it
is told not to run any networking scripts.

When qemu shuts down, poky-qemu-ifdown removes the TAP device.

sudo use - sudo is used to run poky-qemu-ifup.  sudo is no longer used
to run qemu, as qemu no longer needs privileges to set up networking.
poky-qemu-ifdown is run without privileges, as you can remove a TAP
device which you own.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-08-20 16:20:09 +01:00
Joshua Lock
e624b2700a build/conf: move sample conf files to meta/conf
Currently rm -fr build breaks things badly but will work if we move the sample
configuration files to meta/conf - this patch does so.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-17 17:41:20 +01:00
Jiajun Xu
8c498e5338 testlib: Add support for qemumips/qemuppc/qemux86-64, and add support for testing with images from autobuilder
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-08-13 23:42:03 +01:00
Joshua Lock
fa8c028fd0 scripts: add qemux86-64 support to the qemu scripts
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-02 17:54:20 +01:00
Mark Hatle
d668b80e86 meta/classes/rootfs_rpm.bbclass: re implement base on rpm5
Re implement the rootfs generation using rpm5.  This also gets rid of the
need for yum, and handles all dep resolving internal to the script itself.

The new file scripts/rootfs_rpm-extract-postinst.awk comes from the original
yum integration work.  It has been unchanged, but since yum is no longer used
we needed to move the script somewhere else.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-07-24 00:46:57 +01:00
Joshua Lock
b98e3e9c3f poky-env-internal: re-add OEROOT to the whitelisted environment variables
We don't want Bitbake to clean OEROOT from the environment as users may have
old layer configurations which require it set.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-23 12:50:25 +01:00
Nitin A Kamble
7459068915 scripts/poky-env-internal: preserve the git proxy env var
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-22 17:11:54 +01:00
Richard Purdie
83cc54944e poky-env-internal: Print some further information for the user
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 13:21:13 +01:00
Richard Purdie
9832fd3e22 poky-env-internal: Cleanup after the recent layer improvements
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 13:19:24 +01:00
Richard Purdie
c2f71a86f5 poky-env-internal/runqemu: Move BUILD_SYS handling which is runqemu specific into runqemu
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 13:14:24 +01:00
Richard Purdie
897a8b5abc stagemanager: Move functionality into the scripts directory
Since scripts is now in PATH thanks to the layer functionality there is
no longer any need to have this recipe full of special cases, the scripts
can just be placed there.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 11:44:28 +01:00
Joshua Lock
5c63f8a249 poky-env-internal: unbreak existing build setups
Many users have an existing build confifured using OEROOT, re-enable exporting
of this variable to unbreak their builds.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-22 10:42:47 +01:00
Saul Wold
0c3b1aa0a5 scripts/runqemu: Path fixes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-21 21:49:09 +01:00
Joshua Lock
971907567c Enable build dir outside of the poky directory
You need to first set up the build directory by sourcing the poky build script,
after that builds can be run in that directory so long as bitbake is in $PATH
removing the need to source the init script for each build.

i.e:
$ . poky-init-build-env ~/my-build
$ bitbake some-image
<<later, in a different shell>>
$ cd ~/my-build
$ export PATH=/path/to/bitbake/bin:$PATH
$ bitbake an-image

This patch also removes use of OEROOT in recipes, etc.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-21 15:39:53 +01:00
Bruce Ashfield
d39ae18df2 qemu/mips: arrange for vmlinux to be bootable
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-19 11:59:51 -04:00
Jiajun Xu
fd1d661b39 test: add automation framework and sanitytest
Automation test is disabled by default. User need set TESTCLASS
to qemu in conf/local.conf and run bitbake command "bitbake
poky-image-xxx" or "bitbake poky-image-xxx -c qemuimagetest" to
trigger it. Currently only the sanity test with two testcases are
added.

To run the test, user need prepare a testing environment:
1) "expect" should be installed on system
2) NOPASSWD should be set for user to run bitbake

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-07-15 12:48:25 +01:00
Richard Purdie
bd19169a60 poky-qemu-internal: Use 128MB memory for qemumips/qemuppc
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-15 12:29:35 +01:00
Bruce Ashfield
21949128eb qemu-scripts: Add support for mips and powerpc machines, update qemuarm
For mips, the malta platform emulates a cirrus chipset. With the udpated
2.6.34 kernel options, we can now enable framebuffer boot for
the qemumips platform.

We need to pass a valid cpu (603e) and do a -nographic boot to
make it all the way to a prompt so graphics is disabled for now
for ppc.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-15 11:19:10 +01:00
Nitin A Kamble
b43fd541d3 scripts/create_pull_request fix a typo
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:32 -07:00
Nitin A Kamble
1d64687d13 update create_pull_request for distro/master
With this change the create_pull_request will be able to generate pull
requests to master as well as distro/master branch.

Some documentation is added in the Usage messange of the script.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:32 -07:00
Joshua Lock
453ee8d573 poky-env-internal: fix a typo
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-10 15:59:11 +01:00
Richard Purdie
d92a12f761 poky-evn-internal: Add some documentation about the config file and commonly used build targets
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-10 15:51:36 +01:00
Joshua Lock
2e0e24e849 scripts: Fix setting up links to cc and gcc in runqemu
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-09 17:32:01 +01:00
Saul Wold
cab1009b08 Fixes for Qemu to use VGA and Touch Screen
Added usb tablet options to poky-qemu-internal script, and adjusted the
xorg.conf script for x86 to use VGA screen and tablet input device

Signed-off-by: Saul Wold <saul.wold@intel.com>
2010-06-07 16:13:00 +01:00
Joshua Lock
138df217ef Drop vm_mmap_min_addr checks from scripts and sanity class
QEMU 0.12.x is relocatable so we no longer need these tests, which is good
because it doesn't work reliably with modern kernels.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-05-28 15:32:41 +01:00
Nitin A Kamble
bad2fe6498 add a new scripts create-pull-request
This is the 1st version of create-pull-request script.
Using specified local commit-id or branch-name it
generates a short description of the changes;
and using poky-contrib branch-name it generates the
URL where these changes are already pushed
and are available for review and git-pull.

I prepared this script as per the input from Richard Purdie.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-05-17 13:47:40 -07:00
Nitin A Kamble
b2c4aee283 poky-qemu-internal Add -show-cursor to qemux86
Without this option the need to do the blind guesswork about the
position of the pointer.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-05-14 11:57:27 -07:00
Richard Purdie
a722741e32 Merge branch 'tk/head' of ssh://git.pokylinux.org/poky-contrib 2010-05-14 06:36:56 +08:00
Richard Purdie
ad136ddeef Revert "poky-env-internal: Disable automatic adding of meta environments to BBPATH"
This reverts commit ba804d1729 which is a valid
change but isn't working for some reason which needs further investigation.
2010-05-13 17:07:17 +08:00
Kevin Tian
5a3f17ee6b poky-env-internal: unset variables to avoid disturbing new GIT clone
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-05-13 16:27:01 +08:00
Richard Purdie
ba804d1729 poky-env-internal: Disable automatic adding of meta environments to BBPATH
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-05-12 15:28:54 +08:00