u-boot args / env to boot from SPI NOR Flash

17 views
Skip to first unread message

Michael Machate

unread,
Oct 22, 2022, 11:51:59 AM10/22/22
to swup...@googlegroups.com

Hi,

 

While designing  the update process of an im6 embedded system, I found the SWUpdate framework. SWUpdate is a great resource and I would like to use it. I am new to the topic and please give me some help.

 

I am building the Linux image in Yocto. It’s a custom board with an imx6 processor.

The following Memory Layout I want to setup:

 

SPI-NOR Flash 16MB

-uboot.imx                         1MB                      mtd1

-uboot-env                        64kB                      mtd2

-xyz.dtb                              128kB                   mtd3

-recovery-kernel             6MB                      mtd4

-standard-kernel             8MB                      mtd5

 

NAND Flash 1GByte

-ubi rootfs                                                         mdt0

 

 

1)      My question is how to setup the u-boot-env to boot from recovery-kernel / standard-kernel (SPI-NOR Flash/imx6).

 

2)      Do I have to write any custom script to change the u-boot-env (switch between recovery and standard kernel)?

 

3)      I prepared the following sw-description. Is there any thing missing to create an asymmetric update system?

 

4)      Do you have a validation check tool for the sw-description file?

 

software =

{

                version = "1.0";

 

                myboard = {

                               hardware-compatibility: [ "revB", "revC", "revD"];

                               stable : {

                                               recovery : {

                                                               images: (

                                                                              {

                                                                                              name = "bootloader";

                                                                                              version = "2016.01";

                                                                                              install-if-different = true;

                                                                                              filename = "u-boot.imx";

                                                                                              device = "mtd1";

                                                                              },

                                                                              {

                                                                                              name = "dtb";

                                                                                              filename = "xyz.dtb";

                                                                                              device = "mtd3";            

                                                                              },

                                                                              {

                                                                                              name = "recovery";

                                                                                              filename = "zImage-recovery";

                                                                                              device = "mtd4";            

                                                                              },            

                                                               );

 

                                               };

                                               std_kernel : {

                                                               images: (

                                                                              {

                                                                                              name = "std-kernel";

                                                                                              filename = "zImage-std-kernel";

                                                                                              device = "mtd5";

                                                                                             

                                                                              },

                                                                              {

                                                                                              filename = "core-image-base-myboard.ubifs";

                                                                                              volume = "rootfs";

                                                                                              type = "ubivol"

                                                                              },

                                                               );

                                                              

                                               };

                               };

                }

}

 

Many thanks

 

Michael

 


Virenfrei.www.avg.com
Reply all
Reply to author
Forward
0 new messages