I have currently compiled the QorIQ SDK (update 1703) for the (LS1012A FRDM) board, more specifically fsl-image-full and fsl-image-kernelitb. This gives me some u-boot, rcw, kernel and rootfs files / images. Now I would like to boot this extended Linux (the full image) from a USB drive. Unfortunately I'm not sure as of how to setup the environment correctly to achieve this.
The USB drive is recognized correctly in both the U-boot bootloader and the Linux that came preinstalled on the board. Some debug info:
=> usb storage
Device 0: Vendor: Intenso Rev: 1.00 Prod: Speed Line
Type: Removable Hard Disk
Capacity: 15237.1 MB = 14.8 GB (31205621 x 512)
=> usb part
Partition Map for USB device 0 -- Partition Type: DOS
Part Start Sector Num Sectors UUID Type
1 32 31205344 0005d59e-01 83
=> usb dev
USB device 0: Vendor: Intenso Rev: 1.00 Prod: Speed Line
Type: Removable Hard Disk
Capacity: 15237.1 MB = 14.8 GB (31205621 x 512)
The drive has been formatted as ext2 and I put all the files of the rootfs archive (extracted it) and the kernel-fsl-ls1012a-frdm.itb file on it.
Thanks in advance!
I've already done it, but with dtb and kernel files instead of itb:
(I'm using OpenWRT distribution instead of Yocto)
Two partitions in the usb drive, made with gparted in linux.
First one, a small FAT partition, second an ext4 file system.
In the first one, I've put the following files:
image-fsl-ls1012a-frdm.dtb
ls1012afrdm-kernel.bin
In the second partition, the linux file system.
Uboot commands:
usb start
fatload usb 0:1 90000000 image-fsl-ls1012a-frdm.dtb
fatload usb 0:1 96000000 ls1012afrdm-kernel.bin
setenv bootargs "console=${console},${baudrate} root=/dev/sda2 rootwait rw"
bootm 96000000 - 90000000
In your case, this should work, if the itb file is in root of usb drive:
usb start
ext2load usb 0:1 90000000 kernel-fsl-ls1012a-frdm.itb
setenv bootargs "console=${console},${baudrate} root=/dev/sda1 rootwait rw"
bootm 90000000
Hope this helps.
I tried to follow these steps, but it seems like I am missing some files to do so correctly. I only have an image .bin file so I used that one instead, without luck unfortunately. The files I have are listed on this screenshot:
You need uImage format, not Image, to load it with bootm in u-boot (or zImage if you use bootz).
uImage has a wrapper to tell u-boot how to load the binary file, created with mkimage.
Have you tried with the itb file?
usb start
ext2load usb 0:1 90000000 kernel-fsl-ls1012a-frdm.itb
setenv bootargs "console=${console},${baudrate} root=/dev/sda1 rootwait rw"
bootm 90000000
I can't test it myself rigth now, because I don't have an itb file generated in my system.
Look at the Section 4.4.9.5.3 of SDK 2.0-1703 documentation about "Deploying the full file system":
https://www.nxp.com/docs/en/supporting-information/QORIQ-SDK-2.0-IC-REV0.pdf
Have a great day,
Pavel Chubakov
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thank you for the advice, unfortunately I keep getting this message when performing the steps described in that section:
ERROR: can't get kernel image!