Message ID | 20220706111028.149100-1-liu.ming50@gmail.com |
---|---|
State | New |
Headers | show |
Series | meta: introduce UBOOT_MKIMAGE_KERNEL_TYPE | expand |
Hello, On 06/07/2022 13:10:28+0200, Ming Liu wrote: > From: Ming Liu <liu.ming50@gmail.com> > > Sometimes an end user might want to choose another kernel type argument > for uboot-mkimage other than "kernel", for instance: "kernel_noload". > > Let's introduce a variable UBOOT_MKIMAGE_KERNEL_TYPE to support that, > and it could be used by BSP layers as well. > > Signed-off-by: Ming Liu <liu.ming50@gmail.com> > --- > meta/classes/kernel-fitimage.bbclass | 2 +- > meta/classes/kernel-uboot.bbclass | 3 +++ > meta/classes/kernel-uimage.bbclass | 2 +- > meta/lib/oeqa/selftest/cases/fitimage.py | 3 ++- > 4 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass > index 7e09b075ff..2112ae4cfa 100644 > --- a/meta/classes/kernel-fitimage.bbclass > +++ b/meta/classes/kernel-fitimage.bbclass > @@ -148,7 +148,7 @@ fitimage_emit_section_kernel() { > kernel-$2 { > description = "Linux kernel"; > data = /incbin/("$3"); > - type = "kernel"; > + type = "${UBOOT_MKIMAGE_KERNEL_TYPE}"; > arch = "${UBOOT_ARCH}"; > os = "linux"; > compression = "$4"; > diff --git a/meta/classes/kernel-uboot.bbclass b/meta/classes/kernel-uboot.bbclass > index 2facade818..1bc98e042d 100644 > --- a/meta/classes/kernel-uboot.bbclass > +++ b/meta/classes/kernel-uboot.bbclass > @@ -2,6 +2,9 @@ > FIT_KERNEL_COMP_ALG ?= "gzip" > FIT_KERNEL_COMP_ALG_EXTENSION ?= ".gz" > > +# Kernel image type passed to mkimage (i.e. kernel kernel_noload...) > +UBOOT_MKIMAGE_KERNEL_TYPE ?= "kernel" > + > uboot_prep_kimage() { > if [ -e arch/${ARCH}/boot/compressed/vmlinux ]; then > vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux" > diff --git a/meta/classes/kernel-uimage.bbclass b/meta/classes/kernel-uimage.bbclass > index cedb4fa070..e116bf0265 100644 > --- a/meta/classes/kernel-uimage.bbclass > +++ b/meta/classes/kernel-uimage.bbclass > @@ -30,6 +30,6 @@ do_uboot_mkimage() { > awk '$3=="${UBOOT_ENTRYSYMBOL}" {print "0x"$1;exit}'` > fi > > - uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C "${linux_comp}" -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${B}/arch/${ARCH}/boot/uImage > + uboot-mkimage -A ${UBOOT_ARCH} -O ${UBOOT_MKIMAGE_KERNEL_TYPE} -T kernel -C "${linux_comp}" -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${B}/arch/${ARCH}/boot/uImage I feel like you replace the wrong argument here. > rm -f linux.bin > } > diff --git a/meta/lib/oeqa/selftest/cases/fitimage.py b/meta/lib/oeqa/selftest/cases/fitimage.py > index e6bfd1257e..7e6479c9ca 100644 > --- a/meta/lib/oeqa/selftest/cases/fitimage.py > +++ b/meta/lib/oeqa/selftest/cases/fitimage.py > @@ -763,6 +763,7 @@ FIT_HASH_ALG = "sha256" > > kernel_load = str(get_bb_var('UBOOT_LOADADDRESS')) > kernel_entry = str(get_bb_var('UBOOT_ENTRYPOINT')) > + kernel_type = str(get_bb_var('UBOOT_MKIMAGE_KERNEL_TYPE')) > kernel_compression = str(get_bb_var('FIT_KERNEL_COMP_ALG')) > uboot_arch = str(get_bb_var('UBOOT_ARCH')) > fit_hash_alg = str(get_bb_var('FIT_HASH_ALG')) > @@ -775,7 +776,7 @@ FIT_HASH_ALG = "sha256" > 'kernel-1 {', > 'description = "Linux kernel";', > 'data = /incbin/("linux.bin");', > - 'type = "kernel";', > + 'type = "' + kernel_type + '";', > 'arch = "' + uboot_arch + '";', > 'os = "linux";', > 'compression = "' + kernel_compression + '";', > -- > 2.25.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#167719): https://lists.openembedded.org/g/openembedded-core/message/167719 > Mute This Topic: https://lists.openembedded.org/mt/92204115/3617179 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Hi, Alexandre: Thanks for the review, I did not quite follow you, you meant the 'type' argument being replaced wrongly? I dont see how. Could you share some details about your comment? //Ming Liu Alexandre Belloni <alexandre.belloni@bootlin.com> 於 2022年7月6日 週三 下午4:06寫道: > Hello, > > On 06/07/2022 13:10:28+0200, Ming Liu wrote: > > From: Ming Liu <liu.ming50@gmail.com> > > > > Sometimes an end user might want to choose another kernel type argument > > for uboot-mkimage other than "kernel", for instance: "kernel_noload". > > > > Let's introduce a variable UBOOT_MKIMAGE_KERNEL_TYPE to support that, > > and it could be used by BSP layers as well. > > > > Signed-off-by: Ming Liu <liu.ming50@gmail.com> > > --- > > meta/classes/kernel-fitimage.bbclass | 2 +- > > meta/classes/kernel-uboot.bbclass | 3 +++ > > meta/classes/kernel-uimage.bbclass | 2 +- > > meta/lib/oeqa/selftest/cases/fitimage.py | 3 ++- > > 4 files changed, 7 insertions(+), 3 deletions(-) > > > > diff --git a/meta/classes/kernel-fitimage.bbclass > b/meta/classes/kernel-fitimage.bbclass > > index 7e09b075ff..2112ae4cfa 100644 > > --- a/meta/classes/kernel-fitimage.bbclass > > +++ b/meta/classes/kernel-fitimage.bbclass > > @@ -148,7 +148,7 @@ fitimage_emit_section_kernel() { > > kernel-$2 { > > description = "Linux kernel"; > > data = /incbin/("$3"); > > - type = "kernel"; > > + type = "${UBOOT_MKIMAGE_KERNEL_TYPE}"; > > arch = "${UBOOT_ARCH}"; > > os = "linux"; > > compression = "$4"; > > diff --git a/meta/classes/kernel-uboot.bbclass > b/meta/classes/kernel-uboot.bbclass > > index 2facade818..1bc98e042d 100644 > > --- a/meta/classes/kernel-uboot.bbclass > > +++ b/meta/classes/kernel-uboot.bbclass > > @@ -2,6 +2,9 @@ > > FIT_KERNEL_COMP_ALG ?= "gzip" > > FIT_KERNEL_COMP_ALG_EXTENSION ?= ".gz" > > > > +# Kernel image type passed to mkimage (i.e. kernel kernel_noload...) > > +UBOOT_MKIMAGE_KERNEL_TYPE ?= "kernel" > > + > > uboot_prep_kimage() { > > if [ -e arch/${ARCH}/boot/compressed/vmlinux ]; then > > vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux" > > diff --git a/meta/classes/kernel-uimage.bbclass > b/meta/classes/kernel-uimage.bbclass > > index cedb4fa070..e116bf0265 100644 > > --- a/meta/classes/kernel-uimage.bbclass > > +++ b/meta/classes/kernel-uimage.bbclass > > @@ -30,6 +30,6 @@ do_uboot_mkimage() { > > awk '$3=="${UBOOT_ENTRYSYMBOL}" {print > "0x"$1;exit}'` > > fi > > > > - uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C > "${linux_comp}" -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n > "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${B}/arch/${ARCH}/boot/uImage > > + uboot-mkimage -A ${UBOOT_ARCH} -O ${UBOOT_MKIMAGE_KERNEL_TYPE} -T > kernel -C "${linux_comp}" -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n > "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${B}/arch/${ARCH}/boot/uImage > > I feel like you replace the wrong argument here. > > > rm -f linux.bin > > } > > diff --git a/meta/lib/oeqa/selftest/cases/fitimage.py > b/meta/lib/oeqa/selftest/cases/fitimage.py > > index e6bfd1257e..7e6479c9ca 100644 > > --- a/meta/lib/oeqa/selftest/cases/fitimage.py > > +++ b/meta/lib/oeqa/selftest/cases/fitimage.py > > @@ -763,6 +763,7 @@ FIT_HASH_ALG = "sha256" > > > > kernel_load = str(get_bb_var('UBOOT_LOADADDRESS')) > > kernel_entry = str(get_bb_var('UBOOT_ENTRYPOINT')) > > + kernel_type = str(get_bb_var('UBOOT_MKIMAGE_KERNEL_TYPE')) > > kernel_compression = str(get_bb_var('FIT_KERNEL_COMP_ALG')) > > uboot_arch = str(get_bb_var('UBOOT_ARCH')) > > fit_hash_alg = str(get_bb_var('FIT_HASH_ALG')) > > @@ -775,7 +776,7 @@ FIT_HASH_ALG = "sha256" > > 'kernel-1 {', > > 'description = "Linux kernel";', > > 'data = /incbin/("linux.bin");', > > - 'type = "kernel";', > > + 'type = "' + kernel_type + '";', > > 'arch = "' + uboot_arch + '";', > > 'os = "linux";', > > 'compression = "' + kernel_compression + '";', > > -- > > 2.25.1 > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#167719): > https://lists.openembedded.org/g/openembedded-core/message/167719 > > Mute This Topic: https://lists.openembedded.org/mt/92204115/3617179 > > Group Owner: openembedded-core+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > alexandre.belloni@bootlin.com] > > -=-=-=-=-=-=-=-=-=-=-=- > > > > > -- > Alexandre Belloni, co-owner and COO, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com >
On 07/07/2022 11:53:19+0200, Ming Liu wrote: > Hi, Alexandre: > > Thanks for the review, I did not quite follow you, you meant the 'type' > argument being replaced wrongly? I dont see how. Could you share some > details about your comment? > See below... > //Ming Liu > > Alexandre Belloni <alexandre.belloni@bootlin.com> 於 2022年7月6日 週三 下午4:06寫道: > > > Hello, > > > > On 06/07/2022 13:10:28+0200, Ming Liu wrote: > > > From: Ming Liu <liu.ming50@gmail.com> > > > > > > Sometimes an end user might want to choose another kernel type argument > > > for uboot-mkimage other than "kernel", for instance: "kernel_noload". > > > > > > Let's introduce a variable UBOOT_MKIMAGE_KERNEL_TYPE to support that, > > > and it could be used by BSP layers as well. > > > > > > Signed-off-by: Ming Liu <liu.ming50@gmail.com> > > > --- > > > meta/classes/kernel-fitimage.bbclass | 2 +- > > > meta/classes/kernel-uboot.bbclass | 3 +++ > > > meta/classes/kernel-uimage.bbclass | 2 +- > > > meta/lib/oeqa/selftest/cases/fitimage.py | 3 ++- > > > 4 files changed, 7 insertions(+), 3 deletions(-) > > > > > > diff --git a/meta/classes/kernel-fitimage.bbclass > > b/meta/classes/kernel-fitimage.bbclass > > > index 7e09b075ff..2112ae4cfa 100644 > > > --- a/meta/classes/kernel-fitimage.bbclass > > > +++ b/meta/classes/kernel-fitimage.bbclass > > > @@ -148,7 +148,7 @@ fitimage_emit_section_kernel() { > > > kernel-$2 { > > > description = "Linux kernel"; > > > data = /incbin/("$3"); > > > - type = "kernel"; > > > + type = "${UBOOT_MKIMAGE_KERNEL_TYPE}"; > > > arch = "${UBOOT_ARCH}"; > > > os = "linux"; > > > compression = "$4"; > > > diff --git a/meta/classes/kernel-uboot.bbclass > > b/meta/classes/kernel-uboot.bbclass > > > index 2facade818..1bc98e042d 100644 > > > --- a/meta/classes/kernel-uboot.bbclass > > > +++ b/meta/classes/kernel-uboot.bbclass > > > @@ -2,6 +2,9 @@ > > > FIT_KERNEL_COMP_ALG ?= "gzip" > > > FIT_KERNEL_COMP_ALG_EXTENSION ?= ".gz" > > > > > > +# Kernel image type passed to mkimage (i.e. kernel kernel_noload...) > > > +UBOOT_MKIMAGE_KERNEL_TYPE ?= "kernel" > > > + > > > uboot_prep_kimage() { > > > if [ -e arch/${ARCH}/boot/compressed/vmlinux ]; then > > > vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux" > > > diff --git a/meta/classes/kernel-uimage.bbclass > > b/meta/classes/kernel-uimage.bbclass > > > index cedb4fa070..e116bf0265 100644 > > > --- a/meta/classes/kernel-uimage.bbclass > > > +++ b/meta/classes/kernel-uimage.bbclass > > > @@ -30,6 +30,6 @@ do_uboot_mkimage() { > > > awk '$3=="${UBOOT_ENTRYSYMBOL}" {print > > "0x"$1;exit}'` > > > fi > > > > > > - uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C > > "${linux_comp}" -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n > > "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${B}/arch/${ARCH}/boot/uImage > > > + uboot-mkimage -A ${UBOOT_ARCH} -O ${UBOOT_MKIMAGE_KERNEL_TYPE} -T > > kernel -C "${linux_comp}" -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n > > "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${B}/arch/${ARCH}/boot/uImage > > > > I feel like you replace the wrong argument here. You replace 6O linux by -O ${UBOOT_MKIMAGE_KERNEL_TYPE} while your commit message suggests you want to replace -T kernel. > > > > > rm -f linux.bin > > > } > > > diff --git a/meta/lib/oeqa/selftest/cases/fitimage.py > > b/meta/lib/oeqa/selftest/cases/fitimage.py > > > index e6bfd1257e..7e6479c9ca 100644 > > > --- a/meta/lib/oeqa/selftest/cases/fitimage.py > > > +++ b/meta/lib/oeqa/selftest/cases/fitimage.py > > > @@ -763,6 +763,7 @@ FIT_HASH_ALG = "sha256" > > > > > > kernel_load = str(get_bb_var('UBOOT_LOADADDRESS')) > > > kernel_entry = str(get_bb_var('UBOOT_ENTRYPOINT')) > > > + kernel_type = str(get_bb_var('UBOOT_MKIMAGE_KERNEL_TYPE')) > > > kernel_compression = str(get_bb_var('FIT_KERNEL_COMP_ALG')) > > > uboot_arch = str(get_bb_var('UBOOT_ARCH')) > > > fit_hash_alg = str(get_bb_var('FIT_HASH_ALG')) > > > @@ -775,7 +776,7 @@ FIT_HASH_ALG = "sha256" > > > 'kernel-1 {', > > > 'description = "Linux kernel";', > > > 'data = /incbin/("linux.bin");', > > > - 'type = "kernel";', > > > + 'type = "' + kernel_type + '";', > > > 'arch = "' + uboot_arch + '";', > > > 'os = "linux";', > > > 'compression = "' + kernel_compression + '";', > > > -- > > > 2.25.1 > > > > > > > > > > > > > > > > > > > > -- > > Alexandre Belloni, co-owner and COO, Bootlin > > Embedded Linux and Kernel engineering > > https://bootlin.com > >
diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass index 7e09b075ff..2112ae4cfa 100644 --- a/meta/classes/kernel-fitimage.bbclass +++ b/meta/classes/kernel-fitimage.bbclass @@ -148,7 +148,7 @@ fitimage_emit_section_kernel() { kernel-$2 { description = "Linux kernel"; data = /incbin/("$3"); - type = "kernel"; + type = "${UBOOT_MKIMAGE_KERNEL_TYPE}"; arch = "${UBOOT_ARCH}"; os = "linux"; compression = "$4"; diff --git a/meta/classes/kernel-uboot.bbclass b/meta/classes/kernel-uboot.bbclass index 2facade818..1bc98e042d 100644 --- a/meta/classes/kernel-uboot.bbclass +++ b/meta/classes/kernel-uboot.bbclass @@ -2,6 +2,9 @@ FIT_KERNEL_COMP_ALG ?= "gzip" FIT_KERNEL_COMP_ALG_EXTENSION ?= ".gz" +# Kernel image type passed to mkimage (i.e. kernel kernel_noload...) +UBOOT_MKIMAGE_KERNEL_TYPE ?= "kernel" + uboot_prep_kimage() { if [ -e arch/${ARCH}/boot/compressed/vmlinux ]; then vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux" diff --git a/meta/classes/kernel-uimage.bbclass b/meta/classes/kernel-uimage.bbclass index cedb4fa070..e116bf0265 100644 --- a/meta/classes/kernel-uimage.bbclass +++ b/meta/classes/kernel-uimage.bbclass @@ -30,6 +30,6 @@ do_uboot_mkimage() { awk '$3=="${UBOOT_ENTRYSYMBOL}" {print "0x"$1;exit}'` fi - uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C "${linux_comp}" -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${B}/arch/${ARCH}/boot/uImage + uboot-mkimage -A ${UBOOT_ARCH} -O ${UBOOT_MKIMAGE_KERNEL_TYPE} -T kernel -C "${linux_comp}" -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${B}/arch/${ARCH}/boot/uImage rm -f linux.bin } diff --git a/meta/lib/oeqa/selftest/cases/fitimage.py b/meta/lib/oeqa/selftest/cases/fitimage.py index e6bfd1257e..7e6479c9ca 100644 --- a/meta/lib/oeqa/selftest/cases/fitimage.py +++ b/meta/lib/oeqa/selftest/cases/fitimage.py @@ -763,6 +763,7 @@ FIT_HASH_ALG = "sha256" kernel_load = str(get_bb_var('UBOOT_LOADADDRESS')) kernel_entry = str(get_bb_var('UBOOT_ENTRYPOINT')) + kernel_type = str(get_bb_var('UBOOT_MKIMAGE_KERNEL_TYPE')) kernel_compression = str(get_bb_var('FIT_KERNEL_COMP_ALG')) uboot_arch = str(get_bb_var('UBOOT_ARCH')) fit_hash_alg = str(get_bb_var('FIT_HASH_ALG')) @@ -775,7 +776,7 @@ FIT_HASH_ALG = "sha256" 'kernel-1 {', 'description = "Linux kernel";', 'data = /incbin/("linux.bin");', - 'type = "kernel";', + 'type = "' + kernel_type + '";', 'arch = "' + uboot_arch + '";', 'os = "linux";', 'compression = "' + kernel_compression + '";',