[oe-commits] [openembedded-core] 29/64: kernel-fitimage: dtb sections named by their filenames and one config section for each dtb
git at git.openembedded.org
git at git.openembedded.org
Tue Mar 21 21:12:04 UTC 2017
This is an automated email from the git hooks/post-receive script.
rpurdie pushed a commit to branch master-next
in repository openembedded-core.
commit cd79fae4765b053ee726f1abdb063bbf18568232
Author: Florian Wickert <fw at javox-solutions.com>
AuthorDate: Fri Mar 17 16:33:03 2017 +0100
kernel-fitimage: dtb sections named by their filenames and one config section for each dtb
Before this, dtb sections were named by their position index in KERNEL_DEVICETREE. Also there was only one item in the config section, so only the first dtb was seen by the bootloader.
This patch adds a config section for each dtb named by the dtb filename. This is what bootloaders usually know about the machine they run on.
Signed-off-by: Florian Wickert <fw at javox-solutions.com>
Signed-off-by: Ross Burton <ross.burton at intel.com>
---
meta/classes/kernel-fitimage.bbclass | 28 +++++++++++++++++++++-------
1 file changed, 21 insertions(+), 7 deletions(-)
diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass
index f9702f8..2d344b5 100644
--- a/meta/classes/kernel-fitimage.bbclass
+++ b/meta/classes/kernel-fitimage.bbclass
@@ -229,9 +229,10 @@ EOF
#
# $1 ... .its filename
# $2 ... Linux kernel ID
-# $3 ... DTB image ID
+# $3 ... DTB image name
# $4 ... ramdisk ID
# $5 ... config ID
+# $6 ... default flag
fitimage_emit_section_config() {
conf_csum="sha1"
@@ -244,6 +245,8 @@ fitimage_emit_section_config() {
kernel_line="kernel = \"kernel@${2}\";"
fdt_line=""
ramdisk_line=""
+ setup_line=""
+ default_line=""
if [ -n "${3}" ]; then
conf_desc="${conf_desc}, FDT blob"
@@ -260,10 +263,14 @@ fitimage_emit_section_config() {
setup_line="setup = \"setup@${5}\";"
fi
+ if [ "${6}" = "1" ]; then
+ default_line="default = \"conf@${3}\";"
+ fi
+
cat << EOF >> ${1}
- default = "conf at 1";
- conf at 1 {
- description = "${conf_desc}";
+ ${default_line}
+ conf@${3} {
+ description = "${6} ${conf_desc}";
${kernel_line}
${fdt_line}
${ramdisk_line}
@@ -314,6 +321,7 @@ EOF
fitimage_assemble() {
kernelcount=1
dtbcount=""
+ DTBS=""
ramdiskcount=${3}
setupcount=""
rm -f ${1} arch/${ARCH}/boot/${2}
@@ -343,8 +351,8 @@ fitimage_assemble() {
DTB_PATH="arch/${ARCH}/boot/${DTB}"
fi
- fitimage_emit_section_dtb ${1} ${dtbcount} ${DTB_PATH}
- dtbcount=`expr ${dtbcount} + 1`
+ DTBS="${DTBS} ${DTB}"
+ fitimage_emit_section_dtb ${1} ${DTB} ${DTB_PATH}
done
fi
@@ -384,7 +392,13 @@ fitimage_assemble() {
#
fitimage_emit_section_maint ${1} confstart
- fitimage_emit_section_config ${1} "${kernelcount}" "${dtbcount}" "${ramdiskcount}" "${setupcount}"
+ if test -n "${DTBS}"; then
+ i=1
+ for DTB in ${DTBS}; do
+ fitimage_emit_section_config ${1} "${kernelcount}" "${DTB}" "${ramdiskcount}" "${setupcount}" "`expr ${i} = ${dtbcount}`"
+ i=`expr ${i} + 1`
+ done
+ fi
fitimage_emit_section_maint ${1} sectend
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Openembedded-commits
mailing list