We've seen cases where a ptest (strace) has a 43GB sparse file in the test
directory. busybox tar doesn't work well with this. The resulting 1.4GB archive
takes hours to extract too.
Ensure tar is added to our full images and use the sparse option to collect
files for debugging. This stops crazy build hangs.
Since tar is GPLv3, we have to exclude it from that test code. We don't boot
any of those images so the debug collection code is safe there, at least for now.
(From OE-Core rev: fefeb919696b6ac76f0997acfb0f612203ef7f1b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Any image that inherits qemuboot must also add image dependencies on
qemu-system-native and qemu-helper-native, otherwise the image won't
be able to be booted.
Currently this is done by conf/machine/include/qemu.inc, but not every
machine that uses qemuboot includes that file.
Move the EXTRA_IMAGEDEPENDS from qemu.inc into qemuboot.bbclass, so that
the dependencies don't have to be duplicated.
(From OE-Core rev: dd54cf058f632e985917ff227483995f368e6a7d)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The modesetting driver works well in qemu, so install it by default. The
plain framebuffer has been buggy in recent 6.4 kernels, a sign that it's
not getting much testing. The Xorg modesetting driver that can use more
powerful virtualised hardware is much better.
We override the default XSERVER because we want to pull in the GLX
extension to exercise that.
(From OE-Core rev: 7b5fc42488a514bf51d49ee5274731c6432efd1b)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It's assumed that not all OpenGL ES implementation are compliant with
the 3.x specification. Therefore an additional virtual providers is
created to explicit compatibility with OpenGL ES 3 specification.
Cc: Quentin Schulz <foss+yocto@0leil.net>
(From OE-Core rev: 405cd7a37988ced627fe6ad6fd3089c17f59367e)
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The populate_sysroot task isn't enough for qemu-helper-native, we need
it's addto_recipe_sysroot task. This corrects what amounts to bad
dependency information to be explicit.
(From OE-Core rev: 55623420208bc4c77a61492d2bbcbc71d3123acd)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is the result of automated script conversion:
scripts/contrib/convert-overrides.py <oe-core directory>
converting the metadata to use ":" as the override character instead of "_".
(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This looks like it was from before the recipe was split, we'd expect
the system qemu mode for running the images so the dependency should be
updated.
(From OE-Core rev: 3a4fed4ae0e8a0d1bd62ea5fa1ef12925e1f20f5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is beneficial for parted ptests in particular as they
make use of vfat, and fail otherwise.
(From OE-Core rev: ffbc6dc213abf96b816fc9dd87766c3a36935c2a)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently we have local.conf included before qemu.inc, and ${DISTRO}.conf
after qemu.inc. They both possibly specify their expected kernel providers.
To let other config files override it in real use, this commit changes
kernel provider assignment to ??= .
(From OE-Core rev: 07e06abeb6b7ae5047c4b70818cd8873302e4940)
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The kernel class now sets RDEPENDS_${KERNEL_PACKAGE_NAME}-base so this include
needs to do the same, otherwise bitbake emits a warning and the kernel isn't
removed.
(From OE-Core rev: a408236b6302273a5a45bcfe5eb3a8f2713ec3fa)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was included to allow hwrng to feed data to /dev/random. Since the
kernel does this itself (confirmed by the recent kernel Kconfig text change
, code inspection and local testing), we can drop rng-tools from these
images.
(From OE-Core rev: d4b17e841b497f0ee4d31a8c967b5ce1b76157e4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Don't install legacy X input drivers for any machines by default,
RRECOMMEND xf86-input-libinput instead.
This is the setup suggested by upstream: install only libinput by
default, but let niche legacy drivers sort higher in configuration
so they get chosen if installed. So the order is:
evdev < libinput < (synaptics|vmmouse|...)
This also removes vmmouse X driver from the qemu config. If a VMware
virtual mouse device really needs to be supported, we should enable
CONFIG_MOUSE_PS2_VMMOUSE in kernel instead: that is directly supported
by the libinput X driver.
Fixes [YOCTO #10195].
(From OE-Core rev: 2d005faff6341a81a2afae28860101ba9db51ae8)
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch adds rng-tools to MACHINE_EXTRA_RRECOMMENDS so that can be
used to provide the additional entropy to prevent hangs in getrandom()
for qemu images
[YOCTO #8681]
[YOCTO #8816]
(From OE-Core rev: cb512c0c189f5a1196da233042113a708243daa0)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* The Xorg server needs to load the GLX extension in order to
enable proper OpenGL support.
* Before this patch, glxinfo aborted with:
root@qemux86:~# glxinfo
name of display: :0.0
Error: couldn't find RGB GLX visual or fbconfig
* After this patch, it works as expected:
root@qemux86:~# glxinfo | grep " render"
direct rendering: Yes
OpenGL renderer string: Software Rasterizer
(From OE-Core rev: 8f33627684755899c5b1fd7eeefdd89c42e68fec)
Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no good reason not to use ext4 at this point, it has advantages
and few drawbacks. Therefore switch the qemu machines over (and the default
runqemu script options).
(From OE-Core rev: 430b9ae71b1aa76f8421127d17e0e0723d4818d3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The base_contains is kept as a compatibility method and we ought to
not use it in OE-Core so we can remove it from base metadata in
future.
(From OE-Core rev: d83b16dbf0862be387f84228710cb165c6d2b03b)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
QEMU machines don't have virtual IrDA or PCMCIA hardware, so don't claim to
support them.
(From OE-Core rev: 694ca965eea971077e135cda4e54fa1cb0243233)
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>
As Mesa refuses to compile if the "opengl" DISTRO_FEATURE isn't enabled,
mesa-driver-swrast has to be conditional in the QEMU machine defintions too.
(From OE-Core rev: 9951e1da6a755f9a46d3a595aa4c2f975aee8f46)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
APM is not only obsolete, but requires a kernel config enabled and is meaningless for QEMU VM
[YOCTO #5121]
(From OE-Core rev: b0f8c47b1e808421f03308527beb8bde15644acd)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the current releases, not all linux-yocto derived kernels have NFS
support, or NFS support fragments availble. To ensure that derived
kernels like linux-yocto-cutom continue to work against poky-lsb,
we can make the KERNEL_FEATURE append more specific to the linux-yocto
recipe.
(From OE-Core rev: 799f53e8844748a930a9cbc7a4cf1056f19bb037)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This will ensure that qemu images that include the nfs-server package have the kernel
feature correctly enabled
(From OE-Core rev: 57c718c6288f2a2538173cdd3d401d70f939a40a)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
OVERRIDES reads from left to right, least to most specific. We were
appending to MACHINEOVERRIDES when we should have been prepending so
the ordering of qemuall verses qemuxxx was incorrect, as was the x86
override and several of the arm overrides. This patch is a batch cleanup
of the various issues to correct the order from least to most specific.
The include order does matter and we needed to tweak some of that in this
patch too.
[YOCTO #4090]
(From OE-Core rev: bdc1b214431c9c93a929b547b9a61e7b87fbd366)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rename mesa-dri recipes to just mesa. Also, replace all references to
mesa-dri in all recipes/configs.
The reason for this renaming (quote from bugzilla):
"mesa-dri is a artefact of mesa-xlib existing, which doesn't anymore.
mesa-dri should be renamed to mesa."
[YOCTO #3385]
(From OE-Core rev: c8bbb9983bcc7cfc5332e89c3e8148505b4ca83f)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This variable is set but never used in OE-core and meta-oe. It
was historically used for the Opie collection but seems to be
unused now.
(From OE-Core rev: 323ef78e377525e2214f4700c30305c493137853)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nothing appears to use this anymore, and it's been a very long time since there
was anyone expressing an interest in the alternatives.
(From OE-Core rev: f6f289c13b9da9c2793d1fd30456216db8afad64)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is needed to to boot efl images on qemuarm,qemumips and qemuppc
these options were already defined for qemux86 and qemux86-64 and
therefore the images were booting fine for these two machines
(From OE-Core rev: 60e73068cf542c2134106fe6cfc5971874bbc766)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add override ability to qemu to allow qemu specific
configurations for any qemu machine.
(From OE-Core rev: 4ee668a558e5d4a6d14e29c9fe88b8bb642a16a9)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The xserver-xorg uses and depends on mesa-dri, so we should
use the default PREFERRED_PROVIDER of libgl as mesa-dri.
This resolves the following:
ERROR: Multiple .bb files are due to be built which each provide virtual/libgl (/intel/poky/distro/meta/recipes-graphics/mesa/mesa-dri_7.11.bb /intel/poky/distro/meta/recipes-graphics/mesa/mesa-xlib_7.11.bb).
This usually means one provides something the other doesn't and should.
(From OE-Core rev: cf8b4b95c6d84c097f4fc63662f181a59e0f9cb9)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For qemux86 and qemux86-64 include qemu.inc after defining XSERVER
XSERVER variable is also weakly defined in task-core-x11.bb
which means we can not use ??= otherwise when building any qemu image
that uses task-core-x11.bb will get the wrong definition
So we define the XSERVER common set for qemu in qemu.inc
and as we know x86 and x86-64 qemu overrides the default
we include qemu.inc after that definition which means that
qemux86 and qemux86-64 get their own definitions and other
qemus get the definitions from qemu.inc. other non-qemu machine
will get their defintion from task which points to kdrive
as of now.
(From OE-Core rev: 62dba36166bc5faa32ba3e0664ae98b168cde6b1)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Still need mesa-xlib for emulation of GLX interface on qemuarm/mips/ppc, where
mesa-dri doesn't work for pure qemu emulator.
[YOCTO #2066] fixed.
(From OE-Core rev: 22775b5f1d9c6d9860a579245bf7a48a982ab62f)
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no reason to continue to carry this feature
(From OE-Core rev: f1193e077d187b9ce18ae0686b1a1f0f9832036d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Machines shouldn't be poking around PREFERRED_PROVIDERS which aren't
machine specific or at least machine safe. Kernels are machine specific
and the xserver is selectable. libx11 and mesa are now really a distro choice
and machine configurations shouldn't be poking around them as it just leads
to corruption, conflicts and confusion.
(From OE-Core rev: 97a57aca12437c24b628071bb189c9f3b94e27ca)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The explicit setting of version preference to 2.6.37 is
no longer required. All of the qemu targets have been built
and boot tested on 3.0.1 for core-image-minimal and core-image-sato
and are safe for wider build/boot testing.
(From OE-Core rev: 14831b6ba26a6e43a1771a8516d0af145006c504)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The introduction of the linux-yocto-3.0 kernel is taking
precedence over the known working 2.6.37 version. Forcing
2.6.37 until 3.0 is validated on the qemu machines.
(From OE-Core rev: 77a41ab5ca92606ee08f002a8dfc631f642a3179)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The ext3 format is pretty much mandatory for qemu usage, so always create it.
(From OE-Core rev: 94da548810eece652bd32fb68a36f978b7d7cf2a)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This basic cleanup removes the _ext2/3 overrides from places they
no longer belong since they did not allow further overrides. In doing
this the core-image-minimal* recipes can now set a reasonably small
rootfs so that it's a realistic size for minimal.
The new default for minimal is 8M and will be adujsted upward by the
IMAGE_OVERHEAD_FACTOR (default of 1.3).
This also fixes the ROOTFS_SIZE usage in the IMAGE_CMD_<fstype> code
(From OE-Core rev: d3f6e1e6106ab539e73c19037915b2e4a5f2efa9)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Things like 'distcc' and 'bash' are not essential to booting a qemu machine.
(From OE-Core rev: 65f1109faf9548c5d083089561d5b9d99dbacc83)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The linux-yocto-rt kernel has been boot tested on qemux86-64. Unlock
the preferred provider for virtual/kernel so it can be selected and
used.
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
As the yocto-kernel advances, the libc headers must also
advance. This commit fixes the SRC_URI and SRCPV to work
properly with the latest linux-yocto kernel. It also switches
the qemu* targets to prefer this libc recipe.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
In order to extend and create more kernel recipes based on the
supported yocto kernel common routines need to be placed in
re-usable blocks.
To accomplish this meta/recipes-kernel/linux/linux-yocto_git.bb
is broken into three parts:
- meta/classes/kernel-yocto.bbclass: contains common routines
for checking out and configuring a yocto kernel git repository.
This should be inherited by recipes that need this functionality.
- meta/recipes-kernel/linux/linux-yocto.inc: Contains the machine
mappings, compatibility, build directives and common task
definitions for a yocto kernel based recipe. This inherits
kernel-yocto, and is the typical point of entry for other recipes.
- meta/recipes-kernel/linux/linuux-tools.inc: tasks and function definitions
for kernel recipes that want to build/export perf
It also updates the linux-yocto recipe to default to 2.6.37.
As part of the update to 2.6.37 the branch naming and conventions
have been modified to show inheritance, and be more generic.
For example:
master
meta
yocto/base
yocto/standard/arm_versatile_926ejs
yocto/standard/base
yocto/standard/beagleboard
yocto/standard/common_pc/atom-pc
yocto/standard/common_pc/base
yocto/standard/common_pc_64
yocto/standard/fsl-mpc8315e-rdb
yocto/standard/intel_atom_z530
yocto/standard/intel_core_qm57_pch
yocto/standard/mti_malta32_be
yocto/standard/preempt_rt/base
yocto/standard/preempt_rt/common_pc
yocto/standard/preempt_rt/common_pc_64
yocto/standard/preempt_rt/intel_atom_z530
yocto/standard/preempt_rt/intel_core_qm57_pch
yocto/standard/qemu_ppc32
yocto/standard/routerstationpro
In this structure:
master: tracks the mainline kernel
meta: meta information for the BSPs and kernel features
yocto/base: baseline kernel branch
yocto/standard/base: 'standard' kernel, contains features
and configs for all BSPs
yocto/standard/<machine>: represents a BSP with specific
features or configurations
The tools, tree and libc-headers have all been updated to
deal with this new structure. Also in addition to dealing with
the new structure, they continue to work with the existing
tree and will adapt at runtime to the differences.
The linux-yocto-stable_git.bb recipe continues to build the
2.6.34 based tree,and linux-yocto_git.bb builds 2.6.37. As
boards are enabled for the new kernel they will move from
-stable to the development kernel. As of now, only the
emulated targets have moved to 2.6.37-rcX
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
The existing preferred yocto kernel wasn't named appropriately
and needs to be updated.
In keeping the changes small and isolated, this commit simply
renames the recipe and some internal variables. Future commits
will refactor the code into more usable blocks.
Now that linuy-wrs has been renamed linux-yocto, we need
to rename and update an board configurations and append
files.
Now that linux-wrs has been renamed linux-yocto, we need to
update the SRCREVs to have the new name.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>