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. (From OE-Core rev: cd2ed7f80b555add07795cc0cbaee866e6c193a3) Signed-off-by: Florian Wickert <fw@javox-solutions.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
938d077ca5
commit
1ec405ef5d
|
@ -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@1";
|
||||
conf@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
|
||||
|
||||
|
|
Loading…
Reference in New Issue