aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
AgeCommit message (Collapse)Author
2013-04-23qemuimagetest/scenario: Move dmesg to end of test runRichard Purdie
The dmesg test detects segfaults. This is useful information to have and if one occurs in one of the earlier tests, this can aid debugging. Move the dmesg test to the end of the list of tests so we gain the extra debug info in those cases. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23qemuimage-tests/sanity/boot: Increase timeoutRichard Purdie
As we've increased the parallelisation on the build servers, we've started to see core-image-minimal sanity test boot failures where the network never comes up. We don't see those failures for core-image-sato, its always minimal. Looking at the results, it can take ~100 seconds for the network to come up, even on the sato images if the machine has a high load. The timeout for the boot test is only 120 seconds compared to 400 on every other test. This change makes the timeout equal for all the tests at 400 seconds in the hope that the load on the autobuilder is causing the sanity tests to run slowly and hence triggering the false negatives. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23sanity/connman: when connman test fails, dump syslogRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23qemuimage-testlib: add function to fetch the remote syslogRoss Burton
Add a new function to scp from the target, and another to fetch /var/log/messages and dump it to the console. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23qemuimage-testlib: silence some key warningsRoss Burton
Set StrictHostKeyChecking to no to silence the fingerprint warnings, and instead of creating a temporary file for the known hosts and then deleting it just use /dev/null. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23connman_test.sh: show all processes when dumping psRoss Burton
We know the grep failed because the error case is being executed, so don't do the grep again when attempting to help diagnose the problem, as seeing the full process list might be useful. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23qemuimage-testlib-pythonhelper: Fix process mixupsRichard Purdie
runqemu-internal runs "ldd qemu-system xxx" and the detection code was returning this as the PID of qemu. This patch improves the detection code to avoid this problem, fixing certain race type failures on the autobuilder. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23scripts/qemuimage-testlib: Dump extra info if the network doesn't come upRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23qemuimage-testlib: Fix quoting issueRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23qemuimage-testlib: Use ww option to ps to ensure command output isn't truncatedRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23qemuimage-testlib: Increase qemu startup timeoutsRichard Purdie
We are seeing timeouts on the autobuilder where qemu does start but the script doesn't appear to be able to detect it in time. This patch increases the timeouts since there seems little harm in doing so. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23relocate_sdk.py: allow relocate_sdk.py to work with python 2.4.xJason Wessel
Avoid the chicken / egg problem of an SDK that provides a working python but requires that version of python to extract itself. The RHEL 5.x systems and some other enterprise Linux systems ship with python 2.4.x as the default python. We need to at least be able to extract work executables even if we never use the the host provided python again. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23relocate_sdk.py: Fix corruption of sdk binariesJason Wessel
There are two cases of corruption that the relocate_sdk.py was not correctly dealing with. 1) SDK Extras should be left alone Extra external binaries included in an SDK that were linked against the host's version of /usr/lib/ld-so.so should not get a relocation applied. In the case that was discovered these were LSB compliant binaries that already worked on many hosts. 2) If the interp section is too small generate an error In the case of the qemu user code, it was using its own .ld file to link the executables which overrides the default in the nativesdk binutils. This generated host executables which had a interp section that was too small to relocate. Now the relocate_sdk.py will print an error and continue on such that the error can be fixed by a developer without having to do the difficult task of debugging why it is crashing or not loading correctly. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-27qemuimage-testlib: Capture stderror in the logs as well as stdoutRichard Purdie
This allows error messages to be captured in the logs which is helpful. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-27qemuimagetest: collect and print runqemu outputPaul Eggleton
If runqemu (or qemu itself) fails we need to know why, so tee out to a log file and print it when we can't find the qemu process or determine its IP address. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-27qemuimagetest: fix erroneous ps errors when qemu couldn't be startedPaul Eggleton
The helper script was printing an error to stdout when it couldn't find any qemu child processes; output this error to stderr instead and redirect stderr to /dev/null when running from qemuimage-testlib so that QEMUPID is actually blank if there are no qemu instances found. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-27scripts/qemu-testlib: Add more debugging informationRichard Purdie
This extra information should allow better forensics if the sanity tests fail as they're currently doing occasionaly on the autobuilder for unknown reasons. The patch also tightens up certain checks to remove pointless noise and error output from the logs. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-27scripts/runqemu-internal: Fix lock racesRichard Purdie
There are two problems here. Firstly the grep command is unanchored so pid 345 will match against 12345 and so on. The second issue is that there are several context switched between attempting the lock and then writing the pid to it. Between the two issues, there were issues appearing on the autobuilder due to these conflicts. This patch replaces the mechanism with flock on fd 8 which should be a safer mechanism to use. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-27runqemu: Improve error handling/exit codesRichard Purdie
runqemu-internal is sourced so should be returning with an error code in case of errors. runqemu needs to deal with this. This patch fixes up the various error paths so we're consistent and get a sane exit status for runqemu which helps a lot in its use in the qemu runtime testing on the autobuilder. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-27qemuimage-testlib: Add extra debugging and sanity checkRichard Purdie
Check for a zero IP address since its clearly incorrect if that value is found. Also add debugging for cases where we can't find the qemu process. A process listing is handy to help understand what the problem might be. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-27qemuimage-testlib: Add delay to work around races in qemu startupRichard Purdie
Qemu changes pid when starting up. On a loaded machine, this can result in the incorrect pid being returned. Since qemu will take a few seconds to boot anyway, we might as well delay a short while and allow things to settle which should fix various race issues being seen on the autobuilder. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-27qemuimage-testlib: Fix IP address handlingRichard Purdie
Remove some pointless code and also fix the return handling for the function since it returns null, not 0 as the comments would suggest. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-27scripts/qemutestlib: Add better process debugging and fix process group issueRichard Purdie
In single testing with a shutdown scenario the processes are cleaned up correctly but the manual cleanup fall back used for a minimal image do not work properly. This patch fixes the kill commands to revert to non-process groups, fixing the hung process issues that were occuring. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-27qemu-testlib: Add python helper and simplify shellRichard Purdie
The current code has a race since it greps for *any* qemu process running, even if it isn't the one we started. This leads to some sanity tests potentially failing on machines where multiple sets of sanity tests are running. To resovle this and some other ugly code issues, add a python script to accurately walk the process tree and find the qemu process. We can then replace all the shell functions attempting this which happen to work in many cases but not all. Also clean up some of the error handling so its more legible. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-19scripts/bitbake: Remove all instances of paths to a layer's scripts directory.Franklin S. Cooper Jr
* Currently the assumption is made that only oe-core can include a scripts directory. * However, when other layers create a scripts directory the bitbake script freaks out causing a infinite recursive loop until it crashes. * Simply changing the regular expression to remove all instances of scripts path instead of just the first one fixes this problem. [Yocto Bug 3872] Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-02-14scripts/qemuimage-testlib: Use wide option to ps callsMichael Halstead
Forcing ps to display unlimited column width allows the qemu IP address to be discovered during sanity testing when the command line is extremely long. This seems to fix the sanity testing problem on AB05 which was recently updated to OpenSUSE 12.2. I'm not sure what about qemu or process listing is different on that distribution but this simpile fix seems to work and my help on other distro's as well. Signed-off-by: Michael Halstead <michael@yoctoproject.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-14relocate_sdk.py: new interpreter string was not '\0' terminatedLaurentiu Palcu
The problem: SDK binaries were not properly relocated when the SDK was installed into a path that had a length less than the default one. Apparently, there were two problems here: the padding was done wrong (the size of one program header table entry was used instead of the program section size) and the new padded string was not used at all. [YOCTO #3655] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-14crosstap: handle hyphenated x86_64 target archTom Zanussi
systemtap_target_arch() should also translate x86-64 (hyphenated) into x86_64 for the -a param. Failing to do that causes systemtap to see an architecture mismatch and create a cloned session with a bogusly synthesized build directory path, and fails to compile the probe. Fixes [YOCTO #3756] Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-14Fix typo in kvm capability detection in runqemuBjörn Stenberg
Signed-off-by: Björn Stenberg <bjst@enea.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-10sstate-cache-management: hide error message when one of possible layer ↵Martin Jansa
location doesn't exist * fixes [YOCTO #3116] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-07oe-buildenv-internal: Add BB_NO_NETWORK to BB_ENV_EXTRAWHITEOtavio Salvador
This allows for use of bitbake in offline mode, but override it in command line. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-04runqemu: allow multiple unfs instances to run simultaneouslyScott Garman
A miscalculation in the way the port numbers of mountd and nfsd are created was causing conflicts when starting multiple instances of qemu using userspace nfs. Thanks to Rudolf Streif for proposing this fix! Fixes [YOCTO #1969] Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-04runqemu-export-rootfs: improve rpcbind error detectionScott Garman
mountd requires rpcbind or portmap. Check that one of these services is running before doing anything else, and report a user-friendly error when they are not found. Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-04runqemu-export-rootfs: use consistent whitespaceScott Garman
Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03qemu: Fixed running QEMU with virtio error reportingCristian Iorga
If vhost_net module is not properly installed, runqemu script will report the error and provide the user with a link to the guide. Also corrected small cosmetic issues in runqemu script messages. Also removed <> (read/write) check. Fixes [YOCTO #3184] Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02scripts/oe-buildenv-internal: Ensure we detect the SDK/ADT and error outRichard Purdie
The SDK/ADT may ship with a python installed which may not have all the modules need for a bitbake build. We should therefore detect if its already present in the environment and error out in this case, asking the user to use a clean environment. This also removes the potential for any other conflict between the two. [YOCTO #2979] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28runqemu-internal: don't append an empty element to PATHScott Garman
Bitbake fails to run when an empty element exists in $PATH. Avoid creating this situation when $CROSSPATH is not set. This fixes bug [YOCTO #3101] Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-28oe-find-native-sysroot: show bitbake errors to userScott Garman
Ran into another bug that was masked by hiding a bitbake error message. This catches this situation and displays the error to the user. Also includes whitespace fixes. Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-27sstate-cache-management: hide error message when one of possible layer ↵Martin Jansa
location doesn't exist * fixes [YOCTO #3116] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26SDK: trap any IO errors in the relocate scriptLaurentiu Palcu
If the files being relocated are already used by other processes the relocate script will fail with a traceback. This patch will trap any IO errors when opening such a file and gracefully report them to the user. Also change the exit code from 1 to -1 for a better adt-installer user experience (like pointing the user to the adt_installer.log). [YOCTO #3164] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24runqemu: work with tap device names that end with a colonScott Garman
On Fedora systems (and likely others), ifconfig returns interface names that end with a colon. Make sure we strip the colon off the tap device name before using it. This fixes [YOCTO #3028] Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20qemux86-64: Support for KVM, paravirt and virtio addedCristian Iorga
KVM, paravirtualization and virtio drivers are now activated in runqemu using the kvm option flag for qemux86-64. Host CPU features are also exported to guest OS (Yocto Linux). Usage example: runqemu qemux86-64 core-image-x11 kvm Implements [YOCTO #2550]. Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-20qemux86: Support for KVM, paravirt and virtio addedCristian Iorga
KVM, paravirtualization and virtio drivers are now activated in runqemu using the kvm option flag for qemux86. Host CPU features are also exported to guest OS (Yocto Linux). Usage example: runqemu qemux86 core-image-x11 kvm Implements [YOCTO #2550]. Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-20runqemu: show bitbake errors to userScott Garman
In certain edge cases, bitbake may fail to run and cause setup_tmpdir() within runqemu to fail, and not give the user a helpful error message. Catch this case and show the user the output of bitbake -e. This fixes [YOCTO #3112] Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-20mkefidisk.sh: Add script to do an EFI install on the hostDarren Hart
Sometimes it is convenient to prepare a bootable image from the host rather than using a live-image to install to a disk on the target. This script takes a live image as input, partitions a device, and performs the installation just as the installer would if run on the target. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-20Replace "echo -e" with "printf" to have the same behavior in dash or bashAndrei Gherzan
oe-core removed the prerequisite to have sh as bash. POSIX doesn't define any options and furthermore allows 'echo -e' to be the default behavior. This means that in dash 'echo -e' will actually print '-e' and interpret backslashes by default. We use instead 'printf' builtin command with or without '\n' to simulate 'echo -e' or 'echo -n'. 'printf' needs format while 'echo' can be used without any arguments. So 'echo >' was replaced by 'printf "" >'. 'echo' without '-n' flag adds a new line by default so to keep the same behavior of two new lines while using 'echo "\n"', 'printf "\n\n"' is used. [YOCTO #3138] Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14scripts/combo-layer: ensure we validate branch/revision on initPaul Eggleton
If both branch and last_revision are specified for a component when combo-layer init is run, ensure that the specified revision is actually on the specified branch and error out if not. Also ensure that the error message mentions the component. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-14scripts/combo-layer: use last_revision if specified in initPaul Eggleton
If last_revision is specified for a component when running combo-layer init, then use that revision instead of the latest revision on the branch. Also, remove unnecessary git checkout during init since we specify the revision to all calls to git when dealing with the component repositories. Fixes [YOCTO #3040]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-14runqemu: Explicitly specify MACHINE when calling bitbakeKhem Raj
When using runqemu with distros outside oe-core then MACHINE may not be there in local.conf so use the one thats available in environment of runqemu which is actually the correct one. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-10runqemu-internal: New qemu calls it qemu-system-i386 for x86Khem Raj
New qemu calls the x86 system emulator to be qemu-system-i386 which is consistent now so change it in scripts Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>