Jump to content
  • 0

Zybo root filesystem / following tutorial


strelok

Question

Hi all,

 

After few weeks of searching on different websites, I have not find the solution and I can't finish the 'Embedded Linux® Hands-on Tutorial for the ZYBO'

I am stuck in step 5.4, the booting of the kernel freeze

I have a SD card with 2 partition (ZYBO_BOOT as vfat and ROOT_FS as ext4)

I have nothing in ROOT_FS (it's normal? the tutorial do not say anything about it!) and 4 files (BOOT.bin  devicetree.dtb  uImage  uramdisk.image.gz)

 

see the terminal log through minicom ;

U-Boot 2014.01-00005-gc29bed9 (Mar 03 2015 - 23:13:37)

I2C:   ready
Memory: ECC disabled
DRAM:  512 MiB
MMC:   zynq_sdhci: 0
SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
Hit any key to stop autoboot:  0 
Device: zynq_sdhci
Manufacturer ID: 2
OEM: 544d
Name: SD02G 
Tran Speed: 50000000
Rd Block Len: 512
SD version 2.0
High Capacity: No
Capacity: 1.8 GiB
Bus Width: 4-bit
reading uEnv.txt
** Unable to read file uEnv.txt **
Copying Linux from SD to RAM...
reading uImage
3819368 bytes read in 368 ms (9.9 MiB/s)
reading devicetree.dtb
7430 bytes read in 15 ms (483.4 KiB/s)
reading uramdisk.image.gz
2608577 bytes read in 257 ms (9.7 MiB/s)
## Booting kernel from Legacy Image at 03000000 ...
   Image Name:   Linux-3.14.0-xilinx-13567-g906a2
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3819304 Bytes = 3.6 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02000000 ...
   Image Name:   
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    2608513 Bytes = 2.5 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
   Booting using the fdt blob at 0x2a00000
   Loading Kernel Image ... OK
   Loading Ramdisk to 1f8b2000, end 1fb2ed81 ... OK
   Loading Device Tree to 1f8ad000, end 1f8b1d05 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.14.0-xilinx-13567-g906a2c9-dirty (simon@simon-ThinkPad-T60) (gcc version 45
[    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Xilinx Zynq
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] INITRD: 0x00800000+0x00800000 overlaps in-use memory region - disabling initrd
[    0.000000] cma: CMA: reserved 128 MiB at 17800000
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] PERCPU: Embedded 8 pages/cpu @dfb9e000 s10752 r8192 d13824 u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttyPS0,115200 root=/dev/ram rw initrd=0x800000,8M
[    0.000000] init=/init earlyprintk rootwait devtmpfs.mount=1
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 372860K/524288K available (5133K kernel code, 319K rwdata, 1888K rodata, 206K init)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc06e39f4   (7023 kB)
[    0.000000]       .init : 0xc06e4000 - 0xc0717a00   ( 207 kB)
[    0.000000]       .data : 0xc0718000 - 0xc0767d40   ( 320 kB)
[    0.000000]        .bss : 0xc0767d4c - 0xc0c9eb88   (5340 kB)
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  RCU lockdep checking is enabled.
[    0.000000]  Dump stacks of tasks blocking RCU-preempt GP.
[    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] ps7-slcr mapped to e0802000
[    0.000000] zynq_clock_init: clkc starts at e0802100
[    0.000000] Zynq clock init
[    0.000015] sched_clock: 64 bits at 325MHz, resolution 3ns, wraps every 3383112499200ns
[    0.008496] ps7-ttc #0 at e0804000, irq=43
[    0.013565] Console: colour dummy device 80x30
[    0.017903] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.025979] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.029999] ... MAX_LOCK_DEPTH:          48
[    0.034172] ... MAX_LOCKDEP_KEYS:        8191
[    0.038588] ... CLASSHASH_SIZE:          4096
[    0.042943] ... MAX_LOCKDEP_ENTRIES:     16384
[    0.047415] ... MAX_LOCKDEP_CHAINS:      32768
[    0.051915] ... CHAINHASH_SIZE:          16384
[    0.056360]  memory used by lock dependency info: 3695 kB
[    0.061806]  per task-struct memory footprint: 1152 bytes
[    0.067251] Calibrating delay loop... 1292.69 BogoMIPS (lpj=6463488)
[    0.110956] pid_max: default: 32768 minimum: 301
[    0.116249] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.122792] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.137103] CPU: Testing write buffer coherency: ok
[    0.143388] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.149033] Setting up static identity map for 0x4deff0 - 0x4df048
[    0.155408] L310 cache controller enabled
[    0.159363] l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x72760000, Cache size: 512 kB
[    0.240344] CPU1: Booted secondary processor
[    0.328280] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.329300] Brought up 2 CPUs
[    0.342169] SMP: Total of 2 processors activated.
[    0.346870] CPU: All CPU(s) started in SVC mode.
[    0.354970] devtmpfs: initialized
[    0.365507] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.379785] regulator-dummy: no parameters
[    0.392825] NET: Registered protocol family 16
[    0.401633] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.415160] cpuidle: using governor ladder
[    0.419146] cpuidle: using governor menu
[    0.445608] syscon f8000000.ps7-slcr: regmap [mem 0xf8000000-0xf8000fff] registered
[    0.457452] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.465403] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.471636] zynq-ocm f800c000.ps7-ocmc: ZYNQ OCM pool: 256 KiB @ 0xe0880000
[    0.541489] bio: create slab <bio-0> at 0
[    0.551058] vgaarb: loaded
[    0.555515] SCSI subsystem initialized
[    0.561828] usbcore: registered new interface driver usbfs
[    0.567646] usbcore: registered new interface driver hub
[    0.573407] usbcore: registered new device driver usb
[    0.579895] media: Linux media interface: v0.10
[    0.584755] Linux video capture interface: v2.00
[    0.589984] pps_core: LinuxPPS API ver. 1 registered
[    0.594824] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.604697] PTP clock support registered
[    0.609553] EDAC MC: Ver: 3.0.0
[    0.615751] Advanced Linux Sound Architecture Driver Initialized.
[    0.631673] DMA-API: preallocated 4096 debug entries
[    0.636515] DMA-API: debugging enabled by kernel config
[    0.642473] Switched to clocksource arm_global_timer
[    0.703687] NET: Registered protocol family 2
[    0.710626] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.718845] TCP bind hash table entries: 4096 (order: 5, 147456 bytes)
[    0.726905] TCP: Hash tables configured (established 4096 bind 4096)
[    0.733394] TCP: reno registered
[    0.736525] UDP hash table entries: 256 (order: 2, 20480 bytes)
[    0.742820] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
[    0.750299] NET: Registered protocol family 1
[    0.756183] RPC: Registered named UNIX socket transport module.
[    0.761965] RPC: Registered udp transport module.
[    0.766777] RPC: Registered tcp transport module.
[    0.771425] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.779341] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
[    0.793081] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.806796] jffs2: version 2.2. (NAND) (SUMMARY)  �© 2001-2006 Red Hat, Inc.
[    0.814343] msgmni has been set to 984
[    0.819587] io scheduler noop registered
[    0.823460] io scheduler deadline registered
[    0.827790] io scheduler cfq registered (default)
[    0.851109] dma-pl330 f8003000.ps7-dma: Loaded driver for PL330 DMAC-2364208
[    0.858115] dma-pl330 f8003000.ps7-dma:      DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
[    0.870118] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 82, base_baud = 3125000) is a xuartps
[    0.879507] console [ttyPS0] enabled
[    0.879507] console [ttyPS0] enabled
[    0.886734] bootconsole [earlycon0] disabled
[    0.886734] bootconsole [earlycon0] disabled
[    0.897740] xdevcfg f8007000.ps7-dev-cfg: ioremap 0xf8007000 to e0866000
[    0.907515] [drm] Initialized drm 1.1.0 20060810
[    0.944890] brd: module loaded
[    0.966573] loop: module loaded
[    0.982074] m25p80 spi0.0: found s25fl128s1, expected n25q128
[    0.988640] m25p80 spi0.0: s25fl128s1 (16384 Kbytes)
[    0.994027] 4 ofpart partitions found on MTD device spi0.0
[    0.999437] Creating 4 MTD partitions on "spi0.0":
[    1.004275] 0x000000000000-0x000000400000 : "qspi-fsbl-uboot"
[    1.017398] 0x000000400000-0x000000900000 : "qspi-linux"
[    1.027360] 0x000000900000-0x000000920000 : "qspi-device-tree"
[    1.037782] 0x000000920000-0x000001000000 : "qspi-user"
[    1.056889] e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k
[    1.062734] e1000e: Copyright(c) 1999 - 2013 Intel Corporation.
[    1.074528] libphy: XEMACPS mii bus: probed
[    1.080845] xemacps e000b000.ps7-ethernet: pdev->id -1, baseaddr 0xe000b000, irq 54
[    1.091776] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.098911] ehci-pci: EHCI PCI platform driver
[    1.106624] zynq-dr e0002000.ps7-usb: Unable to init USB phy, missing?
[    1.114086] usbcore: registered new interface driver usb-storage
[    1.122928] mousedev: PS/2 mouse device common for all mice
[    1.130474] i2c /dev entries driver
[    1.142746] zynq-edac f8006000.ps7-ddrc: ecc not enabled
[    1.148890] cpufreq_cpu0: failed to get cpu0 regulator: -19
[    1.157328] Xilinx Zynq CpuIdle Driver started
[    1.163639] sdhci: Secure Digital Host Controller Interface driver
[    1.169736] sdhci: Copyright(c) Pierre Ossman
[    1.174160] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.180255] mmc0: no vqmmc regulator found
[    1.184353] mmc0: no vmmc regulator found
[    1.222365] mmc0: SDHCI controller on e0100000.ps7-sdio [e0100000.ps7-sdio] using ADMA
[    1.232903] usbcore: registered new interface driver usbhid
[    1.238395] usbhid: USB HID core driver
[    1.249155] TCP: cubic registered
[    1.252473] NET: Registered protocol family 17
[    1.257282] Registering SWP/SWPB emulation handler
[    1.264961] regulator-dummy: disabling
[    1.269190] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[    1.301015] ALSA device list:
[    1.304031]   No soundcards found.
[    1.315265] List of all partitions:
[    1.319155] 1f00            4096 mtdblock0  (driver?)
[    1.324138] 1f01            5120 mtdblock1  (driver?)
[    1.329169] 1f02             128 mtdblock2  (driver?)
[    1.334206] 1f03            7040 mtdblock3  (driver?)             
[    1.339226] No filesystem could mount root, tried:  ext3 ext2 ext4 vfat msdos
[    1.346527] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
[    1.354715] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.14.0-xilinx-13567-g906a2c9-dirty #2
[    1.363073] [<c0015658>] (unwind_backtrace) from [<c00119b4>] (show_stack+0x10/0x14)
[    1.370786] [<c00119b4>] (show_stack) from [<c04d8b44>] (dump_stack+0x8c/0xd0)
[    1.377982] [<c04d8b44>] (dump_stack) from [<c04d6438>] (panic+0x88/0x1dc)
[    1.384846] [<c04d6438>] (panic) from [<c06e5040>] (mount_block_root+0x1d4/0x214)
[    1.392304] [<c06e5040>] (mount_block_root) from [<c06e5244>] (mount_root+0xdc/0x100)
[    1.400117] [<c06e5244>] (mount_root) from [<c06e53c0>] (prepare_namespace+0x158/0x1b8)
[    1.408102] [<c06e53c0>] (prepare_namespace) from [<c06e4c98>] (kernel_init_freeable+0x188/0x1d0)
[    1.416954] [<c06e4c98>] (kernel_init_freeable) from [<c04d4198>] (kernel_init+0x8/0xe4)
[    1.425027] [<c04d4198>] (kernel_init) from [<c000e728>] (ret_from_fork+0x14/0x2c)
[    1.432681] CPU1: stopping
[    1.435317] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.14.0-xilinx-13567-g906a2c9-dirty #2
[    1.443664] [<c0015658>] (unwind_backtrace) from [<c00119b4>] (show_stack+0x10/0x14)
[    1.451384] [<c00119b4>] (show_stack) from [<c04d8b44>] (dump_stack+0x8c/0xd0)
[    1.458584] [<c04d8b44>] (dump_stack) from [<c0013e64>] (ipi_cpu_stop+0x3c/0x70)
[    1.465960] [<c0013e64>] (ipi_cpu_stop) from [<c00144ec>] (handle_IPI+0x68/0xac)
[    1.473338] [<c00144ec>] (handle_IPI) from [<c000854c>] (gic_handle_irq+0x58/0x60)
[    1.480888] [<c000854c>] (gic_handle_irq) from [<c0012444>] (__irq_svc+0x44/0x78)
[    1.488347] Exception stack(0xd7497f50 to 0xd7497f98)
[    1.493385] 7f40:                                     00000001 00000004 00000000 d7490100
[    1.501546] 7f60: 54a3f410 00000000 00000000 dfba7448 54a8554d 00000000 c0c8f230 00000000
[    1.509704] 7f80: 00000008 d7497f98 c005ee18 c03ba8cc 20000113 ffffffff
[    1.516312] [<c0012444>] (__irq_svc) from [<c03ba8cc>] (cpuidle_enter_state+0x54/0xe4)
[    1.524206] [<c03ba8cc>] (cpuidle_enter_state) from [<c03baa44>] (cpuidle_idle_call+0xe8/0x140)
[    1.532885] [<c03baa44>] (cpuidle_idle_call) from [<c000f2b0>] (arch_cpu_idle+0x8/0x3c)
[    1.540872] [<c000f2b0>] (arch_cpu_idle) from [<c0068ec8>] (cpu_startup_entry+0xc4/0x12c)
[    1.549027] [<c0068ec8>] (cpu_startup_entry) from [<000085e4>] (0x85e4)

 

 

Where could be wrong?

 

Thank you to help me...

Simon.

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

Hi Simon,

Going off the forum post you linked to, you will need an 8 GB SD card since the setup requires more than 4 GB. The particular SD card I linked to is the one Digilent used for the development of the ZYBO project.

As for the name of the partition, the name itself does not matter very much; it's more so that partition type needs to be correct.

Let me know if you have any more questions.

Thanks,
JColvin

Link to comment
Share on other sites

I have recompile the kernel with THE modified .dts

change the .dtb (which use the modified .dts)

 

no change on the image (./u-boot-Digilent-Dev/tools/mkimage -A arm -T ramdisk -c gzip -d ./ramdisk8M.image.gz uramdisk.image.gz ) and no change to the BOOT.bin

 

 

but this time ;

RAMDISK: Couldn't find valid RAM disk image starting at 0.
List of all partitions:
No filesystem could mount root, tried:  ext3 ext2 ext4 vfat msdos
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
CPU1: stopping
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.18.0-xilinx-46110-gd627f5d-dirty #1
[<400148b8>] (unwind_backtrace) from [<40010da4>] (show_stack+0x10/0x14)
[<40010da4>] (show_stack) from [<40467f1c>] (dump_stack+0x90/0xd4)
[<40467f1c>] (dump_stack) from [<40013254>] (ipi_cpu_stop+0x3c/0x6c)
[<40013254>] (ipi_cpu_stop) from [<40013864>] (handle_IPI+0x64/0x84)
[<40013864>] (handle_IPI) from [<400085c8>] (gic_handle_irq+0x54/0x5c)
[<400085c8>] (gic_handle_irq) from [<40011740>] (__irq_svc+0x40/0x74)
Exception stack(0x5e06ff70 to 0x5e06ffb8)
ff60:                                     41f2cdaf 00000000 00000018 fffffff8
ff80: 4191d72c 00000000 00000000 5fbddf30 4069d308 4069d308 4066c4d4 00000000
ffa0: 00000008 5e06ffb8 4005e0f4 40361534 00000113 ffffffff
[<40011740>] (__irq_svc) from [<40361534>] (cpuidle_enter_state+0x4c/0xc0)
[<40361534>] (cpuidle_enter_state) from [<40048180>] (cpu_startup_entry+0x17c/0x204)
[<40048180>] (cpu_startup_entry) from [<00008664>] (0x8664)
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

 

 

a forum thread ; https://forum.digilentinc.com/topic/621-zybo-tutorial-ramdisk-not-found/ says that it could come from the preparation of the SD card or a bad card, I will check it and show my result in this thread.

http://www.wiki.xilinx.com/Prepare+Boot+Medium The name of the partitions matters?

 

Simon.

Link to comment
Share on other sites

Hi,

I am wondering why we need an 8 GB SD Card knowing that the one provided in the package is up to 4 GB.

I have been able to make it work by changing the .dts file like this : bootargs = "console=ttyPS0,115200 root=/dev/ram0 rw init=/sbin/init earlyprintk rootwait devtmps.mount=1";

Hope you find a way. 

Mendeln

Link to comment
Share on other sites

Hi,

I talked to our guy that wrote a lot of the ZYBO demo and he said that you can get everything installed on a 4GB SD card, but once everything is all ready, you'll be left with relatively little room to add any extra programs onto the card, so we usually recommend using an 8 GB card so you have a lot more room to easily expand your project.

Thanks,
JColvin

Link to comment
Share on other sites

On 6/10/2015 at 2:36 PM, Mendeln said:

Hi,

I am wondering why we need an 8 GB SD Card knowing that the one provided in the package is up to 4 GB.

I have been able to make it work by changing the .dts file like this : bootargs = "console=ttyPS0,115200 root=/dev/ram0 rw init=/sbin/init earlyprintk rootwait devtmps.mount=1";

Hope you find a way. 

Mendeln

Thanks!! Worked for me!! After a lot of brain scratching!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...