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).
(From OE-Core rev: d716d095751086e72fd789721005f0dc6d632997)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 07792e4a83ca4f1c8152c228813c7f795fa6a545)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 7b370e23594da5dcb53cd5507ec289c3ef2d9fb5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Don't pass arguments to bitbake as a single one,
because this will break when the bitbake double-exec
is removed.
(From OE-Core rev: db13f10d233873148156880ab709ec76f8d3c329)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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)
(From OE-Core rev: 769a2c8ce797ee3afa39ab0fe9d9206a60cc4ba1)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 1498c431a161e8b3ddebefb5f03f4f11d5796c1d)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 4c6f7a5d8bd6ada434b91037ecd5db06f3eac814)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Privious check-in "yocto_kernel: check current items before add a
new one" had been merged before I apply the feedback from Zanussi, Tom.
Now fix it as a new patch.
This fix modify the output message when customer adding duplicate
items.
[YOCTO #4558]
(From meta-yocto rev: 530c6efa85b1798d30db4c6c83a748b100b8c1c3)
Signed-off-by: Ning Zhang <ning.zhang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When use "yocto-kernel config add" to add the same config many times,
all of these are list when use "yocto-kernel config list" to check.
This fix modify routine yocto_kernel_config_add, if the new added
components already exist in current configuration, just igore them.
Now, one config could only be added one time.
[YOCTO #4558]
(From meta-yocto rev: 655ccc5ed77b52fb62dab5f6cfdf3de39b1bf055)
Signed-off-by: Ning Zhang <ning.zhang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 93e0ae68d2c1827370f4f9e95c2f0b7f98ba2cb8)
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>
This was added quite a long time ago because of poor interactions
between HAL and the X server when it came to enabling input devices.
HAL is long gone and I think it's safe to say we don't need to disable
this any longer, especially as it gets in the way of being able to plug
in the keyboard/mouse after boot.
(From meta-yocto rev: e06ab1e030e8cfbc259500b1a0b958fe752fb872)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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;
(From OE-Core rev: a286514e2311f52b54d3571dbac6d34aff39e591)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: fa7fd7b1cbcfbd01af1949d2ea09b880a0ae0175)
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the user sees ugly errors if git isn't installed, this patch
cleans up the code to correctly handle that case.
(From OE-Core rev: aeb704fee8b4ffeaeddcdb36ae4e1d62c264ce42)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
/tmp is a better location, and it allows copying files
on read only fs images
(From OE-Core rev: e3561c1cae467a4fb79723f83dea54d9d62adf7d)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sometimes we need to change the timeout used by the function for
certain kinds of tests.
(From OE-Core rev: 21950ff5eb032fefc4753bd68af57f655d0c61f2)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some tests might want to pass extra arguments to runqemu.
I can think of "kvm" or qemuparams="-m 1024" when we want extra muscle.
(From OE-Core rev: 1a5446ca73736753d172c06dcb48858887c7a896)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
(From OE-Core rev: c19e5d19ae8e6e6eb9b37549d80765b8315f79a4)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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).
(From OE-Core rev: 1bd6fa9c81dea90f66641835a4c2ed6f2b7a239a)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
(From OE-Core rev: 95b7cafafcaa4dda7328632475003f5778ab95bd)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Don't check only for ext3 fstype, we can boot ext2 and ext4 just
as well.
(From OE-Core rev: 8fbf21365fbfab9e3cd36c4eab86fe03efa04e8e)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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].
(From OE-Core rev: 329edb52e9c23c0956b849a660accf39d44f9d9f)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: f1854e458e5e77806b1fc837033500fa91272261)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 2c5c6e3ffcd561c25a34603922b622449f677a34)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 582798f70bf350d2db6911eb8df333ada05f6484)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: cc1ed3c1940e4f64534b58de1b5fc6ef90362c9a)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some functions didn't used the same identation as the rest of them,
let's fix that.
(From OE-Core rev: a7af4541060f62b4019a100d57e0d082794f708b)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 7b43151bb073f1f6f1fa5a31447b742127060909)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With automounters abounding it makes more sense to attempt to unmount
the device rather than abort, just like ddimage does.
(From OE-Core rev: f522ff19ba4b80788d66a2c58ee50b86fdfea15f)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The distcc support is clearly unused and broken, might as well drop the
remaining code fragements.
(From OE-Core rev: 1a70a3225947aa45f3e1f377d50a5865aac64d2b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have recipes-* directories not a recipes directory; this is left over
from the old old layout (2010).
(From meta-yocto rev: 8adbbb4b688e60113f68d3974310774686551eff)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch is the same as 6c22c59137,
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.
(From OE-Core rev: 6719400533453d0df482ef6e7bb347491e8a3e2b)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 48e8b613b3f5c7b1d917bf3147606d44072ce49e)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 472dc52974f12c255d9e98e63e82736c7ca2c223)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 7429db6f38e405774ba66b3fa1bc3ac4b74ae6b9)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 161abcd3672f83990ede03d67b7388678c07150e)
Signed-off-by: Peter Kjellerstedt <pkj@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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].
(From OE-Core rev: 84a1c6922934a99e8afee0185e58dc4789b54a22)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 331118a253e26821011a31ca9087611ea58a18b8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The default branch for the qemu-based mips BSP template no longer
exists, so change to one that does.
(From meta-yocto rev: 5af614322269ee7c79928d1ff343f2e3bcf35509)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
arm-based qemu machines won't boot with the default 3.8 machine SRCREV
because it's missing the commit 'arm: add dummy swizzle for versatile
with qemu', so we need to use a SRCREV that has it merged.
(From meta-yocto rev: 176ec06589032b0b589da8345adfc87dddcb74f0)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A few small changes to the machine.conf from the previous version that
should be incorporated.
(From meta-yocto rev: 05a86a2e8d69b32243ab1915b279411d3d82235f)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For the qemu-based BSPs, use bsp metadata that's guaranteed to boot in
qemu.
(From meta-yocto rev: e274a2e66c26489a4da895194eb6e7a9c1476a73)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Pass the file object instead of the filename to replace_file for the
custom template, as now required by replace_file().
(From meta-yocto rev: 56091c019000cfe3d22ec464c596d97ae78fc619)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
replace_file needs to make sure the file it's replacing is closed
before replacing it, otherwise unexpected results may ensue.
Fixes [YOCTO #4145].
(From meta-yocto rev: 1339dbb690d51456b4474356992e430638469e47)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
RT support is now available in the linux-yocto-3.8 kernel, so we can
also add that as kernel option for users.
(From meta-yocto rev: 2e425b5c6c7e685e8a0e0c8cb2cf64040e454cad)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For the cases where a BSP reuses an existing branch, we still need the
KBRANCH in order to be able to specify an existing branch.
(From meta-yocto rev: 5a3167c4fa6cb53ec501e9de185b93748973ec18)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a new function to scp from the target, and another to fetch
/var/log/messages and dump it to the console.
(From OE-Core rev: f94cb0d175309ad6b29598c57ba74cf1c3646661)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 24e4a570eb527cff017386976296d5747c1adf57)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 6ee4a2ba6ee9633c1fa08d3b162d6d00da307798)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 78f91e08c8a7b0f0c831a087f7c89e2c76047e7a)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: fc914a6fb3204f8b5bdfc0f56364606673d5356a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* usefull for jenkins jobs, which will otherwise fail
because 1 was returned
(From OE-Core rev: a864de0f2a326f857125229fc986845044931196)
Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
(From OE-Core rev: abe7bf9992e298f1b53e790eee7b064a9e4e8589)
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 354377789628d96fa589cb5721134f631815cfeb)
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>
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.
(From OE-Core rev: 53071c6b569067f98c558ee667bb1a4be0d8f6db)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add another test to time bitbake -p with and without cache/ or tmp/cache.
(From OE-Core rev: 3ed59ee53ee7d87694670a7ba864165146b90a6b)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 16ea0d406a31e08071ce7d475221f0b158165405)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Append results from each run to a single file in order to keep a history.
Also do some cosmetic changes and fix some whitespace.
(From OE-Core rev: 9b99b4e9284071501859df5631e9019b3000ffe9)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: ee9538081a0bccfb7eb2888b1b51fe9b71c8cb81)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Possibility to customize the text that is presented to the user when
they execute the script.
(From OE-Core rev: 6ad06582621fc20d09d4d7fd78ea7e175367c187)
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>
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].
(From OE-Core rev: 2179db89436d719635f858c87d1e098696bead2a)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows error messages to be captured in the logs which is helpful.
(From OE-Core rev: 09a5fec50d622d338db5bd5516d29e4f4d0cec0d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 827106a57ca88760a19f9309d859b500c5c4fe97)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 7c2137a07cca8e1d40d3c8b4b2c6321d80f2b1de)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
mesa-dri has been renamed to mesa.
[YOCTO #3385]
(From meta-yocto rev: ba8d5b6dcb6fa4721e85b62f15713072cc0fa23f)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 049ea1e0a6a1017a5020de38bd7ce93515bd62f4)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: d031cdbf40231b8c103d78c69252bf9d584d0605)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 5b6a6a3872fd341cf978be40c69707223e3c29df)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
(From OE-Core rev: 960f0cbf85a4124adbc74d8b2ceb09a7d39ecc04)
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>
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
(From OE-Core rev: e5dbec7e7d3bb29676280823b0337ad429c75120)
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>
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.
(From OE-Core rev: f9970aa0a44aca8ffe6c7a6a3261887fb0db38d2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 98471be6e58451016200cfd10e64e8ae6266c801)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 753533b2f338ff2ef97eebd5eace7623404ae457)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 817a8dc6424050973d8fad4f003475ac83ea6bb5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: c0cecc16d4305b16ecfb4a51f6d5020d34909794)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove some pointless code and also fix the return handling
for the function since it returns null, not 0 as the comments
would suggest.
(From OE-Core rev: 6b8d7767ff14345af29d7774b7e16e29c3f7fa8e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 6a0134fd4f1b64ef788be0791bd655dc7703d505)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake handles immediate expansions of LAYERDIR for us automatically.
(From meta-yocto rev: ee59f1ec94ba8474876603dad1ab32d131227f49)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: b9e052ed6b604f0049bcfa968a57f15d6e3d6395)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The script was creating a FAT fs with EFI files in it, but wasn't setting the GPT GUID.
Using 'gummiboot install' natively failed because of the missing GPT GUID, so fix that. While we're there also set the name to "EFI System Partition".
(From OE-Core rev: 203ca80ee27948e2c68aab8ea48e51ff1c1157d5)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add the user-features.scc files needed by the new kernel feature
support in yocto-kernel.
(From meta-yocto rev: 0ef493fbbe412b6e30fc60b892ba6c2e5664307f)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a yocto-kernel command allowing users to destroy a recipe-space
kernel feature local to a particular BSP. The removed feature is
subsequently no longer available for the normal feature addition and
removal yocto-kernel commands.
(From meta-yocto rev: faa18f56d9412694f2c8e0b0c09e751cb7f3a743)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a yocto-kernel command allowing users to create a recipe-space
kernel feature local to a particular BSP. The new feature is
subsequently available for the normal feature addition and removal
yocto-kernel commands used with features defined in the meta branch of
linux-yocto kernel repos.
(From meta-yocto rev: 13abcd93b9e1591bc45ff5f9eb17b8feb9ac9ae5)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a yocto-kernel command allowing users to print the description and
compatibility of a given kernel feature.
(From meta-yocto rev: 73b4f1a8d156af6810cdde3af672d6286a7071e7)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a yocto-kernel command allowing users to list all the kernel
features available to a BSP. This includes the features contained in
linux-yocto meta branches as well as recipe-space features defined
locally to the BSP.
(From meta-yocto rev: 12f3af8d92456ad9212170decdbe102fc78b58f6)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add yocto-kernel commands allowing users to add, remove, and list
kernel features with respect to a given BSP.
Features managed by these commands modify a special
machine-user-features.scc file associated with the kernel recipe
(.bbappend) of a yocto-bsp-generated BSP. This is analagous to the
implementation of similar support for bare config items and patches
already implemented for yocto-bsp-generated BSPs.
Future patches will add support for providing a list of eligible
features as defined by linux-yocto kernels and locally-defined
(recipe-space) kernel features.
(From meta-yocto rev: ae68d906c5c9854f2cd7ee0870556fbfbd7d94d0)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Along with related changes.
(From meta-yocto rev: 6e93c881e2323b57f5b102db3b2b54220a06a1b6)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simplify by removing unnecessary KMACHINE/KBRANCH and SRC_URI items.
Also simplify machine-preempt-rt.scc
(From meta-yocto rev: b9973f7761b86e3d4571fe5582759e5405e1d7b4)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simplify machine-standard.scc for all the templates.
(From meta-yocto rev: ad0d944698a854a281d0beea1c87a0600e98ccbd)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simplify by removing unnecessary KMACHINE/KBRANCH and SRC_URI items.
(From meta-yocto rev: d1224846e5ff6c101bf50011d5d3314cbbd81f61)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>