<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/classes/kernel-devicetree.bbclass, branch yocto-4.0.24</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-4.0.24</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-4.0.24'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2023-06-02T02:24:08+00:00</updated>
<entry>
<title>kernel-devicetree: recursively search for dtbs</title>
<updated>2023-06-02T02:24:08+00:00</updated>
<author>
<name>Randolph Sapp</name>
<email>rs@ti.com</email>
</author>
<published>2023-05-26T23:36:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=1e6f147c686a91b9a5996f529e32ee1852f946b7'/>
<id>urn:sha1:1e6f147c686a91b9a5996f529e32ee1852f946b7</id>
<content type='text'>
Upstream's dtb directory structure has no real standard. They just tend
to idle around the 2/3 directory depth. Recursively search for the
dtb/dtbo files instead of assuming anything.

Fixes: 04ab57d200 (kernel-devicetree: allow specification of dtb
directory, 2023-05-02)

(From OE-Core rev: 717b9f18a51e9c9fd5a471238aa2ea4de439ef17)

Signed-off-by: Randolph Sapp &lt;rs@ti.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
</content>
</entry>
<entry>
<title>kernel-devicetree: make shell scripts posix compliant</title>
<updated>2023-06-02T02:24:07+00:00</updated>
<author>
<name>Martin Jansa</name>
<email>Martin.Jansa@gmail.com</email>
</author>
<published>2023-05-26T23:36:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b32d7da361b475fd7fec019a51fbf93e23a1d406'/>
<id>urn:sha1:b32d7da361b475fd7fec019a51fbf93e23a1d406</id>
<content type='text'>
Use the notation suggested by Martin Jansa to avoid a bashism. Also
switch KERNEL_DTBVENDORED to the more common 0/1 notation instead of
true/false.

Fixes: 04ab57d200 (kernel-devicetree: allow specification of dtb
directory, 2023-05-02)

(From OE-Core rev: b7d6fc07462e6fca09d0db7f43a62920250ef053)

Signed-off-by: Martin Jansa &lt;Martin.Jansa@gmail.com&gt;
Signed-off-by: Randolph Sapp &lt;rs@ti.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
</content>
</entry>
<entry>
<title>kernel-devicetree: allow specification of dtb directory</title>
<updated>2023-06-02T02:24:07+00:00</updated>
<author>
<name>Randolph Sapp</name>
<email>rs@ti.com</email>
</author>
<published>2023-05-26T23:36:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ab21fd0ec11adb6f6f30c3f4c4a38cdaa1ea4903'/>
<id>urn:sha1:ab21fd0ec11adb6f6f30c3f4c4a38cdaa1ea4903</id>
<content type='text'>
Fedora/Redhat and Arch are somewhat standardized on their dtb directory
structure. Let's add some flags to configure yocto to mimic that
behavior.

Add the following variables to the kernel class:
	- KERNEL_DTBDEST (controls the destination directory for dtbs)
	- KERNEL_DTBVENDORED (controls if vendor subdirectories are to
	  be respected)

Currently KERNEL_DTBDEST is expected to be a subdir of KERNEL_IMAGEDEST
and KERNEL_DTBVENDORED is expected to be "true"/"false". This only
applies to the package directory structure. The deploydir structure is
purposely left untouched for compatibility with existing recipes.

By default this is configured to behave the same as the current recipe
and produce a flat dtb directory at KERNEL_IMAGEDEST.

(From OE-Core rev: 77d6118e20751f68ad7104edec8f14dbb5ba6ec1)

Signed-off-by: Randolph Sapp &lt;rs@ti.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
</content>
</entry>
<entry>
<title>classes/kernel*: add variables to allow changing artifact extension</title>
<updated>2021-12-22T23:11:45+00:00</updated>
<author>
<name>Paul Eggleton</name>
<email>paul.eggleton@microsoft.com</email>
</author>
<published>2021-12-20T21:58:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=65e8df66d9579b609791deb74d8e1b9ec17c1115'/>
<id>urn:sha1:65e8df66d9579b609791deb74d8e1b9ec17c1115</id>
<content type='text'>
Allow .bin suffix to be removed (or changed) in the various artifact
filenames. Removing this extension is useful when trying to remove
symlinks and present only unversioned image files (especially for the
FIT image).

(From OE-Core rev: cbecc3cf06eb7359fedf3c6af281cc72178cad18)

Signed-off-by: Paul Eggleton &lt;paul.eggleton@microsoft.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>classes/kernel*: allow disabling symlink creation</title>
<updated>2021-12-22T23:11:45+00:00</updated>
<author>
<name>Paul Eggleton</name>
<email>paul.eggleton@microsoft.com</email>
</author>
<published>2021-12-20T21:58:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a2eb528b63b0c53daab31308a6afdcb605ac5f40'/>
<id>urn:sha1:a2eb528b63b0c53daab31308a6afdcb605ac5f40</id>
<content type='text'>
Allow setting any of the *_LINK_NAME variables to empty string in order
to disable creating symlinks for kernel artifacts, as you can already
for filesystem images with IMAGE_LINK_NAME. Additionally, for the image
type named symlinks, add a KERNEL_IMAGETYPE_SYMLINK boolean variable
which you can set to 0 to disable those symlinks as well.

(From OE-Core rev: d7341f1f22c32ff6cc95d7127f26f87d7fc9c6bd)

Signed-off-by: Paul Eggleton &lt;paul.eggleton@microsoft.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Convert to new override syntax</title>
<updated>2021-08-02T14:44:10+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-07-28T22:28:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=bb6ddc3691ab04162ec5fd69a2d5e7876713fd15'/>
<id>urn:sha1:bb6ddc3691ab04162ec5fd69a2d5e7876713fd15</id>
<content type='text'>
This is the result of automated script conversion:

scripts/contrib/convert-overrides.py &lt;oe-core directory&gt;

converting the metadata to use ":" as the override character instead of "_".

(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>kernel-devicetree: Fix interaction when packaging disabled</title>
<updated>2021-06-27T21:51:05+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-06-26T19:22:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=1d1afe6a2ba96b4a4b6322f45957debf0b0bb074'/>
<id>urn:sha1:1d1afe6a2ba96b4a4b6322f45957debf0b0bb074</id>
<content type='text'>
When packaging is disabled using the nopackages class, ensure we don't
add to PACKAGES. This fixes builds where we have an unpackaged kernel
alongside a packaged kernel.

(From OE-Core rev: d6b114cf5a9b22688c0b59a3afc46a07450d87b5)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>kernel-devicetree: Introduce KERNEL_DTC_FLAGS to pass dtc flags</title>
<updated>2021-01-12T17:44:17+00:00</updated>
<author>
<name>Ovidiu Panait</name>
<email>ovidiu.panait@windriver.com</email>
</author>
<published>2020-12-23T13:08:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ff036cbb77124867a6c6f97ca206b4fd3ee00c70'/>
<id>urn:sha1:ff036cbb77124867a6c6f97ca206b4fd3ee00c70</id>
<content type='text'>
Currently DTC_FLAGS kernel makefile parameter can be specified directly on the
command line by adding it to KERNEL_EXTRA_ARGS. However, this prevents
scripts/Makefile.lib logic from appending flags that silence dtc warnings (all
assignments done from within a makefile, to a variable specified on the command
line, are ignored).

Because of this, the do_compile log is cluttered with dtc warnings that should
only be printed when compiling with W="123":
...
/soc: node has a reg or ranges property, but no unit name
/soc/gpu: missing or empty reg/ranges property
/soc/firmware/gpio: missing or empty reg/ranges property
...

To fix this, introduce the dedicated KERNEL_DTC_FLAGS variable to hold
dtc flags and export DTC_FLAGS in the environment before generating the dtbs
(make allows "+=" operations on variables that come from the environment, so
the warnings are silenced properly).

(From OE-Core rev: 063b5de86624a42b0aa784db6dddc7552a6dee7f)

Signed-off-by: Ovidiu Panait &lt;ovidiu.panait@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>kernel-devicetree: Fix intermittent build failures caused by DTB builds</title>
<updated>2020-08-06T14:12:39+00:00</updated>
<author>
<name>Tyler Hicks</name>
<email>tyhicks@linux.microsoft.com</email>
</author>
<published>2020-08-05T16:56:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b148043e0e2b10fc300c806b596d70397071b286'/>
<id>urn:sha1:b148043e0e2b10fc300c806b596d70397071b286</id>
<content type='text'>
Fix a build-time race condition that resulted in intermittent build
failures in the do_assemble_fitimage task. The race condition involved
the do_assemble_fitimage task reading the vmlinux file while the
do_compile_kernelmodules task was re-writing the vmlinux file.

This can be seen with an aarch64 image build that uses a 5.4 based
kernel and sets KERNEL_DEVICETREE. The problem is that the do_compile
snippet that the kernel-devicetree class appends did not specify the
full kernel build environment when building the DTB(s) from the kernel
tree. This resulted in CONFIG_CC_CAN_LINK=y being removed from the
kernel config file just before the do_compile task completed. The
CONFIG_CC_CAN_LINK=y line was then re-inserted into the kernel config
file as part of the do_compile_kernelmodules task.

In some cases, this resulted in the do_compile_kernelmodules task to
re-link vmlinux which sometimes occured at the same time that the
do_assemble_fitimage task was attempting to use vmlinux. The
do_assemble_fitimage task would fail with the following error message:

 aarch64-poky-linux-objcopy:vmlinux: file format not recognized

We can use the pine-a64-lts machine, from the meta-pine64 layer, to show
that the kernel config file was changed between do_compile and
do_compile_kernelmodules:

 $ C=tmp/work/pine_a64_lts-poky-linux/linux-pine64/5.7+gitAUTOINC+ae03bade3b-r0/linux-pine_a64_lts-standard-build/.config
 $ bitbake -c do_kernel_configcheck virtual/kernel
 ...
 $ md5sum $C; grep CC_CAN_LINK $C
 32b133cf8a749a91f698a7ca8616c84f  ...
 CONFIG_CC_CAN_LINK=y

 $ bitbake -c do_compile virtual/kernel
 ...
 $ md5sum $C; grep CC_CAN_LINK $C
 2fd2ec2a66eecc329dcb5afaf005eada  ...

 $ bitbake -c do_compile_kernelmodules virtual/kernel
 ...
 $ md5sum $C; grep CC_CAN_LINK $C
 32b133cf8a749a91f698a7ca8616c84f  ...
 CONFIG_CC_CAN_LINK=y

With this change, the do_compile snippet appended by the
kernel-devicetree class does not modify the kernel config. The kernel
config is unchanged across the do_compile and do_compile_kernelmodules
tasks and do_compile_kernelmodules will not attempt to re-link vmlinux.

(From OE-Core rev: 74619de0277471f446bf7a719f4c445359c823f6)

Signed-off-by: Tyler Hicks &lt;tyhicks@linux.microsoft.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>kernel-devicetree: Cope with non-standard kernel deploy subdirectory</title>
<updated>2019-10-23T15:30:36+00:00</updated>
<author>
<name>Mike Crowe</name>
<email>mac@mcrowe.com</email>
</author>
<published>2019-10-21T14:38:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=dcf52753abcf494f70323140a5d276228e260c91'/>
<id>urn:sha1:dcf52753abcf494f70323140a5d276228e260c91</id>
<content type='text'>
kernel.bbclass installs non-standard kernels (where
KERNEL_PACKAGE_NAME is not "kernel") in a subdirectory of ${DEPLOYDIR}.
To achieve this kernel_do_deploy sets the deployDir shell variable to
${DEPLOYDIR} for the standard kernel or
${DEPLOYDIR}/${KERNEL_DEPLOYSUBDIR} for non-standard kernels.

kernel-devicetree.bbclass's do_deploy_append ought to do the same
and can do so by using the same shell variable.

(From OE-Core rev: db5752911fe085337b9d3d4af85f89a0c664388e)

Signed-off-by: Mike Crowe &lt;mac@mcrowe.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
