Hello,
On TE0802(TE0802-02-2AEU2-A), I tried booting Linux by Ubuntu rootfs from SD card, however console displayed kernel panic. :(
[ 12.760939] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
(from attached file)
It may be due to the SD card partition being set to Read Only.
[ 12.600858] mmcblk0: mmc0:59b4 USDU1 14.9 GiB (ro)
It also happens when running on another SD card.
From the TE0802 schematic, there is no signal to Write Protect the SD I/F.
Is there a way to boot from the SD card partition, specifically /dev/mmcblk0p2?
The following is the boot log.
U-Boot 2020.01 (Aug 21 2020 - 13:23:48 +0000)
Board: Xilinx ZynqMP
DRAM: 1023 MiB
usb dr_mode not found
PMUFW: v1.1
EL Level: EL2
Chip ID: zu2cg
NAND: 0 MiB
MMC: mmc@ff160000: 0
In: serial@ff000000
Out: serial@ff000000
Err: serial@ff000000
Bootmode: SD_MODE
Reset reason: EXTERNAL
Net:
ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr -1, interface rgmii-id
Warning: ethernet@ff0e0000 using MAC address from DT
eth0: ethernet@ff0e0000
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
2007 bytes read in 16 ms (122.1 KiB/s)
## Executing script at 20000000
8175472 bytes read in 659 ms (11.8 MiB/s)
## Loading kernel from FIT Image at 10000000 ...
Using 'conf@system-top.dtb' configuration
Trying 'kernel@1' kernel subimage
Description: Linux kernel
Type: Kernel Image
Compression: gzip compressed
Data Start: 0x100000f8
Data Size: 8135437 Bytes = 7.8 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x00080000
Entry Point: 0x00080000
Hash algo: sha256
Hash value: a6d2484335f8f8db23bc5714fb2e966433752568128a0c0ae9daaaa893595c21
Verifying Hash Integrity ... sha256+ OK
## Loading fdt from FIT Image at 10000000 ...
Using 'conf@system-top.dtb' configuration
Trying 'fdt@system-top.dtb' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x107c2518
Data Size: 38126 Bytes = 37.2 KiB
Architecture: AArch64
Hash algo: sha256
Hash value: 0193163552927eedad679679552cf67aef7b371e455e747374a9b555cc80666f
Verifying Hash Integrity ... sha256+ OK
Booting using the fdt blob at 0x107c2518
Uncompressing Kernel Image
Loading Device Tree to 000000000fff3000, end 000000000ffff4ed ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.4.0-xilinx-v2020.1 (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 SMP Fri Aug 21 13:13:07 UTC 2020
[ 0.000000] Machine model: xlnx,zynqmp
.
.
.
[ 12.329569] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[ 12.337838] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 12.345054] usb usb1: Product: xHCI Host Controller
[ 12.349923] usb usb1: Manufacturer: Linux 5.4.0-xilinx-v2020.1 xhci-hcd
[ 12.356297] mmc0: SDHCI controller on ff160000.mmc [ff160000.mmc] using ADMA 64-bit
[ 12.356529] usb usb1: SerialNumber: xhci-hcd.0.auto
[ 12.369049] rtc_zynqmp ffa60000.rtc: setting system clock to 1970-01-01T00:00:14 UTC (14)
[ 12.377234] of_cfs_init
[ 12.377614] hub 1-0:1.0: USB hub found
[ 12.379729] of_cfs_init: OK
[ 12.383463] hub 1-0:1.0: 1 port detected
[ 12.386414] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 12.390401] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[ 12.403393] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[ 12.411060] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
[ 12.417709] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[ 12.425939] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
[ 12.434210] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 12.441437] usb usb2: Product: xHCI Host Controller
[ 12.446310] usb usb2: Manufacturer: Linux 5.4.0-xilinx-v2020.1 xhci-hcd
[ 12.452919] usb usb2: SerialNumber: xhci-hcd.0.auto
[ 12.458129] hub 2-0:1.0: USB hub found
[ 12.461945] hub 2-0:1.0: 1 port detected
[ 12.535226] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 12.541981] zynqmp_pll_disable() clock disable failed for dpll_int, ret = -13
[ 12.549940] ALSA device list:
[ 12.552911] #0: DisplayPort monitor
[ 12.557252] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 12.565874] cfg80211: failed to load regulatory.db
[ 12.574060] Waiting for root device /dev/mmcblk0p2...
[ 12.593432] mmc0: new ultra high speed SDR104 SDHC card at address 59b4
[ 12.600858] mmcblk0: mmc0:59b4 USDU1 14.9 GiB (ro)
[ 12.607396] mmcblk0: p1 p2
[ 12.626188] VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -30
[ 12.634192] Please append a correct "root=" boot option; here are the available partitions:
[ 12.642544] 0100 65536 ram0
[ 12.642546] (driver?)
[ 12.648637] 0101 65536 ram1
[ 12.648638] (driver?)
[ 12.654727] 0102 65536 ram2
[ 12.654728] (driver?)
[ 12.660814] 0103 65536 ram3
[ 12.660815] (driver?)
[ 12.666912] 0104 65536 ram4
[ 12.666913] (driver?)
[ 12.673001] 0105 65536 ram5
[ 12.673002] (driver?)
[ 12.679103] 0106 65536 ram6
[ 12.679105] (driver?)
[ 12.685196] 0107 65536 ram7
[ 12.685197] (driver?)
[ 12.691297] 0108 65536 ram8
[ 12.691298] (driver?)
[ 12.697392] 0109 65536 ram9
[ 12.697393] (driver?)
[ 12.703491] 010a 65536 ram10
[ 12.703492] (driver?)
[ 12.709665] 010b 65536 ram11
[ 12.709666] (driver?)
[ 12.715850] 010c 65536 ram12
[ 12.715851] (driver?)
[ 12.722031] 010d 65536 ram13
[ 12.722032] (driver?)
[ 12.728206] 010e 65536 ram14
[ 12.728207] (driver?)
[ 12.734392] 010f 65536 ram15
[ 12.734393] (driver?)
[ 12.740574] b300 15588352 mmcblk0
[ 12.740576] driver: mmcblk
[ 12.747366] b301 1048576 mmcblk0p1 f18919ee-01
[ 12.747367]
[ 12.754153] b302 14538752 mmcblk0p2 f18919ee-02
[ 12.754154]
[ 12.760939] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
[ 12.769370] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.4.0-xilinx-v2020.1 #1
[ 12.776489] Hardware name: xlnx,zynqmp (DT)
[ 12.780657] Call trace:
[ 12.783101] dump_backtrace+0x0/0x140
[ 12.786751] show_stack+0x14/0x20
[ 12.790064] dump_stack+0xac/0xd0
[ 12.793366] panic+0x140/0x2f8
[ 12.796417] mount_block_root+0x1d0/0x284
[ 12.800412] mount_root+0x124/0x158
[ 12.803884] prepare_namespace+0x15c/0x1a4
[ 12.807965] kernel_init_freeable+0x234/0x258
[ 12.812319] kernel_init+0x10/0xfc
[ 12.815710] ret_from_fork+0x10/0x18
[ 12.819278] SMP: stopping secondary CPUs
[ 12.823193] Kernel Offset: disabled
[ 12.826670] CPU features: 0x0002,20002004
[ 12.830670] Memory Limit: none
[ 12.833717] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2) ]---
Hello,
how did you formate your SD?
How did you generate kernel, device tree, fsbl, bl31, pmu? Did you use correct PS setup? Which Vivado / Petalinux version did you use?
We have a reference design with RAM Disk online(file system will load into RAM) . Reference design includes prebuilt Boot.bin and image.ub.
https://wiki.trenz-electronic.de/display/PD/TE0802+Test+Board
Do this works?
br
John
Hello,
Quotehow did you formate your SD?
Attached is a screenshot of the SD partition through the gparted tool.
BOOT.BIN, boot.scr and image.ub are on the first partision.
Ubuntu rootfs is on the second one.
QuoteHow did you generate kernel, device tree, fsbl, bl31, pmu? Did you use correct PS setup? Which Vivado / Petalinux version did you use?
I generated those files using Petalinux tool. The version is 2020.1.
I modifed project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi as below:
/include/ "system-conf.dtsi"
/ {
chosen {
bootargs = "console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait uio_pdrv_genirq.of_id=generic-uio";
};
};
Since I used your board file(board_files/TE0802_2CG_1E/2.0/), I can assume that the PS settings are correct.
The vivado version I used is 2019.2.
Quotehttps://wiki.trenz-electronic.de/display/PD/TE0802+Test+Board
Do this works?
Yes, I copied BOOT.bin, which is in TE0802-test_board-vivado_2019.2-build_12_20200602111955/test_board/prebuilt/boot_images/2cg_i1gb/u-boot to SD card.
I confirmed the U-Boot's console message and blinking LEDs on the TE0802.
Hi.
We managed to boot petalinux in te0802 from sd card. Here are some of the key points we found:
1. Ensure that the board is set to boot from SD. There are little switches next to the VGA output. They should be like this:
1 - *
2 - *
3 * -
4 * -
2. The SD card partitions should look like this:
4Mb unallocated
60Mb fat32 BOOT
all remain ext4 rootfs
3. In the menu that will pop when you execute $petalinux-config --get-hw-description=<path-to-hdf-or-xsa>. Select the following:
Image Packaging Configuration tab
Root Filesystem Type
SD card
device node of SD device
/dev/mmcblk0p2
Subsystem AUTO Hardware Settings
SD/SDIO Settings
Primary SD/SDIO
psu_sd_0
4. In the menu that pop when you run $ petalinux-config -c u-boot . Select the following:
Environment
Environment is in SPI flash
Is important to do this step just before building petalinux. Running $ petalinux-config -c kernel overwrites your selections for u-boot.
5. After copying your BOOT.bin and image.ub to BOOT partition, and extracting rootfs.tar.gz in the rootfs partition, execute $ sync . I've found out that sometimes the umount comand fails leaving empty files.
6. When booting intercept the boot in the count down and edit bootargs.
ZynqMP> setenv bootargs 'console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rootfstype=ext4 ru rootwait'
When you create the BOOT.bin with petalinux-package --boot --fsbl <your-folder>/zynqmp_fsbl.elf --fpga <you-folder>/system.bit --u-boot --pmufw <your-folder>/pmufw.elf , use the fsbl provided by trenz on the test_board project. Otherwise the ethernet would not work.
This has worked for us. Hope it helps.
Hi,
Thank you for your advice. However, the issue has not been solved...
(kernel panic)
There is a thing I'd like to be sure about.
Quote4. In the menu that pop when you run $ petalinux-config -c u-boot . Select the following:
Environment
Environment is in SPI flash
Is this setting correct in attached file? May I not have to set other select?
Different petalinux version. We're using 2019.2. This is how it looks for me. (//)
Hi pluto,
I would also recommend to use 19.2 like ycalderon suggested.
it's important that you always use same version from Vivado/Vitis(SDK) and petalinux. Xilinx change procedure sometime between different version, so it can happens that same configuration like on an older petalinux version doesn't work on a newer one.
Important for SD rootfs are the boot args( you can modify boot args on runtime like ycalderon suggested):
"6. When booting intercept the boot in the count down and edit bootargs.
ZynqMP> setenv bootargs 'console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rootfstype=ext4 ru rootwait'"
--> you can also do this in the device tree. We have done it with our TE080x series:
https://wiki.trenz-electronic.de/display/PD/TE0808+SK+Demo1#TE0808SKDemo1-DeviceTree
/ {
chosen {
bootargs= "console=ttyPS0,115200 earlycon clk_ignore_unused earlyprintk root=/dev/mmcblk1p2 rootfstype=ext4 rw rootwait cma=1024M";
};
};
with the ram disk prebuilts you can check if your second portion will be mounted as "/dev/mmcblk0p2" or "/dev/mmcblk1p2" and if this is also WP on the prebuilts (I didn't thing so).
You can also add "disable-wp;" to the SD part of the device tree, in case WP is really the problem in your case.
br
John
Hi,
I ran it the way ycalderon suggested with Petalinux 2019.2.
But the console displayed kernel panic with same cause.
What should I do?
[ 8.987766] mmcblk0: mmc0:59b4 USDU1 14.9 GiB (ro)
U-Boot 2019.01 (Aug 25 2020 - 09:21:25 +0000)
Board: Xilinx ZynqMP
DRAM: 1023 MiB
usb dr_mode not found
EL Level: EL2
Chip ID: zu2cg
MMC: mmc@ff160000: 0
Loading Environment from SPI Flash... SF: Detected n25q256 with page size 256 Bytes, erase size 64 KiB, total 32 MiB
*** Warning - bad CRC, using default environment
In: serial@ff000000
Out: serial@ff000000
Err: serial@ff000000
Board: Xilinx ZynqMP
Bootmode: SD_MODE
Reset reason: EXTERNAL
Net: ZYNQ GEM: ff0e0000, phyaddr ffffffff, interface rgmii-id
eth0: ethernet@ff0e0000
U-BOOT for peta
ethernet@ff0e0000 Waiting for PHY auto negotiation to complete......................................... TIMEOUT !
Hit any key to stop autoboot: 0
ZynqMP> setenv bootargs 'console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rootfstype=ext4 ru rootwait'
ZynqMP> boot
Device: mmc@ff160000
Manufacturer ID: 74
OEM: 4a60
Name: USDU1
Bus Speed: 50000000
Mode : SD High Speed (50MHz)
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 14.9 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
18115388 bytes read in 1571 ms (11 MiB/s)
## Loading kernel from FIT Image at 10000000 ...
Using 'conf@system-top.dtb' configuration
Trying 'kernel@1' kernel subimage
Description: Linux kernel
Type: Kernel Image
Compression: uncompressed
Data Start: 0x10000104
Data Size: 18082304 Bytes = 17.2 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x00080000
Entry Point: 0x00080000
Hash algo: sha1
Hash value: f3fe1fd7fa9bd505d14156d817d614198e56a1d8
Verifying Hash Integrity ... sha1+ OK
## Loading fdt from FIT Image at 10000000 ...
Using 'conf@system-top.dtb' configuration
Trying 'fdt@system-top.dtb' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x1113ec08
Data Size: 31166 Bytes = 30.4 KiB
Architecture: AArch64
Hash algo: sha1
Hash value: 6e15340395ac26080c35d7f25ac742eed0d67fe6
Verifying Hash Integrity ... sha1+ OK
Booting using the fdt blob at 0x1113ec08
Loading Kernel Image ... OK
Loading Device Tree to 0000000007ff5000, end 0000000007fff9bd ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 4.19.0-xilinx-v2019.2 (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP Tue Aug 25 09:07:55 UTC 2020
[ 0.000000] Machine model: xlnx,zynqmp
:
:
:
[ 8.980031] mmc0: new ultra high speed SDR104 SDHC card at address 59b4
[ 8.981491] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 8.987766] mmcblk0: mmc0:59b4 USDU1 14.9 GiB (ro)
[ 8.993389] zynqmp_pll_disable() clock disable failed for dpll_int, ret = -13
[ 8.999238] mmcblk0: p1 p2
[ 9.005871] ALSA device list:
[ 9.010795] #0: DisplayPort monitor
[ 9.015351] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 9.023978] cfg80211: failed to load regulatory.db
[ 9.030615] EXT4-fs (mmcblk0p2): INFO: recovery required on readonly filesystem
[ 9.037937] EXT4-fs (mmcblk0p2): write access unavailable, cannot proceed (try mounting with noload)
[ 9.047116] VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -30
[ 9.055110] Please append a correct "root=" boot option; here are the available partitions:
[ 9.063462] 0100 65536 ram0
[ 9.063464] (driver?)
[ 9.069563] 0101 65536 ram1
[ 9.069564] (driver?)
[ 9.075651] 0102 65536 ram2
[ 9.075652] (driver?)
[ 9.081749] 0103 65536 ram3
[ 9.081751] (driver?)
[ 9.087842] 0104 65536 ram4
[ 9.087844] (driver?)
[ 9.093927] 0105 65536 ram5
[ 9.093928] (driver?)
[ 9.100011] 0106 65536 ram6
[ 9.100013] (driver?)
[ 9.106096] 0107 65536 ram7
[ 9.106098] (driver?)
[ 9.112189] 0108 65536 ram8
[ 9.112191] (driver?)
[ 9.118278] 0109 65536 ram9
[ 9.118280] (driver?)
[ 9.124377] 010a 65536 ram10
[ 9.124378] (driver?)
[ 9.130552] 010b 65536 ram11
[ 9.130553] (driver?)
[ 9.136737] 010c 65536 ram12
[ 9.136738] (driver?)
[ 9.142912] 010d 65536 ram13
[ 9.142914] (driver?)
[ 9.149096] 010e 65536 ram14
[ 9.149098] (driver?)
[ 9.155273] 010f 65536 ram15
[ 9.155274] (driver?)
[ 9.161462] 1f00 1024 mtdblock0
[ 9.161464] (driver?)
[ 9.167994] 1f01 256 mtdblock1
[ 9.167996] (driver?)
[ 9.174516] 1f02 22528 mtdblock2
[ 9.174518] (driver?)
[ 9.181037] b300 15588352 mmcblk0
[ 9.181039] driver: mmcblk
[ 9.187826] b301 61440 mmcblk0p1 f18919ee-01
[ 9.187827]
[ 9.194609] b302 15522816 mmcblk0p2 f18919ee-02
[ 9.194611]
[ 9.201400] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
[ 9.209830] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.19.0-xilinx-v2019.2 #1
[ 9.217037] Hardware name: xlnx,zynqmp (DT)
[ 9.221204] Call trace:
[ 9.223665] dump_backtrace+0x0/0x148
[ 9.227316] show_stack+0x14/0x20
[ 9.230630] dump_stack+0x90/0xb4
[ 9.233931] panic+0x120/0x268
[ 9.236979] mount_block_root+0x1b0/0x260
[ 9.240976] mount_root+0x11c/0x148
[ 9.244448] prepare_namespace+0x158/0x1a0
[ 9.248529] kernel_init_freeable+0x1b8/0x1d4
[ 9.252878] kernel_init+0x10/0xfc
[ 9.256272] ret_from_fork+0x10/0x18
[ 9.259844] SMP: stopping secondary CPUs
[ 9.263756] Kernel Offset: disabled
[ 9.267234] CPU features: 0x0,20802004
[ 9.270966] Memory Limit: none
[ 9.274012] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2) ]---
Hi,
is wp enabled when you boot the reference design prebuilts? -->leave your ext4 partition but replace Boot.bin and image.ub on the fat32 partition with prebuilt one. Start and check partiions with the running linux. Do you see "mmcblk0p2" there? And is it write protect or not?
For your design " You can also add "disable-wp;" to the SD part of the device tree, in case WP is really the problem in your case."
And check if WP is enabled in your Vivado design. --> I've checked again reference design and board part files, WP is not enabled.
br
John
Hi,
Quoteis wp enabled when you boot the reference design prebuilts? -->leave your ext4 partition but replace Boot.bin and image.ub on the fat32 partition with prebuilt one. Start and check partiions with the running linux. Do you see "mmcblk0p2" there? And is it write protect or not?
After replacing them, I can see ext4 partition and write a file on it.
PetaLinux 2019.2 petalinux /dev/ttyPS0
petalinux login: root
Password:
root@petalinux:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mtdblock0 31:0 0 1M 0 disk
mtdblock1 31:1 0 256K 0 disk
mtdblock2 31:2 0 22M 0 disk
mmcblk0 179:0 0 14.9G 0 disk
|-mmcblk0p1 179:1 0 60M 0 part /run/media/mmcblk0p1
`-mmcblk0p2 179:2 0 14.8G 0 part /run/media/mmcblk0p2
root@petalinux:~# cd /run/media/mmcblk0p2
root@petalinux:/run/media/mmcblk0p2# dd if=/dev/zero of=1M.file bs=1M count=1
1+0 records in
1+0 records out
root@petalinux:/run/media/mmcblk0p2# ls -al
total 1108
drwxr-xr-x 19 root root 4096 May 26 20:53 .
drwxr-xr-x 4 root root 80 May 26 20:47 ..
-rw-r--r-- 1 root root 1048576 May 26 20:53 1M.file
Quote
For your design " You can also add "disable-wp;" to the SD part of the device tree, in case WP is really the problem in your case."
And check if WP is enabled in your Vivado design. --> I've checked again reference design and board part files, WP is not enabled.
Vivado's IP settings in my design display Write Protection is OFF.
(attached file)
how looks your device tree?
br
John
Hi,
In this test, the device tree was not specifically described.
/include/ "system-conf.dtsi"
/ {
};
When I created this topic, I set it up as follows.
/include/ "system-conf.dtsi"
/ {
chosen {
bootargs = "console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait uio_pdrv_genirq.of_id=generic-uio";
};
};
Hi,
hm and your xsa is generated with 19.2 and you has create again (from scratch) petalinux with 19.2 petalinux? No longer mixed design like at the beginning?
try one time
/ {
chosen {
bootargs= "console=ttyPS0,115200 earlycon clk_ignore_unused earlyprintk root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait cma=1024M";
};
};
br
John
After inserting disable-wp, I can boot from ext4 partition.
/include/ "system-conf.dtsi"
/ {
};
&sdhci1 {
disable-wp;
no-1-8-v;
};
U-Boot 2019.01 (May 26 2020 - 20:29:14 +0000)
Board: Xilinx ZynqMP
DRAM: 1023 MiB
EL Level: EL2
Chip ID: zu2cg
MMC: mmc@ff160000: 0
In: serial@ff000000
Out: serial@ff000000
Err: serial@ff000000
Board: Xilinx ZynqMP
Bootmode: SD_MODE
Reset reason: EXTERNAL
Net: ZYNQ GEM: ff0e0000, phyaddr 1, interface rgmii-id
Warning: ethernet@ff0e0000 using MAC address from ROM
eth0: ethernet@ff0e0000
U-BOOT for petalinux
ethernet@ff0e0000 Waiting for PHY auto negotiation to complete...... done
BOOTP broadcast 1
BOOTP broadcast 2
DHCP client bound to address 192.168.1.88 (591 ms)
Hit any key to stop autoboot: 0
ZynqMP> setenv bootargs 'console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait'
ZynqMP> boot
Device: mmc@ff160000
Manufacturer ID: 74
OEM: 4a60
Name: USDU1
Bus Speed: 50000000
Mode : SD High Speed (50MHz)
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 14.9 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
36161476 bytes read in 3132 ms (11 MiB/s)
## Loading kernel from FIT Image at 10000000 ...
Using 'conf@system-top.dtb' configuration
Trying 'kernel@1' kernel subimage
Description: Linux kernel
Type: Kernel Image
Compression: uncompressed
Data Start: 0x10000104
Data Size: 18283008 Bytes = 17.4 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x00080000
Entry Point: 0x00080000
Hash algo: sha1
Hash value: 6adfee27b257bedb7055e873ac4e4ecbaf339839
Verifying Hash Integrity ... sha1+ OK
## Loading ramdisk from FIT Image at 10000000 ...
Using 'conf@system-top.dtb' configuration
Trying 'ramdisk@1' ramdisk subimage
Description: petalinux-user-image
Type: RAMDisk Image
Compression: gzip compressed
Data Start: 0x1117762c
Data Size: 17845256 Bytes = 17 MiB
Architecture: AArch64
OS: Linux
Load Address: unavailable
Entry Point: unavailable
Hash algo: sha1
Hash value: e935ba88956df07ea5575b01b553f94283f78068
Verifying Hash Integrity ... sha1+ OK
## Loading fdt from FIT Image at 10000000 ...
Using 'conf@system-top.dtb' configuration
Trying 'fdt@system-top.dtb' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x1116fc08
Data Size: 31071 Bytes = 30.3 KiB
Architecture: AArch64
Hash algo: sha1
Hash value: a0b37e1b8ba030ee3f03ec3a064978068f7e8ee0
Verifying Hash Integrity ... sha1+ OK
Booting using the fdt blob at 0x1116fc08
Loading Kernel Image ... OK
Loading Ramdisk to 37efb000, end 38fffc08 ... OK
Loading Device Tree to 0000000007ff5000, end 0000000007fff95e ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 4.19.0-xilinx-v2019.2 (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP Tue May 26 20:27:54 UTC 2020
[ 0.000000] Machine model: xlnx,zynqmp
:
:
[ 13.582011] mmc0: new high speed SDHC card at address 59b4
[ 13.588816] mmcblk0: mmc0:59b4 USDU1 14.9 GiB
[ 13.595466] mmcblk0: p1 p2
[ 13.688557] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 13.695315] zynqmp_pll_disable() clock disable failed for dpll_int, ret = -13
[ 13.703242] ALSA device list:
[ 13.706197] #0: DisplayPort monitor
[ 13.710414] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 13.719026] cfg80211: failed to load regulatory.db
[ 13.724499] Freeing unused kernel memory: 832K
[ 13.742799] Run /init as init process
INIT: version 2.88 booting
Starting udev
[ 13.912845] udevd[1799]: starting version 3.2.5
[ 13.923098] udevd[1800]: starting eudev-3.2.5
[ 15.003744] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 15.130151] EXT4-fs (mmcblk0p2): recovery complete
[ 15.134976] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
Tue May 26 20:44:50 UTC 2020
:
:
Starting internet superserver: inetd.
Init Start
Init End
Starting syslogd/klogd: done
Starting tcf-agent: OK
PetaLinux 2019.2 petalinux /dev/ttyPS0
petalinux login: root
Password:
root@petalinux:~# df -h
Filesystem Size Used Available Use% Mounted on
devtmpfs 357.6M 4.0K 357.6M 0% /dev
tmpfs 494.5M 124.0K 494.4M 0% /run
tmpfs 494.5M 76.0K 494.4M 0% /var/volatile
/dev/mmcblk0p1 59.1M 37.5M 21.6M 63% /run/media/mmcblk0p1
/dev/mmcblk0p2 14.5G 56.1M 13.7G 0% /run/media/mmcblk0p2
Thank you very much for your cooperation.
pluto
Hi,
ok fine.
It's only strange that you must add this attribute , so something is different between your 19.2 generation this one from ycalderon and my one .
br
John
I'm trying to do similar with TE0820 using Vivado and PetaLinux 2020.2 and having problems.
I am able to boot using QSPI and having boot and rootfs partitions on SD Card. But I need to boot kernel and rootfs from eMMC.
I have already created partitions on eMMC where image.ub, boot.scr are on first bootable partition and second ext4 partition has rootfs.
In PetaLinux config I have changed rootfs partition to /dev/mmcblk0p2 which is for eMMC but when I boot the board, bootup stops and waits for SD partition.
[ 4.101958] Waiting for root device /dev/mmcblk1p2...
In bootlog I can see that bootargs are set to point to /dev/mmcblk1p2 which is SD card partition.
[ 0.000000] Kernel command line: earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/mmcblk1p2 rw rootwait cma=1000M cpuidle.off=1
When I interrupt the boot and manually enter bootargs and then boot the board without having SD card inserted in the slot, I'm able to boot properly.
ZynqMP> setenv bootargs "earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait cma=1024M cpuidle.off=1"
I have also added the following in project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi but did not help.
/ {
chosen {
bootargs= "earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait cma=1024M cpuidle.off=1";
};
};
How do I get these bootargs to save? Is there anything else I can try?
Thanks!
Hi,
Xilinx has changed boot flow with 2020.x. You must create correct boot.scr file, here are some information about this topic
https://wiki.trenz-electronic.de/display/PD/Distro+Boot+with+Boot.scr
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/749142017/Using+Distro+Boot+With+Xilinx+U-Boot#UsingDistroBootWithXilinxU-Boot-BootTargets
br
John