aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
AgeCommit message (Collapse)Author
2013-07-09scripts/runqemu: Add support for 'qemumicroblaze' machineNathan Rossi
* Add support to boot the 'qemumicroblaze' machine in qemu-system-microblazeel * Use the specific machine model for a MicroBlaze system 'petalogix-ml605' * Use the DTB generated from the kernel build as the DTB for boot * Force use of initrd rootfs (either in ext or cpio formats) Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-09scripts/runqemu: Add support for 'qemuzynq' machineNathan Rossi
* Add support to boot the 'qemuzynq' machine in qemu-system-arm * Use the specific machine model for Zynq 'xilinx-zynq-a9' * Use the DTB generated from the kernel build as the DTB for boot * Force use of initrd rootfs (either in ext or cpio formats) Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-09lib/oeqa/utils/qemurunner.py: class to handle qemu instanceRadu Moisan
Handles qemu instances (launch, kill, restart, serial connection, logging) Launch is blocking until login prompt and returns to the task. A qemu serial connection is used to save the boot log and get the ip from the image. Changed runqemu script not to error out when using custom serial option. Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
2013-06-28python-multiprocessing: adding runtime dependenciesLukas Bulwahn
As python-multiprocessing requires python-threading and python-pickle, this commit adds them as runtime dependency. The observed behavior was: When typing 'import multiprocessing' in the python shell on a minimal image with only the python-multiprocessing recipe installed, python reports at first: Python 2.7.3 (default, Jun 27 2013, 08:26:25) [GCC 4.7.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import multiprocessing; Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/multiprocessing/__init__.py", line 65, in <module> from multiprocessing.util import SUBDEBUG, SUBWARNING File "/usr/lib/python2.7/multiprocessing/util.py", line 38, in <module> import threading # we want threading to install it's ImportError: No module named threading After adding python-threading as runtime dependency and rebuilding the image, python reports: Python 2.7.3 (default, Jun 27 2013, 08:26:25) [GCC 4.7.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import multiprocessing; Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/multiprocessing/__init__.py", line 84, in <module> import _multiprocessing ImportError: No module named cPickle Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-25cleanup-workdir: fix typoKai Kang
Fix typo. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-17oe-buildenv-internal: Ensure error messages got to stderrRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-17oe-buildenv-internal: Fix exit verses returnRichard Purdie
This script is sourced so we should return, not exit. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-14scripts/buildenv-internal/sanity: Update to python 2.7.3 as a minimumRichard Purdie
We're finding bugs in python 2.6 and starting to require unittest functionality in python 2.7.x. Its time to bump the minimum version requirement. Anyone without python 2.7.x can use the buildtools-tarball out to install a standalone python/git/tar setup which will work with the system. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-14scripts/bitbake: Drop horrible double execution messRichard Purdie
There is no longer anything of value in the bitbake wrapper script since pseudo is handled by bitbake internally. We can therefore drop it (yay). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-14scripts/oe-buildenv-internal bitbake: Migrate python version checksRichard Purdie
In preparation for removal of the bitbake wrapper script, move the python version checks to the environment script. There are also checks within bitbake itself but these may not always function correctly on every version of python so this is really insurance. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-14scripts/bitbake sanity.bbclass: Migrate tests for git and tar versionsRichard Purdie
Migrate tests for correct git and tar versions from the wrapper script to the sanity class. This sets the scene to allow us to remove the bitbake wrapper script. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-13scripts/contrib/build-perf-test.sh: fix passing argumentsStefan Stanacar
Don't pass arguments to bitbake as a single one, because this will break when the bitbake double-exec is removed. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-13scripts/contrib/build-perf-test.sh: add branch name and sizes to resultsStefan Stanacar
Be more descriptive about the revision we are running on in the global results file: add branch:commit and git describe fields. Also add the sizes for tmp dir not only times. (previously these were only available in the output.log) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-13runqemu: when tunctl can't be found, say what package builds itRoss Burton
If runqemu is used without actually building any qemu images (i.e. you downloaded the images) it's likely that qemu-helper-native hasn't been built. Instead of just saying what command can't be found, tell the user how to solve their problem. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-10ddimage: fix incompatibility with dashHongxu Jia
On systems with dash as /bin/sh there were failures while invoking ddimage. Fix to let it work with both bash and dash shells. [YOCTO #4617] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-30runqemu: Replaced "stty sane" with saved stty settingsAndrei Dinu
stty manual says : "sane - Resets all modes to reasonable values for interactive terminal use." But reasonable isn't the most viable solution, because we want to keep the original stty settings before running runqemu. Saving the stty settings and setting them at the end of the runqemu script solves the terminal settings differences after the script ran. [Yocto #4512] Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com> [Added filename info in commit subject - sgw] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-24runqemu: fix networking issuesLaurentiu Palcu
After switching from ifconfig to ip, networking stopped working. This commit contains the following fixes: * set a decent broadcast address for the tap device; * bring up the device; * add the route using ip tool instead of the old route tool; Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-24SLiRP support in runqemuAndrei Dinu
runqemu script now takes argument "slirp" in order to run networking on the qemu machine, without root privileges. changed the runqemu-internal script in order not to activate the tap devices if the option is set. [YOCTO #1474] Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-21scripts/bitbake: Handle the case where git isn't installed cleanlyRichard Purdie
Currently the user sees ugly errors if git isn't installed, this patch cleans up the code to correctly handle that case. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-16qemuimage-testlib: change default directory for target testsStefan Stanacar
/tmp is a better location, and it allows copying files on read only fs images Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-16qemuimage-testlib: pass optional timeout to ssh functionStefan Stanacar
Sometimes we need to change the timeout used by the function for certain kinds of tests. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-16qemuimage-testlib: add support for extra arguments passed to runqemuStefan Stanacar
Some tests might want to pass extra arguments to runqemu. I can think of "kvm" or qemuparams="-m 1024" when we want extra muscle. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-16runqemu: Replace use of ifconfig with ipKhem Raj
ifconfig and its ilk (net-tools package) is deprecated in favour of iproute2 package and is now removed by many distro's e.g. Archlinux. So we replace ifconfig with ip utility Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-14scripts/hob: enable additional argumentsBogdan Marinescu
Allow "hob" to receive other arguments in the command line (for example the server type and the address of the remote end if running remotely). Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-12imagetest-qemu.bbclass, qemuimage-testlib: add support for more FSTYPESStefan Stanacar
qemuimage-testlib hardcodes ext3 as fs type. This adds support for more images types which are supported by runqemu: ext[234]/jffs2/btrfs. I've skipped (for now) vmdk (which qemu can boot) because: - we don't have network on images without connman because of the way runqemu starts vmdk images (can't pass kernel args for network config) - qemuimage-testlib-pythonhelper relies on '192.168' being in the output of ps to return the pid Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-12runqemu-internal: support for ext2 and ext4 not only ext3Stefan Stanacar
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 Stanacar
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 Eggleton
* 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 Hart
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 Palcu
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 Stanacar
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 Stanacar
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 Stanacar
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 Purdie
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 Hart
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 Purdie
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 DAMIAN
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 Palcu
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 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-09oe-buildenv-internal: Only add to $PATH if neededPeter Kjellerstedt
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 Kjellerstedt
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 Eggleton
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 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-05oe-setup-builddir: Allow $OECORENOTESCONF to not existPeter Kjellerstedt
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 Burton
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 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-05qemuimage-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-05connman_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-05postinst-intercepts, qemu.bbclass: fix issue on 32 bit hostsLaurentiu Palcu
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 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>