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

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

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

ソリューションへジャンプ
2,240件の閲覧回数
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.


ラベル(1)
0 件の賞賛
1 解決策
1,378件の閲覧回数
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 件の賞賛
2 返答(返信)
1,379件の閲覧回数
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 件の賞賛
1,378件の閲覧回数
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 件の賞賛