* [PATCH] configs: ti: use standard configuration nodes naming @ 2022-02-10 22:13 Romain Naour 2022-02-28 20:38 ` Denys Dmytriyenko 2022-03-05 16:35 ` Tom Rini 0 siblings, 2 replies; 4+ messages in thread From: Romain Naour @ 2022-02-10 22:13 UTC (permalink / raw) To: u-boot; +Cc: Romain Naour, Tom Rini Currently, any u-boot bootloader for ti armv7 platforms using DEFAULT_FIT_TI_ARGS to boot with a fitimage (boot_fit = 1) doesn't boot when built with Yocto Poky (openembedded-core). ## Loading kernel from FIT Image at 90000000 ... Could not find configuration node ERROR: can't get kernel image! Arago forked the kernel-fitimage class [1] and altered the configuration nodes naming while adding the OPTEE support by using FITIMAGE_CONF_BY_NAME by default [2]. The "upstream" kernel-fitimage class from openembedded-core still add the "conf-" prefix for each configuration nodes [3]. The ITS file format (from doc/uImage.FIT/source_file_format.txt) is not really accurate with the expected naming of these nodes. But in practice the "conf-" prefix is widely used. When the FIT image support has been added for ti armv7 platforms the naming from Arago has been used [3]. Fix this issue by adding the prefix expected by the ITS file generated by kernel-fitimage class from openembedded-core. [1] http://arago-project.org/git/meta-arago.git?p=meta-arago.git;a=commitdiff;h=719ab1b2098bcdc59c249e3529fa82cb1b9130e6 [2] http://arago-project.org/git/meta-arago.git?p=meta-arago.git;a=commitdiff;h=f23f2876a0cda89241d031bb7ba0b4256ed90035 [3] https://git.openembedded.org/openembedded-core/tree/meta/classes/kernel-fitimage.bbclass?h=yocto-3.1.13#n290 [3] 1e93cc8473e4fe018aececc8ed3bf8fc2b3ff561 Signed-off-by: Romain Naour <romain.naour@smile.fr> Cc: Tom Rini <trini@konsulko.com> --- include/configs/ti_armv7_common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h index 9733707009..7483bc821d 100644 --- a/include/configs/ti_armv7_common.h +++ b/include/configs/ti_armv7_common.h @@ -55,7 +55,7 @@ "do;" \ "setenv overlaystring ${overlaystring}'#'${overlay};" \ "done;\0" \ - "run_fit=bootm ${addr_fit}#${fdtfile}${overlaystring}\0" \ + "run_fit=bootm ${addr_fit}#conf-${fdtfile}${overlaystring}\0" \ /* * DDR information. If the CONFIG_NR_DRAM_BANKS is not defined, -- 2.34.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] configs: ti: use standard configuration nodes naming 2022-02-10 22:13 [PATCH] configs: ti: use standard configuration nodes naming Romain Naour @ 2022-02-28 20:38 ` Denys Dmytriyenko 2022-03-03 10:40 ` Romain Naour 2022-03-05 16:35 ` Tom Rini 1 sibling, 1 reply; 4+ messages in thread From: Denys Dmytriyenko @ 2022-02-28 20:38 UTC (permalink / raw) To: Romain Naour; +Cc: u-boot, Tom Rini On Thu, Feb 10, 2022 at 11:13:36PM +0100, Romain Naour wrote: > Currently, any u-boot bootloader for ti armv7 platforms using > DEFAULT_FIT_TI_ARGS to boot with a fitimage (boot_fit = 1) > doesn't boot when built with Yocto Poky (openembedded-core). > > ## Loading kernel from FIT Image at 90000000 ... > Could not find configuration node > ERROR: can't get kernel image! > > Arago forked the kernel-fitimage class [1] and altered the > configuration nodes naming while adding the OPTEE support by > using FITIMAGE_CONF_BY_NAME by default [2]. > > The "upstream" kernel-fitimage class from openembedded-core still > add the "conf-" prefix for each configuration nodes [3]. > > The ITS file format (from doc/uImage.FIT/source_file_format.txt) > is not really accurate with the expected naming of these nodes. > But in practice the "conf-" prefix is widely used. > > When the FIT image support has been added for ti armv7 platforms > the naming from Arago has been used [3]. Fix this issue by adding > the prefix expected by the ITS file generated by kernel-fitimage > class from openembedded-core. Well, this is a bit more complicated and convoluted, than what you explained here... [with my Arago/downstream hat on] Arago forked kernel-fitimage class long time ago to add support for TI ARMv7 HS (High Secure) devices, which used some custom ways of signing and handling images. Unfortunately, kernel-fitimage class in OE-Core was and is not that flexible or easily extendable, hence the fork. Back then OE-Core was using numbered nodes "fdt@<num>" in the FIT image, while Arago switched to using named nodes. As you correctly mentioned, there's actually no defined standard on naming those nodes in ITS. Moreover, OE-Core changed its way few times, until coming to the current naming scheme with "conf-" prefix. Since Arago fork of kernel-fitimage class was heavily customized, it fell behind and wasn't updated with more recent changes in OE-Core. Unlike "legacy" TI HS devices of ARMv7 architecture, TI K3 HS devices of Aarch64 architecture are fully standard with open tooling. To that extent, I made a recent change to use upstream kernel-fitimage class from OE-Core: https://git.yoctoproject.org/meta-arago/commit/?id=ae07d01dc54f84a88c479d0aaad8c5fa110182eb [with my OpenEmbedded/upstream hat on] I support this change in U-boot, which means Arago/TI-SDK will have to adjust once it catches up with the latest version of U-boot. > [1] http://arago-project.org/git/meta-arago.git?p=meta-arago.git;a=commitdiff;h=719ab1b2098bcdc59c249e3529fa82cb1b9130e6 > [2] http://arago-project.org/git/meta-arago.git?p=meta-arago.git;a=commitdiff;h=f23f2876a0cda89241d031bb7ba0b4256ed90035 > [3] https://git.openembedded.org/openembedded-core/tree/meta/classes/kernel-fitimage.bbclass?h=yocto-3.1.13#n290 > [3] 1e93cc8473e4fe018aececc8ed3bf8fc2b3ff561 > > Signed-off-by: Romain Naour <romain.naour@smile.fr> > Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Denys Dmytriyenko <denys@konsulko.com> > --- > include/configs/ti_armv7_common.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h > index 9733707009..7483bc821d 100644 > --- a/include/configs/ti_armv7_common.h > +++ b/include/configs/ti_armv7_common.h > @@ -55,7 +55,7 @@ > "do;" \ > "setenv overlaystring ${overlaystring}'#'${overlay};" \ > "done;\0" \ > - "run_fit=bootm ${addr_fit}#${fdtfile}${overlaystring}\0" \ > + "run_fit=bootm ${addr_fit}#conf-${fdtfile}${overlaystring}\0" \ > > /* > * DDR information. If the CONFIG_NR_DRAM_BANKS is not defined, -- Regards, Denys Dmytriyenko <denis@denix.org> PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964 Fingerprint: 25FC E4A5 8A72 2F69 1186 6D76 4209 0272 9A92 C964 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] configs: ti: use standard configuration nodes naming 2022-02-28 20:38 ` Denys Dmytriyenko @ 2022-03-03 10:40 ` Romain Naour 0 siblings, 0 replies; 4+ messages in thread From: Romain Naour @ 2022-03-03 10:40 UTC (permalink / raw) To: Denys Dmytriyenko; +Cc: u-boot, Tom Rini Hi Denys, Le 28/02/2022 à 21:38, Denys Dmytriyenko a écrit : > On Thu, Feb 10, 2022 at 11:13:36PM +0100, Romain Naour wrote: >> Currently, any u-boot bootloader for ti armv7 platforms using >> DEFAULT_FIT_TI_ARGS to boot with a fitimage (boot_fit = 1) >> doesn't boot when built with Yocto Poky (openembedded-core). >> >> ## Loading kernel from FIT Image at 90000000 ... >> Could not find configuration node >> ERROR: can't get kernel image! >> >> Arago forked the kernel-fitimage class [1] and altered the >> configuration nodes naming while adding the OPTEE support by >> using FITIMAGE_CONF_BY_NAME by default [2]. >> >> The "upstream" kernel-fitimage class from openembedded-core still >> add the "conf-" prefix for each configuration nodes [3]. >> >> The ITS file format (from doc/uImage.FIT/source_file_format.txt) >> is not really accurate with the expected naming of these nodes. >> But in practice the "conf-" prefix is widely used. >> >> When the FIT image support has been added for ti armv7 platforms >> the naming from Arago has been used [3]. Fix this issue by adding >> the prefix expected by the ITS file generated by kernel-fitimage >> class from openembedded-core. > > Well, this is a bit more complicated and convoluted, than what you > explained here... I did my best to explain the issue I had and justify why the patch should be applied to u-boot mainline. > > [with my Arago/downstream hat on] > > Arago forked kernel-fitimage class long time ago to add support for TI > ARMv7 HS (High Secure) devices, which used some custom ways of signing > and handling images. Unfortunately, kernel-fitimage class in OE-Core > was and is not that flexible or easily extendable, hence the fork. > > Back then OE-Core was using numbered nodes "fdt@<num>" in the FIT image, > while Arago switched to using named nodes. As you correctly mentioned, > there's actually no defined standard on naming those nodes in ITS. > Moreover, OE-Core changed its way few times, until coming to the > current naming scheme with "conf-" prefix. > > Since Arago fork of kernel-fitimage class was heavily customized, it > fell behind and wasn't updated with more recent changes in OE-Core. > > Unlike "legacy" TI HS devices of ARMv7 architecture, TI K3 HS devices > of Aarch64 architecture are fully standard with open tooling. To that > extent, I made a recent change to use upstream kernel-fitimage class > from OE-Core: > > https://git.yoctoproject.org/meta-arago/commit/?id=ae07d01dc54f84a88c479d0aaad8c5fa110182eb Ok, thanks for the explanation! > > > [with my OpenEmbedded/upstream hat on] > > I support this change in U-boot, which means Arago/TI-SDK will have to > adjust once it catches up with the latest version of U-boot. Agree. > > >> [1] http://arago-project.org/git/meta-arago.git?p=meta-arago.git;a=commitdiff;h=719ab1b2098bcdc59c249e3529fa82cb1b9130e6 >> [2] http://arago-project.org/git/meta-arago.git?p=meta-arago.git;a=commitdiff;h=f23f2876a0cda89241d031bb7ba0b4256ed90035 >> [3] https://git.openembedded.org/openembedded-core/tree/meta/classes/kernel-fitimage.bbclass?h=yocto-3.1.13#n290 >> [3] 1e93cc8473e4fe018aececc8ed3bf8fc2b3ff561 >> >> Signed-off-by: Romain Naour <romain.naour@smile.fr> >> Cc: Tom Rini <trini@konsulko.com> > > Reviewed-by: Denys Dmytriyenko <denys@konsulko.com> Do you need I repin the patch including your reply ? Best regards, Romain > > >> --- >> include/configs/ti_armv7_common.h | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h >> index 9733707009..7483bc821d 100644 >> --- a/include/configs/ti_armv7_common.h >> +++ b/include/configs/ti_armv7_common.h >> @@ -55,7 +55,7 @@ >> "do;" \ >> "setenv overlaystring ${overlaystring}'#'${overlay};" \ >> "done;\0" \ >> - "run_fit=bootm ${addr_fit}#${fdtfile}${overlaystring}\0" \ >> + "run_fit=bootm ${addr_fit}#conf-${fdtfile}${overlaystring}\0" \ >> >> /* >> * DDR information. If the CONFIG_NR_DRAM_BANKS is not defined, > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] configs: ti: use standard configuration nodes naming 2022-02-10 22:13 [PATCH] configs: ti: use standard configuration nodes naming Romain Naour 2022-02-28 20:38 ` Denys Dmytriyenko @ 2022-03-05 16:35 ` Tom Rini 1 sibling, 0 replies; 4+ messages in thread From: Tom Rini @ 2022-03-05 16:35 UTC (permalink / raw) To: Romain Naour; +Cc: u-boot [-- Attachment #1: Type: text/plain, Size: 1750 bytes --] On Thu, Feb 10, 2022 at 11:13:36PM +0100, Romain Naour wrote: > Currently, any u-boot bootloader for ti armv7 platforms using > DEFAULT_FIT_TI_ARGS to boot with a fitimage (boot_fit = 1) > doesn't boot when built with Yocto Poky (openembedded-core). > > ## Loading kernel from FIT Image at 90000000 ... > Could not find configuration node > ERROR: can't get kernel image! > > Arago forked the kernel-fitimage class [1] and altered the > configuration nodes naming while adding the OPTEE support by > using FITIMAGE_CONF_BY_NAME by default [2]. > > The "upstream" kernel-fitimage class from openembedded-core still > add the "conf-" prefix for each configuration nodes [3]. > > The ITS file format (from doc/uImage.FIT/source_file_format.txt) > is not really accurate with the expected naming of these nodes. > But in practice the "conf-" prefix is widely used. > > When the FIT image support has been added for ti armv7 platforms > the naming from Arago has been used [3]. Fix this issue by adding > the prefix expected by the ITS file generated by kernel-fitimage > class from openembedded-core. > > [1] http://arago-project.org/git/meta-arago.git?p=meta-arago.git;a=commitdiff;h=719ab1b2098bcdc59c249e3529fa82cb1b9130e6 > [2] http://arago-project.org/git/meta-arago.git?p=meta-arago.git;a=commitdiff;h=f23f2876a0cda89241d031bb7ba0b4256ed90035 > [3] https://git.openembedded.org/openembedded-core/tree/meta/classes/kernel-fitimage.bbclass?h=yocto-3.1.13#n290 > [3] 1e93cc8473e4fe018aececc8ed3bf8fc2b3ff561 > > Signed-off-by: Romain Naour <romain.naour@smile.fr> > Cc: Tom Rini <trini@konsulko.com> > Reviewed-by: Denys Dmytriyenko <denys@konsulko.com> Applied to u-boot/master, thanks! -- Tom [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 659 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-03-05 16:35 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-02-10 22:13 [PATCH] configs: ti: use standard configuration nodes naming Romain Naour 2022-02-28 20:38 ` Denys Dmytriyenko 2022-03-03 10:40 ` Romain Naour 2022-03-05 16:35 ` Tom Rini
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox