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