Hey everyone,
I'm trying to configure my petalinux project to boot the filesystem from a secondary SD card partition. I have followed the instructions specified on Reference Guide55UG1144 (v2018.2) page 55:
https://www.xilinx.com/support/documentation/sw_manuals/xilinx2018_2/ug1144-petalinux-tools-reference-guide.pdf
The problem is that during booting process, I get a kernel panic error:
[ 4.574327] VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -6
[ 4.582611] Please append a correct "root=" boot option; here are the available partitions:
[ 4.590946] 0100 65536 ram0
[ 4.590948] (driver?)
[ 4.597009] 0101 65536 ram1
[ 4.597011] (driver?)
[ 4.603079] 0102 65536 ram2
[ 4.603080] (driver?)
[ 4.609160] 0103 65536 ram3
[ 4.609162] (driver?)
[ 4.615231] 0104 65536 ram4
[ 4.615232] (driver?)
[ 4.621311] 0105 65536 ram5
[ 4.621313] (driver?)
[ 4.627383] 0106 65536 ram6
[ 4.627384] (driver?)
[ 4.634097] 0107 65536 ram7
[ 4.634099] (driver?)
[ 4.640168] 0108 65536 ram8
[ 4.640170] (driver?)
[ 4.646249] 0109 65536 ram9
[ 4.646253] (driver?)
[ 4.652320] 010a 65536 ram10
[ 4.652322] (driver?)
[ 4.658488] 010b 65536 ram11
[ 4.658490] (driver?)
[ 4.664651] 010c 65536 ram12
[ 4.664653] (driver?)
[ 4.670814] 010d 65536 ram13
[ 4.670816] (driver?)
[ 4.676976] 010e 65536 ram14
[ 4.676978] (driver?)
[ 4.683134] 010f 65536 ram15
[ 4.683136] (driver?)
[ 4.689304] 1f00 1024 mtdblock0
[ 4.689306] (driver?)
[ 4.695808] 1f01 256 mtdblock1
[ 4.695809] (driver?)
[ 4.702322] 1f02 22528 mtdblock2
[ 4.702324] (driver?)
[ 4.708832] b300 3760128 mmcblk0
[ 4.708834] driver: mmcblk
[ 4.715598] b318 512 mmcblk0rpmb
[ 4.715600] (driver?)
[ 4.722286] b310 16384 mmcblk0boot1
[ 4.722288] (driver?)
[ 4.729057] b308 16384 mmcblk0boot0
[ 4.729058] (driver?)
[ 4.735821] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
[ 4.744247] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.14.0-xilinx-v2018.2 #1
[ 4.751447] Hardware name: xlnx,zynqmp (DT)
[ 4.755611] Call trace:
[ 4.758049] [<ffffff8008088c58>] dump_backtrace+0x0/0x368
[ 4.763427] [<ffffff8008088fd4>] show_stack+0x14/0x20
[ 4.768461] [<ffffff8008a13b78>] dump_stack+0x9c/0xbc
[ 4.773496] [<ffffff800809bdc0>] panic+0x11c/0x274
[ 4.778270] [<ffffff8008d61124>] mount_block_root+0x1a8/0x27c
[ 4.783998] [<ffffff8008d61430>] mount_root+0x11c/0x134
[ 4.789205] [<ffffff8008d615b4>] prepare_namespace+0x16c/0x1b4
[ 4.795021] [<ffffff8008d60d44>] kernel_init_freeable+0x1b8/0x1d8
[ 4.801098] [<ffffff8008a25ee0>] kernel_init+0x10/0x100
[ 4.806305] [<ffffff8008084a90>] ret_from_fork+0x10/0x18
[ 4.811599] SMP: stopping secondary CPUs
[ 4.815504] Kernel Offset: disabled
[ 4.818975] CPU features: 0x002004
[ 4.822359] Memory Limit: none
[ 4.825401] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
I have tried this solution, but it doesn't work, because my error is not -30. My errors is -6, but I cannot find the VFS error code descriptions:
https://forums.xilinx.com/t5/Embedded-Linux/Not-able-to-mount-root-fs-during-SD-boot-on-ZedBoard-Petalinux/td-p/851650
i'm using TE0808-04-BBE21-A module and the baseboard TEBF0808-04
Thanks in advance,
Antonio
Hello,
at first, boot Linux usual way and try to mount this partition. It should be properly formatted and contain the correct Linux filesystem structure and files.
Best regards
Oleksandr Kiyenko
Hello,
Thanks for your replay. I have boot Linux in usual way, but I cannot mount this partition. The partition does not appear listed in /dev.
I have took a look to the booting messages and I saw this message:
mmc0: new HS200 MMC card at address 0001
[ 2.615428] mmcblk0: mmc0:0001 Q2J54A 3.59 GiB
[ 2.615528] mmcblk0boot0: mmc0:0001 Q2J54A partition 1 16.0 MiB
[ 2.615617] mmcblk0boot1: mmc0:0001 Q2J54A partition 2 16.0 MiB
[ 2.615703] mmcblk0rpmb: mmc0:0001 Q2J54A partition 3 512 KiB
[ 2.618987] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 47, base_baud = 6249999) is a xuartps
[ 2.709754] mmc1: error -110 whilst initialising SD card
It seems that mmc1 (SD card) cannot be initialized, but I don't know the reason because the system starts booting, so it reads the BOOT.BIN and image.ub that are in the first partition. The whole log of the boot process is attached.
Thanks in advance,
Antonio
Hello,
are you using our reference device tree or your custom?
BR
Oleksandr Kiyenko
Hello,
Thanks for your reply. Yes, that was the problem. I create a petalinux project from zynqMP template and it doesn't use your reference device tree. I used the petalinux project that can be found in StarterKit/os folder and it booted fine using the SD card ext filesystem.
Thanks for your suggestions.
Best,
Antonio