Unable to Boot Linux from SD card in LX2160ardb_rev2

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

Unable to Boot Linux from SD card in LX2160ardb_rev2

Jump to solution
2,307 Views
m_kei
Contributor III

We are using lx2160ardb_rev2 for development.

I have been trying to get my own build of Linux to work since the other day, but it has not been working as expected. I thought I was running flushed Linux with flex-installer on my sd card, but I was wrong. I had previously thought that the following command would boot Linux on the sd card.

$ run sd_bootcmd

However, upon reading the LSDK user guide, I found that this is to boot the pre-prepared TinyLinux on lx2160ardb_rev2. Perhaps it must be correctly executed as follows.

$ run bootcmd_mmc0

However, when this is done, the following error occurs.

switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Scanning disk esdhc@2140000.blk...
Scanning disk esdhc@2150000.blk...
** Unrecognized filesystem type **
Found 6 disks
No EFI system partition
ERROR: invalid device tree
Scanning mmc 0:2...
Found U-Boot script /lx2160ardb_boot.scr
980 bytes read in 16 ms (59.6 KiB/s)
## Executing script at 80000000

I was using flex-installer and flushing composite firmware, rootfs, and linux img, so I am thinking that perhaps flex-installer is not formatting the partitions correctly.

Is my BOOT method wrong?
Or is flex-installer wrong?

0 Kudos
Reply
1 Solution
2,292 Views
yipingwang
NXP TechSupport
NXP TechSupport

Generate boot partition tar ball with the following command.

$ flex-builder -i mkboot -a arm64

Download ubuntu main rootfs image tar ball

$ wget https://www.nxp.com/lgfiles/sdk/lsdk2108/rootfs_lsdk2108_ubuntu_main_arm64.tgz

Deploy images to SD card on the build host.

$ flex-installer -b boot_arm64_lts_5.10.tgz -r rootfs_lsdk2108_ubuntu_main_arm64.tgz  -d /dev/sdx

Note:/dev/sdx is SD device name on the host.

Under u-boot run "boot" command directly.

View solution in original post

0 Kudos
Reply
2 Replies
2,304 Views
m_kei
Contributor III

Perhaps, but I found that this is due to the default uboot env, which looks for boot scripts in order from partition 1 of the sd. So, as a result, I think it is trying to boot Linux by executing lx2160ardb_boot.scr, which resides on partition 2.

However, I think the problem is that Linux fails to boot from there.

"## Executing script at 80000000", it is trying to start at 80000000 by executing lx2160ardb_boot.scr, but it fails to boot there. We believe that this may be the case.

Why is this failing?

0 Kudos
Reply
2,293 Views
yipingwang
NXP TechSupport
NXP TechSupport

Generate boot partition tar ball with the following command.

$ flex-builder -i mkboot -a arm64

Download ubuntu main rootfs image tar ball

$ wget https://www.nxp.com/lgfiles/sdk/lsdk2108/rootfs_lsdk2108_ubuntu_main_arm64.tgz

Deploy images to SD card on the build host.

$ flex-installer -b boot_arm64_lts_5.10.tgz -r rootfs_lsdk2108_ubuntu_main_arm64.tgz  -d /dev/sdx

Note:/dev/sdx is SD device name on the host.

Under u-boot run "boot" command directly.

0 Kudos
Reply