News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

Configuring SD Card ext filesystem Boot

Started by jarios86, September 19, 2019, 05:50:48 PM

Previous topic - Next topic

jarios86

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

Oleksandr Kiyenko

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

jarios86

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

Oleksandr Kiyenko

Hello,
are you using our reference device tree or your custom?

BR
Oleksandr Kiyenko

jarios86

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