LS1043ARDB SD Boot Questions

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LS1043ARDB SD Boot Questions

Jump to solution
1,939 Views
donberkowitz
Contributor II

I have a new LS1043ARDB board and am trying to reconfigure it to boot from an SD Chip.  The default boot procedure works fine.  I am connected via the serial line console RJ45 (UART1) and with the default boot, I see an expected message stream and can log in as root.

I am having difficulty understanding the boot options and would like some clarifications:

1) My understanding is that the board initially loads some simple U-Boot code from a ROM, then, based on the hardware switch settings in SW blocks 4 and 5, locates a place to load a more-extensive build of U-Boot, either from NOR, NAND, or the SD card.  Is this correct?

2) Is it true that I can start U-Boot from the NOR flash copy and still configure U-Boot to boot Linux from the SD card or other media, or do they all have to be on the same media?

3) If I do not modify the hardware switches from the factory default positions, but configure U-Boot to boot Linux from the SD disk, Linux appears to start.  The U-boot configuration is two commands from the SDK PDF (plus a save):

   setenv bootcmd "ext2load mmc 0 a0000000 kernel.itb && bootm a0000000"

   setenv bootargs "root=/dev/mmcblk0p1 rw earlycon=uart8250,0x21c0500,115200 console=ttyS0,115200"

However, if I modify the switches to boot from the SD card, the system hangs hopelessly without producing any console log data.  The switch settings are as follows: I will refer to the switches by the number on the switch, ranging from 1 to 8.  The SDK PDF Section 3.4.2 says to boot from SD, Switch 1 in Switch Block 5 should be set to zero/off.  It also says that in Switch Block 4, only Switch 3 should be 1/on. Correct?

I have loaded an SD chip with my Linux build as per the 0.5 SDK PDF although in all honesty, I am not yet sure I have the chip properly programmed.  What concerns me is that no console messages appear, suggesting that U-Boot cannot even begin to start, let alone load from the SD chip.

4) Note the reference in the u-boot command in the sdk is to kernel.itb.  Such a file is not generated by any of the builds I have found.  Is the command incorrectly documented?  Which build is supposed to build the right kernel file?

Thanks!!!!

Don

0 Kudos
Reply
1 Solution
1,351 Views
bpe
NXP Employee
NXP Employee

>1) My understanding is that the board initially loads some simple

>U-Boot code from a ROM, then, based on the hardware switch settings

>in SW blocks 4 and 5, locates a place to load a more-extensive build

>of U-Boot, either from NOR, NAND, or the SD card.  Is this correct?

>

[Platon] No. The board switches control the location of the RCW and

PBL structure and NOR Flash address manipulation. See the board Quick

Start Guide, Section 5 and the chip Reference Manual, Section 4.4.6.1.

u-Boot never reads any board switch. When you select NAND and SD card

as the RCW source code, u-Boot is fetched and executed from the same

memory. This is done with the aid of of PBL. It is correct that u-Boot

for non-directly addressable memories is two stages, but the both

stages are loaded from the same memory.

>2) Is it true that I can start U-Boot from the NOR flash copy and

>still configure U-Boot to boot Linux from the SD card or other media,

> or do they all have to be on the same media?

[Platon] Yes. It is controlled by u-Boot environment variables, where

u-Boot takes binaries required for the client OS  (Linux in the case

of the SDK) from. Refer to the SDK Manual, Section 3.4.8

>However, if I modify the switches to boot from the SD card, the

>system hangs hopelessly without producing any console log data. 

>The switch settings are as follows: I will refer to the switches by

>the number on the switch, ranging from 1 to 8.  The SDK PDF Section

>3.4.2 says to boot from SD, Switch 1 in Switch Block 5 should be set

>to zero/off.  It also says that in Switch Block 4, only Switch 3

>should be 1/on. Correct?

>

[Platon] Put a valid u-Boot+RCW+PBL binary onto your SD card before

attempting to boot from SD. Refer to the SDK Manual, Section 3.4.8.4

The switch settings are correct.

>4) Note the reference in the u-boot command in the sdk is to kernel.itb. 

>Such a file is not generated by any of the builds I have found. 

>Is the command incorrectly documented?  Which build is supposed to

>build the right kernel file?

>

[Platon] This refers to a combined kernel+rootfs+dtb image.

See the SDK Manual , Section 2.1.4. Build fsl-image-kernelitb target.


Have a great day,
Platon

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
Reply
1 Reply
1,352 Views
bpe
NXP Employee
NXP Employee

>1) My understanding is that the board initially loads some simple

>U-Boot code from a ROM, then, based on the hardware switch settings

>in SW blocks 4 and 5, locates a place to load a more-extensive build

>of U-Boot, either from NOR, NAND, or the SD card.  Is this correct?

>

[Platon] No. The board switches control the location of the RCW and

PBL structure and NOR Flash address manipulation. See the board Quick

Start Guide, Section 5 and the chip Reference Manual, Section 4.4.6.1.

u-Boot never reads any board switch. When you select NAND and SD card

as the RCW source code, u-Boot is fetched and executed from the same

memory. This is done with the aid of of PBL. It is correct that u-Boot

for non-directly addressable memories is two stages, but the both

stages are loaded from the same memory.

>2) Is it true that I can start U-Boot from the NOR flash copy and

>still configure U-Boot to boot Linux from the SD card or other media,

> or do they all have to be on the same media?

[Platon] Yes. It is controlled by u-Boot environment variables, where

u-Boot takes binaries required for the client OS  (Linux in the case

of the SDK) from. Refer to the SDK Manual, Section 3.4.8

>However, if I modify the switches to boot from the SD card, the

>system hangs hopelessly without producing any console log data. 

>The switch settings are as follows: I will refer to the switches by

>the number on the switch, ranging from 1 to 8.  The SDK PDF Section

>3.4.2 says to boot from SD, Switch 1 in Switch Block 5 should be set

>to zero/off.  It also says that in Switch Block 4, only Switch 3

>should be 1/on. Correct?

>

[Platon] Put a valid u-Boot+RCW+PBL binary onto your SD card before

attempting to boot from SD. Refer to the SDK Manual, Section 3.4.8.4

The switch settings are correct.

>4) Note the reference in the u-boot command in the sdk is to kernel.itb. 

>Such a file is not generated by any of the builds I have found. 

>Is the command incorrectly documented?  Which build is supposed to

>build the right kernel file?

>

[Platon] This refers to a combined kernel+rootfs+dtb image.

See the SDK Manual , Section 2.1.4. Build fsl-image-kernelitb target.


Have a great day,
Platon

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply