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?
解決済! 解決策の投稿を見る。
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.
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?
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.