LS1043ARDB SDK 2.0 boot without using rootfs in the kernel.itb?

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

LS1043ARDB SDK 2.0 boot without using rootfs in the kernel.itb?

Jump to solution
2,230 Views
pro-supportengi
NXP Employee
NXP Employee

The SDK 2.0 boot image is taking approx. 11 seconds to boot from the .itb image after U-Boot completes it's count down process.  Customers need the following as a consquence: a) shorten this .itb boot time to less than one to two seconds for fast boot (not currently provided by NXP), and b) in the mean time understand how to boot without using the .itb, and c) how to build a .itb file without rootfs and boot.

Please provide the procedure to boot the images without using the .itb file and how to create a bootable image without rootfs included in the .itb?

How do customers of SDK 2.0 load uImage and DTB, w/o initramfs stored inside the ITB file? This will drastically improve start up time, because there will be no need to load the large ramfs (~60MB). Also it will keep significant amount of memory.

We converted the Image into uImage with mkimage utility, but it halts on startup.

We checked the chapter "4.4.4.8.4 SD Deployment" and "4.4.7.9.4 SD Deployment" for instance, but they describe deployment for other cards, for which they apparently have prebuilt images?  In any case, the sections were not helpful for the LS1043ARDB SDK 2.0.


Labels (1)
0 Kudos
1 Solution
1,368 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello pro-supportengineer,

First of all, you could customize fsl-image-kernelitb according to your requirement in SDK 2.0 environment.

Please modify the file sources/meta-freescale/recipes-fsl/images/fsl-image-kernelitb/kernel.its(for example delete "ramdisk = "ramdisk@1" in configurations), if you want to use a small rootfs filesystem, you also could modify ROOTFS_IMAGE as "fsl-image-minimal" in sources/meta-freescale/recipes-fsl/images/fsl-image-kernelitb.bb.

Then rebuild kernel itb file

$bitbake fsl-image-kernelitb -c cleansstate

$bitbake fsl-image-kernelitb

Actually I recommend you use uImage, which I mentioned previously.

$ export PATH=/home/b25805/test/QorIQ-SDK-V2.0-20160527-yocto/build_ls1043ardb/tmp/sysroots/x86_64-linux/usr/bin/:$PATH

$ gzip Image

$ mkimage -A arm64 -O linux -T kernel -C gzip  -a 0x80080000 -e 0x80080000 -n linux-4.1 -d  Image.gz uImage

On the target board(I put rootfs in the first partition of SD card.)

=> tftp 0xa0000000 b25805/ls1043rdb/uImage

=> tftp 0x90000000 b25805/ls1043rdb/Image-fsl-ls1043a-rdb.dtb

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

=> bootm 0xa0000000 - 0x90000000


Have a great day,
Yiping

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

View solution in original post

0 Kudos
2 Replies
1,369 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello pro-supportengineer,

First of all, you could customize fsl-image-kernelitb according to your requirement in SDK 2.0 environment.

Please modify the file sources/meta-freescale/recipes-fsl/images/fsl-image-kernelitb/kernel.its(for example delete "ramdisk = "ramdisk@1" in configurations), if you want to use a small rootfs filesystem, you also could modify ROOTFS_IMAGE as "fsl-image-minimal" in sources/meta-freescale/recipes-fsl/images/fsl-image-kernelitb.bb.

Then rebuild kernel itb file

$bitbake fsl-image-kernelitb -c cleansstate

$bitbake fsl-image-kernelitb

Actually I recommend you use uImage, which I mentioned previously.

$ export PATH=/home/b25805/test/QorIQ-SDK-V2.0-20160527-yocto/build_ls1043ardb/tmp/sysroots/x86_64-linux/usr/bin/:$PATH

$ gzip Image

$ mkimage -A arm64 -O linux -T kernel -C gzip  -a 0x80080000 -e 0x80080000 -n linux-4.1 -d  Image.gz uImage

On the target board(I put rootfs in the first partition of SD card.)

=> tftp 0xa0000000 b25805/ls1043rdb/uImage

=> tftp 0x90000000 b25805/ls1043rdb/Image-fsl-ls1043a-rdb.dtb

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

=> bootm 0xa0000000 - 0x90000000


Have a great day,
Yiping

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

0 Kudos
1,368 Views
j_wallace
Contributor II

Hello pro-supportengineer,

Did you succeed ?

I removed ramdisk = "ramdisk@1" in kernel.its, rebuilt the kernel image and modified bootargs in u-boot to have rootfs on /dev/mmcbkl0p1 but the boot failed. (I already set the SD card up with rootfs...)

Thanks.

----------------------------------------------------------------------------------------

## Booting kernel from Legacy Image at a0000000 ...
   Image Name:   linux-4.1
   Image Type:   AArch64 Linux Kernel Image (gzip compressed)
   Data Size:    5360670 Bytes = 5.1 MiB
   Load Address: 80080000
   Entry Point:  80080000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
FDT and ATAGS support not compiled in - hanging
### ERROR ### Please RESET the board ###

0 Kudos