mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 17:39:31 +00:00
177d463a8ae2e2fdffe1b3ad33d48c9f84c9d435
In commit a117fd5ecd,
from OE-Core rev: 88d60e70da0890184922056cef1f20171f716ace
"libdrm: Upgrade to 2.4.62" we managed to break X like this:
[3602662.736] (--) intel(0): Integrated Graphics Chipset: Intel(R) HD Graphics 4600
[3602662.736] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3, sse4.1, sse4.2, avx, avx2
[3602662.736] (II) intel(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/32
[3602662.736] (==) intel(0): Depth 24, (--) framebuffer bpp 32
[3602662.736] (==) intel(0): RGB weight 888
[3602662.736] (==) intel(0): Default visual is TrueColor
[3602662.736] (EE)
[3602662.736] (EE) Backtrace:
[3602662.736] (EE) 0: /usr/bin/X (xorg_backtrace+0x49) [0x56ae09]
[3602662.736] (EE) 1: /usr/bin/X (0x400000+0x16ecd9) [0x56ecd9]
[3602662.736] (EE) 2: /lib64/libpthread.so.0 (0x3330600000+0x105e0) [0x33306105e0]
[3602662.736] (EE)
[3602662.736] (EE) Segmentation fault at address 0x0
[3602662.736] (EE)
Fatal server error:
[3602662.736] (EE) Caught signal 11 (Segmentation fault). Server aborting
A mix of a ~1 month old (working) image and the failing image led me
to determine /usr/lib64/xorg/modules/drivers/intel_drv.so was bad.
However nothing changed the parent package xf86-video-intel in
yocto for months.
So brute force bisecting yocto leads to the above commit. Inserting
libdrm as git and then bisecting the 2.4.59 --> 2.4.62 uprev content
leads to libdrm commit 8576527cfacaf42af8316e1030c192193e94225a
("intel: Merge latest i915_drm.h") -- specifically, the part of that
commit that adds __u64 flags to drm_i915_gem_mmap lands in our sysroot
and is used by the compile of xf86-video-intel.
With the specific trigger finally pinpointed, the final leap was to
correlate that trigger to the upstream xf86-video-intel commit that
accounts for the fallout of this libdrm header change, that we did
not yet have here. Fun times. Hopefully this complete description
here will ensure nobody else has to retrace these steps again.
Cc: Damien Lespiau <damien.lespiau@intel.com>
Cc: Neil Roberts <neil@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Steffen Pankratz <steffen.pankratz@elektrobit.com>
Cc: Ross Burton <ross.burton@intel.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: c1df1da2a71aeb5956952e44c5f4ad669b6e770f)
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Poky
====
Poky is an integration of various components to form a complete prepackaged
build system and development environment. It features support for building
customised embedded device style images. There are reference demo images
featuring a X11/Matchbox/GTK themed UI called Sato. The system supports
cross-architecture application development using QEMU emulation and a
standalone toolchain and SDK with IDE integration.
Additional information on the specifics of hardware that Poky supports
is available in README.hardware. Further hardware support can easily be added
in the form of layers which extend the systems capabilities in a modular way.
As an integration layer Poky consists of several upstream projects such as
BitBake, OpenEmbedded-Core, Yocto documentation and various sources of information
e.g. for the hardware support. Poky is in turn a component of the Yocto Project.
The Yocto Project has extensive documentation about the system including a
reference manual which can be found at:
http://yoctoproject.org/documentation
OpenEmbedded-Core is a layer containing the core metadata for current versions
of OpenEmbedded. It is distro-less (can build a functional image with
DISTRO = "nodistro") and contains only emulated machine support.
For information about OpenEmbedded, see the OpenEmbedded website:
http://www.openembedded.org/
Where to Send Patches
=====================
As Poky is an integration repository (built using a tool called combo-layer),
patches against the various components should be sent to their respective
upstreams:
bitbake:
Git repository: http://git.openembedded.org/bitbake/
Mailing list: bitbake-devel@lists.openembedded.org
documentation:
Git repository: http://git.yoctoproject.org/cgit/cgit.cgi/yocto-docs/
Mailing list: yocto@yoctoproject.org
meta-yocto(-bsp):
Git repository: http://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto(-bsp)
Mailing list: poky@yoctoproject.org
Everything else should be sent to the OpenEmbedded Core mailing list. If in
doubt, check the oe-core git repository for the content you intend to modify.
Before sending, be sure the patches apply cleanly to the current oe-core git
repository.
Git repository: http://git.openembedded.org/openembedded-core/
Mailing list: openembedded-core@lists.openembedded.org
Note: The scripts directory should be treated with extra care as it is a mix of
oe-core and poky-specific files.
Description