I tried to put kernel and rootfs in SD card , and boot it follow the SDK note(ls1046), it was fail to mount the rootfs(while 64be kernel is good),and here is part of log:
mmcblk0: mmc0:0007 SL32G 29.0 GiB
mcblk0: p1
VFS: Mounted root (ext2 filesystem) on device 1:0.
VFS: Cannot open root device "mmcblk0p1" or unknown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
0100 262144 ram0 (driver?)
0101 262144 ram1 (driver?)
0102 262144 ram2 (driver?)
0103 262144 ram3 (driver?)
0104 262144 ram4 (driver?)
0105 262144 ram5 (driver?)
0106 262144 ram6 (driver?)
0107 262144 ram7 (driver?)
1f00 524288 mtdblock0 (driver?)
b300 30375936 mmcblk0 driver: mmcblk
b301 30371936 mmcblk0p1 00000000-01
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.1.30-rt34+ #2
Hardware name: Freescale LAYERSCAPE
The entire log is in atachments, do anyone have any idea about this problem?
By the way, I tried to boot the kernel with command “bootm a0000000:kernel@1 - a0000000:fdt@1”
And the log show as below, you can see that mmcblk0 device is missed, do anyone know the reason?
ALSA device list:
No soundcards found.
VFS: Cannot open root device "mmcblk0p1" or unknown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
0100 262144 ram0 (driver?)
0101 262144 ram1 (driver?)
0102 262144 ram2 (driver?)
0103 262144 ram3 (driver?)
0104 262144 ram4 (driver?)
0105 262144 ram5 (driver?)
0106 262144 ram6 (driver?)
0107 262144 ram7 (driver?)
1f00 524288 mtdblock0 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.1.30-rt34+ #2
Hardware name: Freescale LAYERSCAPE
Original Attachment has been moved to: 32be_kernel+32be_rootfs_boot-from-sdcard.txt.zip
Hello zheng ruoqin,
In your SDK build environment, please create ls1046 32 bit build project with the command "source ./fsl-setup-env -m ls1046ardb-32b", specify the filesystem type as tar.gz to build the 32 bit rootfs filesystem. Then Copy and deploy the rootfs filesystem on SD card.
Assume both kernel.itb and rootfs located on the first partition of SD card.
=> ext2load mmc 0:1 a0000000 kernel.itb
=> setenv bootargs "root=/dev/mmcblk0p1 rw earlycon=uart8250,0x21c0500 console=ttyS0,115200"
=> bootm a0000000:kernel@1 - a0000000:fdt@1
Have a great day,
TIC
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thank you for your help.
It's the problem of kernel delay, I have resolved it by add rootdelay=1 in uboot parameter.
It is because the kernel didn't recognize the sdcard in mount time, and if you add some delay, the kernel will recognize it.