summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)AuthorFiles
2013-05-12runqemu-internal: support for ext2 and ext4 not only ext3Stefan Stanacar1
Don't check only for ext3 fstype, we can boot ext2 and ext4 just as well. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-12scripts/runqemu: add ext4 to the list of extracted extensionsStefan Stanacar1
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-10buildhistory-diff: improve bad command-line argument handlingPaul Eggleton1
* Check for existence of specified buildhistory directory and show a proper error message if it doesn't * Show an error message instead of a traceback with a mangled revision if one of the specified git revisions is invalid * Show usage information if --help is specified * Write error messages to stderr Fixes [YOCTO #4313]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-02mkefidisk: Unmount after partitioningDarren Hart1
Some automounters are rather overzealous and like to mount things immediately after partitioning. This can happen if the disk is being reused and the partitions align exactly with the existing partitions which have already been formatted. Move the unmount code into a function and call it before and after partitioning. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-29scripts/postinst-intercepts: create separete hooks for multilibLaurentiu Palcu1
When using multilib, the hooks for lib32/lib64 must be different because the libdir/base_libdir point to different locations. Postinstalls calling postint_intercept script must pass the mlprefix in the 3rd argument. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-29scripts/contrib/build-perf-test.sh: change the global results formatStefan Stanacar1
When all builds have finished write the hostname, commit and times on a single line in the global results file (useful for merging later on files from multiple systems). Also the final cleaning should be last after writing the results. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-29scripts/contrib/build-perf-test.sh: skip network sanity testsStefan Stanacar1
When your proxy/network connection is unstable the network sanity test which runs before every build (because we wipe all the files in the build dir) can influence build time. Appending CONNECTIVITY_CHECK_URIS = "" in local.conf will disable the check. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-29scripts/contrib/build-perf-test.sh: use the same identation everywhereStefan Stanacar1
Some functions didn't used the same identation as the rest of them, let's fix that. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-29qemuimage-testlib-pythonhelper: Make the process detection more strictRichard Purdie1
Old versions of ldd (2.11) as run on some of the autobuilders end up running commands like "LD_xxxx qemu-system-xxx" which this process detection code would pick up and result in the wrong PID for qemu. This changes the code to check for "192.168" in the command so we know we're getting the correct one. This is less than ideal however we're running out of options and resolves false negatives we see on the autobuilder. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-29mkefidisk: Attempt to automatically unmount target deviceDarren Hart1
With automounters abounding it makes more sense to attempt to unmount the device rather than abort, just like ddimage does. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-16runqemu-internal: Drop distcc supportRichard Purdie1
The distcc support is clearly unused and broken, might as well drop the remaining code fragements. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-10qemu script: explicitly set 32 bit depth for x86-64Alexandru DAMIAN1
This patch is the same as 6c22c591374d258228f74814cded34a24b4bf2d3, but for x86-64 targets which exhibit the same problem. Qemu update from 1.2 to 1.4 now allows for 16bit depth in guests, whereby previously only 32bit depth was supported. However, the new support is broken, so we force 32bit depth in all cases. Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-10postinst-intercepts, qemu.bbclass: fix segfaults in postinstallsLaurentiu Palcu2
Postinstalls that use qemu are throwing a segmentation fault when building for qemux86-64 on a 64bit host (it might also happen for qemux86 if building on a 32bit host but I didn't test). It looks like qemu looks for ld.so.cache which is not found because it is generated after rootfs_(rpm|ipk|deb)_do_rootfs is called and then it tries to load libraries from the default paths (which are the host's). In order to avoid this, pass the LD_LIBRARY_PATH explicitly to the target's dynamic loader. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-09qemuimagetest/scenario: Move dmesg to end of test runRichard Purdie15
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-09oe-buildenv-internal: Only add to $PATH if neededPeter Kjellerstedt1
First strip $PATH of any existence of the paths needed by Open Embedded and BitBake. Then add the needed paths at the beginning. This makes sure the needed paths are searched first, without growing $PATH unnecessarily if oe-init-build-env is rerun for a directory for which it has previously been run. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-08oe-buildenv-internal: Only add to $PATH if neededPeter Kjellerstedt1
If $PATH already has the needed paths at the beginning, there is no need to add them again. This allows rerunning oe-init-build-env for the same directory without having $PATH increase unnecessarily every time. Signed-off-by: Peter Kjellerstedt <pkj@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-08scripts/oe-pkgdata-util: find complementary packages for split packagesPaul Eggleton1
Check after getting the original package name (e.g. undoing Debian renaming) if there is a complementary package for that name, e.g. if the glob is *-dev, then libudev0 -> libudev -> libudev-dev. Fixes [YOCTO #4136]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-06qemuimage-tests/sanity/boot: Increase timeoutRichard Purdie1
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-05oe-setup-builddir: Allow $OECORENOTESCONF to not existPeter Kjellerstedt1
Signed-off-by: Peter Kjellerstedt <pkj@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-05sanity/connman: when connman test fails, dump syslogRoss Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-05qemuimage-testlib: add function to fetch the remote syslogRoss Burton1
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-05qemuimage-testlib: silence some key warningsRoss Burton1
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-05connman_test.sh: show all processes when dumping psRoss Burton1
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-05postinst-intercepts, qemu.bbclass: fix issue on 32 bit hostsLaurentiu Palcu2
The intercept scripts fail to run on 32 bit hosts. Apparently, the current approach worked on 64 bit hosts due to the larger virtual address space (probably). On 32 bit hosts, however, calling the target binary like: qemu-arm ld-linux.so --library-path /lib:/usr/lib arm_binary fails with: arm_binary: error while loading shared libraries: arm_binary: failed to map segment from shared object: Operation not permitted When run like this, qemu-arm fails to map the arm_binary executable in memory because it's hitting the lower limit of /proc/sys/vm/mmap_min_addr. That's because it loads the ld-linux.so binary successfully, taking into account mmap_min_addr, runs it, and then ld-linux.so will map the arm_binary at a fixed address but this will fail because it is below mmap_min_addr. The qemu's guest base probing, apparently, doesn't work fine when a program runs inside other. One way around this would be to set mmap_min_addr to 0 (on recent distributions is set to 65536 to avoid "kernel NULL pointer dereference" defects) but this approach is not safe. The other way is to call the binary directly but providing qemu with a prefix (-L option) in order to find the elf interpreter correctly. This way, both the target binary and dynamic loader are mapped into memory under qemu's control and, only after, the dynamic loader is started. [YOCTO #4179] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-05qemuimage-testlib-pythonhelper: Fix process mixupsRichard Purdie1
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-05scripts/sstate-cache-management.sh: fix return value by adding exit 0Henning Heinold1
* usefull for jenkins jobs, which will otherwise fail because 1 was returned Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-04scripts/qemuimage-testlib: Dump extra info if the network doesn't come upRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-04python: adding missing runtime dependency python-io to python-pprintLukas Bulwahn1
When trying to import python-pprint on a minimal image, it reports that the cStringIO python module is missing. This is provided with python-io, so we add python-io as runtime dependency. The complete observed trace was: Python 2.7.3 (default, Apr 4 2013, 07:45:36) [GCC 4.7.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pprint Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/pprint.py", line 40, in <module> from cStringIO import StringIO as _StringIO ImportError: No module named cStringIO Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-03qemu script: explicitly set 32 bit depthAlexandru DAMIAN1
Qemu update from 1.2 to 1.4 now allows for 16bit depth in guests, whereby previously only 32bit depth was supported. However, the new support is broken, so we force 32bit depth in all cases. MUST_REVERT: on qemu update, if 16bit depth support is working ok Fixes [YOCTO #3828] Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-03runqemu-internal: use MACHINE_SUBTYPE variable for qemuarm*Martin Jansa1
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-30qemuimage-testlib: Fix quoting issueRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-30qemuimage-testlib: Use ww option to ps to ensure command output isn't truncatedRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-30qemuimage-testlib: Increase qemu startup timeoutsRichard Purdie1
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-03-29scripts/contrib/build-perf-test.sh: add timings for bitbake -pStefan Stanacar1
Add another test to time bitbake -p with and without cache/ or tmp/cache. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-29scripts/contrib/build-perf-test.sh: add option to allow cherry-picking of ↵Richard Purdie1
fix revisions Adds a -p option to allow cherry-picking of fix revisions. Removes the final build/sstate directories to stop running out of space. Runs subsequent tasks even if one test fails. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-29scripts/contrib/build-perf-test.sh: add a global results fileStefan Stanacar1
Append results from each run to a single file in order to keep a history. Also do some cosmetic changes and fix some whitespace. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-29scripts/contrib/build-perf-test.sh: add a script for build performance trackingStefan Stanacar1
This script runs a series of builds (core-image-sato by default) with and without sstate cache and collects some metrics (time and size currently). It takes a commit as argument (-c <rev>) and measures wall clock for bitbake core-image-sato and virtual/kernel. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-29oe-setup-builddir: Possibility to customize text.Anders Roxell1
Possibility to customize the text that is presented to the user when they execute the script. Signed-off-by: Anders Roxell <anders.roxell@enea.com> Tested-by: Maxin B. John <maxin.john@enea.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-29classes/buildhistory: improve SRCREV recordingPaul Eggleton1
Collect SRCREV information in a separate task and write it out in a format which is more consistent with the rest of the buildhistory output. Using a task means that SRCREV values will also be recorded for native recipes and not just target ones, and the new formatting also correctly handles multiple entries in SRC_URI. Also adds scripts/buildhistory-collect-srcrevs which will report on all of the recorded SRCREV values in a format suitable for use in global configuration (e.g. local.conf or a distro inc file) to override AUTOREV values to a fixed set of revisions. Example output: # emenlow-poky-linux SRCREV_machine_pn-linux-yocto = "b5c37fe6e24eec194bb29d22fdd55d73bcc709bf" SRCREV_emgd_pn-linux-yocto = "caea08c988e0f41103bbe18eafca20348f95da02" SRCREV_meta_pn-linux-yocto = "c2ed0f16fdec628242a682897d5d86df4547cf24" # core2-poky-linux SRCREV_pn-kmod = "62081c0f68905b22f375156d4532fd37fa5c8d33" SRCREV_pn-blktrace = "d6918c8832793b4205ed3bfede78c2f915c23385" SRCREV_pn-opkg = "649" Some notes on using this script: * By default only values where the SRCREV was not hardcoded (usually i.e. AUTOREV was used) are reported - use the -a option to see all SRCREV values. * The output statements may not have any effect in the face of overrides applied elsewhere; use the -f option to add the forcevariable override to each output line to work around this. * The script does not do any special handling for multiple machines; however it does place a comment before each set of values specifying which triplet they belong to as shown above. Relates to [YOCTO #3041]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-27qemuimage-testlib: Capture stderror in the logs as well as stdoutRichard Purdie1
This allows error messages to be captured in the logs which is helpful. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-26qemuimagetest: collect and print runqemu outputPaul Eggleton1
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-26qemuimagetest: fix erroneous ps errors when qemu couldn't be startedPaul Eggleton2
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-22mkefidisk: Use msdos partition tablesDarren Hart1
While GPT works fine when writing to actual media, it cannot be reliably used for distributing disk images as it requires the backup table to be on the last block on the device, which of course varies from device to device. Use MSDOS tables instead. Use mkfs to label the filesystems as msdos tables do not support partition labeling. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-22mkefidisk: Remove startup.nshDarren Hart1
Most firmware implementations use the EFI specified EFI/BOOT/bootia32.efi (and similar) boot paths. Only broken firmware uses different paths for removable media. In those cases, the user can add their own startup.nsh. For the compliant case, selecting "Shell" from the EFI boot menu should go to the shell. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-22mkefidisk: Always use rootwait and document kernel parameters usedDarren Hart1
Without a reliable way of knowing if the target device with be an asyncronous block device on the target (MMC or USB), err on the side of caution of always specifcy "rootwait", ensuring the kernel will wait for the device to appear and not abort if it hasn't appeared in time for mount. Document the remaining kernel parameters added by this script on the same line as rootwait. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-22mkefidisk: Boot with ro kernel parameter instead of rwDarren Hart1
There is no need to boot with "rw". Booting with "ro" will allow for fsck to be run during boot, and a proper /etc/fstab will still ensure the rootfs is "rw" by the time the user can interact with the system. Change the "rw" to "ro" in the kernel parameters specified in the generated grub.cfg file. Fixes [YOCTO 4036] mkefidisk.sh hardcodes 'rw' as root mount option Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-22mkefidisk: Cleanup comment lengthDarren Hart1
Keep comments under 80 characters in length. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-22mkefidisk: Always specify a root= kernel parameterDarren Hart1
The current script only replaces an existing root= kernel parameter which can result images created without a root= paremeter, even though the script expects a target rootfs parameter. Rather than replacing the root= parameter, delete the root= parameter if it exists, then append an appropriate root= parameter. Fixes [YOCTO 4035] mkefidisk.sh forgets to add root= parameter Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-21scripts/qemu-testlib: Add more debugging informationRichard Purdie1
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-20scripts/runqemu-internal: Fix lock racesRichard Purdie1
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>