U-Boot Image for LS-1028ARDB Yocto Distribution 5.15 Kernel from Github?

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

U-Boot Image for LS-1028ARDB Yocto Distribution 5.15 Kernel from Github?

Jump to solution
2,468 Views
Koffeekake
Contributor II

Hey NXP folks,

I am trying to boot an LS1028ARDB via an SD card (16GB) after following the instructions to build a Linux image on the meta-nxp-desktop github page here: https://github.com/nxp-imx/meta-nxp-desktop/blob/lf-5.15.71-2.2.0-kirkstone/README.md

I'm using flex-installer v1.13.2108 to complete the installation process.  The output of bitbake results in an 'Image--5.15.71+git0+95448dd0dc-r0-ls1028ardb-20230307002605.bin' (which I am under the assumption is the firmware image), a root filesystem called 'fsl-image-networking-ls1028ardb-20230307002605.rootfs.tar.gz', and various u-boot related files (device tree binaries and binaries labeled u-boot).  

I compared the output of bitbake with the most recent LSDK 2108, found here, but because the LSDK does not support kernel 5.15, I do not have a one-to-one comparison for what U-Boot files are required.  Furthermore, I am not too familiar with what files U-Boot requires.  All I know is that the flex-installer tool defaults to install the boot partition on partition 2 and the root filesystem of partition 4.  I have installed the root filesystem on partition 4 on my 16 GB SD card, but I do now know how to install the U-Boot portion of this.  

 

If I can explain anything else better please let me know. 

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

Please refer to the following procedure.

Please create two partitions with Linux command "fdisk", one 1G FAT16 and 2G one ext2/ext3 or with remainder of the available disk size.
# mkfs.vfat /dev/sdb1
# mkfs.ext2 /dev/sdb2

$ cd ~/yocto-sdk/build_ls1028ardb/tmp/deploy/images/ls1028ardb/atf/
$ sudo dd if=bl2_sd.pbl of=
/dev/sdb
bs=512 seek=8
$ sudo dd if=fip_uboot.bin of=
/dev/sdb bs=512 seek=2048
$ cd ..

$ sudo mkdir ~/temp

$ sudo mount /dev/sdb2 ~/temp

$ sudo cp fsl-image-networking-ls1028ardb.tar.gz ~/temp/

$ cd ~/temp

$ sudo tar -xzvf fsl-image-networking-ls1028ardb.tar.gz

$ sudo rm -xzvf fsl-image-networking-ls1028ardb.tar.gz

$ cd ~/yocto-sdk/build_ls1028ardb/tmp/deploy/images/ls1028ardb/

$ sudo cp Image ~/temp/boot

$ sudo cp fsl-ls1028a-rdb-sdk.dtb ~/temp/boot

$ sudo umount ~/temp

$ sync

=> setenv bootcmd 'setenv bootargs root=/dev/mmcblk0p2 rw rootdelay=5 console=ttyS0,115200;mmcinfo;ext2load mmc 0:2 0xa0000000 /boot/Image;ext2load mmc 0:2 0xb0000000 /boot/fsl-ls1028a-rdb-sdk.dtb;booti 0xa0000000 - 0xb0000000'

View solution in original post

2 Replies
2,421 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please refer to the following procedure.

Please create two partitions with Linux command "fdisk", one 1G FAT16 and 2G one ext2/ext3 or with remainder of the available disk size.
# mkfs.vfat /dev/sdb1
# mkfs.ext2 /dev/sdb2

$ cd ~/yocto-sdk/build_ls1028ardb/tmp/deploy/images/ls1028ardb/atf/
$ sudo dd if=bl2_sd.pbl of=
/dev/sdb
bs=512 seek=8
$ sudo dd if=fip_uboot.bin of=
/dev/sdb bs=512 seek=2048
$ cd ..

$ sudo mkdir ~/temp

$ sudo mount /dev/sdb2 ~/temp

$ sudo cp fsl-image-networking-ls1028ardb.tar.gz ~/temp/

$ cd ~/temp

$ sudo tar -xzvf fsl-image-networking-ls1028ardb.tar.gz

$ sudo rm -xzvf fsl-image-networking-ls1028ardb.tar.gz

$ cd ~/yocto-sdk/build_ls1028ardb/tmp/deploy/images/ls1028ardb/

$ sudo cp Image ~/temp/boot

$ sudo cp fsl-ls1028a-rdb-sdk.dtb ~/temp/boot

$ sudo umount ~/temp

$ sync

=> setenv bootcmd 'setenv bootargs root=/dev/mmcblk0p2 rw rootdelay=5 console=ttyS0,115200;mmcinfo;ext2load mmc 0:2 0xa0000000 /boot/Image;ext2load mmc 0:2 0xb0000000 /boot/fsl-ls1028a-rdb-sdk.dtb;booti 0xa0000000 - 0xb0000000'

2,411 Views
Koffeekake
Contributor II

These instructions did the trick! Awesome thanks!

I did some digging as well, and turns out I was not installing the firmware correctly.  I was passing to flex-installer the Linux image instead of the correct firmware found here.

(Go to `LSDK Images -> 2108 -> firmware_ls1028ardb_sdboot.img`)

After using flex-installer to install the firmware (which seems to be to be the disk dump steps you perform below, but I still need to verify), U-Boot opened and I was able to reverse engineer the environment variables that U-Boot uses to boot from SD or USB or DHCP. 

Thanks for your help @yipingwang !

0 Kudos
Reply