Hi all,
I have problems getting linux to boot on my new MicroZed board. I have an existing root ram disk that worked fine on a Zybo board. I built a new u-boot, devicetree and FPGA configuration. When trying to boot everything from the SD card, I receive a kernel panic after the following error:
[ 19.815481] RAMDISK: gzip image found at block 0
[ 19.815408] RAMDISK: incomplete write (19019 != 32768)
[ 19.815408] write error
The full boot-logs are attached at the end. To me this seems to be a problem when reading the ramdisk from memory, which u-boot previously put there. I realized that in u-boot's zynq-zed configuration the available memory is configured to 512 MB, which is true for the ZedBoard but MicroZead has 1 GB. So, I tried adding mem=512M to the bootargs, which then resulted in a successfull boot, but now I can only use half of the available memory.
I also tried increasing the configuration in u-boot to 1GB memory. If I do so, the system already freezes when u-boot starts up, with the following output:
## Booting kernel from Legacy Image at 03000000 ...
Image Name: Linux-3.13.0-xilinx
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3544120 Bytes = 3.4 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: 5899971 Bytes = 5.6 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 1fa5f000, end 1ffff6c3 ...
Any help in getting this running would be greatly appreceated.
Full bootlogs:
U-Boot 2014.01 (Aug 24 2014 - 23:18:32)
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: 3
OEM: 5344
Name: SU04G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 3.7 GiB
Bus Width: 4-bit
reading uEnv.txt
** Unable to read file uEnv.txt **
Copying Linux from SD to RAM...
reading uImage
3544184 bytes read in 505 ms (6.7 MiB/s)
reading devicetree.dtb
8877 bytes read in 16 ms (541 KiB/s)
reading uramdisk.image.gz
5900035 bytes read in 803 ms (7 MiB/s)
## Booting kernel from Legacy Image at 03000000 ...
Image Name: Linux-3.13.0-xilinx
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3544120 Bytes = 3.4 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: 5899971 Bytes = 5.6 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 1f58f000, end 1fb2f6c3 ... OK
Loading Device Tree to 1f589000, end 1f58e2ac ... OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 3.13.0-xilinx (cone@cone-ubuntu) (gcc version 4.8.1 (Sourcery CodeBench Lite 2014
[ 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] Memory policy: Data cache writealloc
[ 0.000000] PERCPU: Embedded 8 pages/cpu @c1429000 s10176 r8192 d14400 u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260624
[ 0.000000] Kernel command line: ramdisk_size=65536 console=ttyPS0,115200 root=/dev/ram isolcpus=1 earlyprk
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 1021268K/1048576K available (4781K kernel code, 307K rwdata, 1692K rodata, 197K init, )
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xf0000000 - 0xff000000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xef800000 ( 760 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc065a600 (6474 kB)
[ 0.000000] .init : 0xc065b000 - 0xc068c7c0 ( 198 kB)
[ 0.000000] .data : 0xc068e000 - 0xc06dac78 ( 308 kB)
[ 0.000000] .bss : 0xc06dac84 - 0xc0c13230 (5346 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] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] ps7-slcr mapped to f0004000
[ 0.000000] zynq_clock_init: clkc starts at f0004100
[ 0.000000] Zynq clock init
[ 0.000000] sched_clock: 32 bits at 216MHz, resolution 4ns, wraps every 19822925819ns
[ 0.000000] ps7-ttc #0 at f0006000, irq=43
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[ 0.000000] ... MAX_LOCKDEP_SUBCLASSES: 8
[ 0.000000] ... MAX_LOCK_DEPTH: 48
[ 0.000000] ... MAX_LOCKDEP_KEYS: 8191
[ 0.000000] ... CLASSHASH_SIZE: 4096
[ 0.000000] ... MAX_LOCKDEP_ENTRIES: 16384
[ 0.000000] ... MAX_LOCKDEP_CHAINS: 32768
[ 0.000000] ... CHAINHASH_SIZE: 16384
[ 0.000000] memory used by lock dependency info: 3695 kB
[ 0.000000] per task-struct memory footprint: 1152 bytes
[ 19.815266] Calibrating delay loop... 858.52 BogoMIPS (lpj=4292608)
[ 19.815273] pid_max: default: 32768 minimum: 301
[ 19.815274] Mount-cache hash table entries: 512
[ 19.815277] CPU: Testing write buffer coherency: ok
[ 19.815278] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 19.815279] Setting up static identity map for 0x489b98 - 0x489bf0
[ 19.815280] L310 cache controller enabled
[ 19.815281] l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x72760000, Cache size: 512 kB
[ 19.815294] CPU1: Booted secondary processor
[ 19.815300] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 19.815300] Brought up 2 CPUs
[ 19.815302] SMP: Total of 2 processors activated.
[ 19.815303] CPU: All CPU(s) started in SVC mode.
[ 19.815305] devtmpfs: initialized
[ 19.815307] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[ 19.815310] regulator-dummy: no parameters
[ 19.815311] NET: Registered protocol family 16
[ 19.815312] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 19.815315] cpuidle: using governor ladder
[ 19.815315] cpuidle: using governor menu
[ 19.815322] syscon f8000000.ps7-slcr: regmap [mem 0xf8000000-0xf8000fff] registered
[ 19.815324] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[ 19.815325] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 19.815326] zynq-ocm f800c000.ps7-ocmc: ZYNQ OCM pool: 256 KiB @ 0xf0080000
[ 19.815342] bio: create slab <bio-0> at 0
[ 19.815344] vgaarb: loaded
[ 19.815345] SCSI subsystem initialized
[ 19.815346] usbcore: registered new interface driver usbfs
[ 19.815347] usbcore: registered new interface driver hub
[ 19.815348] usbcore: registered new device driver usb
[ 19.815349] media: Linux media interface: v0.10
[ 19.815350] Linux video capture interface: v2.00
[ 19.815351] pps_core: LinuxPPS API ver. 1 registered
[ 19.815352] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 19.815353] PTP clock support registered
[ 19.815354] EDAC MC: Ver: 3.0.0
[ 19.815358] DMA-API: preallocated 4096 debug entries
[ 19.815359] DMA-API: debugging enabled by kernel config
[ 19.815360] Switched to clocksource arm_global_timer
[ 19.815374] NET: Registered protocol family 2
[ 19.815375] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 19.815376] TCP bind hash table entries: 8192 (order: 6, 294912 bytes)
[ 19.815378] TCP: Hash tables configured (established 8192 bind 8192)
[ 19.815379] TCP: reno registered
[ 19.815379] UDP hash table entries: 512 (order: 3, 40960 bytes)
[ 19.815380] UDP-Lite hash table entries: 512 (order: 3, 40960 bytes)
[ 19.815382] NET: Registered protocol family 1
[ 19.815383] RPC: Registered named UNIX socket transport module.
[ 19.815384] RPC: Registered udp transport module.
[ 19.815385] RPC: Registered tcp transport module.
[ 19.815385] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 19.815387] Trying to unpack rootfs image as initramfs...
[ 19.815388] rootfs image is not initramfs (no cpio magic); looks like an initrd
[ 19.815399] Freeing initrd memory: 5760K (df58f000 - dfb2f000)
[ 19.815400] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
[ 19.815404] bounce pool size: 64 pages
[ 19.815406] jffs2: version 2.2. (NAND) (SUMMARY) uFFFDu00A9 2001-2006 Red Hat, Inc.
[ 19.815407] msgmni has been set to 1477
[ 19.815408] io scheduler noop registered
[ 19.815409] io scheduler deadline registered
[ 19.815410] io scheduler cfq registered (default)
[ 19.815414] dma-pl330 f8003000.ps7-dma: unable to set the seg size
[ 19.815415] dma-pl330 f8003000.ps7-dma: Loaded driver for PL330 DMAC-2364208
[ 19.815416] dma-pl330 f8003000.ps7-dma: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
[ 19.815419] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 82, base_baud = 2083333) is a xuartps
[ 19.815420] console [ttyPS0] enabled
[ 19.815420] console [ttyPS0] enabled
[ 19.815421] bootconsole [earlycon0] disabled
[ 19.815421] bootconsole [earlycon0] disabled
[ 19.815423] xdevcfg f8007000.ps7-dev-cfg: ioremap 0xf8007000 to f0068000
[ 19.815432] brd: module loaded
[ 19.815437] loop: module loaded
[ 19.815441] e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k
[ 19.815442] e1000e: Copyright(c) 1999 - 2013 Intel Corporation.
[ 19.815445] libphy: XEMACPS mii bus: probed
[ 19.815446] xemacps e000b000.ps7-ethernet: pdev->id -1, baseaddr 0xe000b000, irq 54
[ 19.815448] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 19.815449] ehci-pci: EHCI PCI platform driver
[ 19.815451] zynq-dr e0002000.ps7-usb: Unable to init USB phy, missing?
[ 19.815452] usbcore: registered new interface driver usb-storage
[ 19.815454] mousedev: PS/2 mouse device common for all mice
[ 19.815455] i2c /dev entries driver
[ 19.815457] cdns-i2c e0004000.ps7-i2c: 400 kHz mmio e0004000 irq 57
[ 19.815460] xadcps f8007100.ps7-xadc: enabled: yes reference: internal
[ 19.815462] cdns-wdt f8005000.ps7-wdt: Xilinx Watchdog Timer at f0072000 with timeout 10s
[ 19.815463] zynq-edac f8006000.ps7-ddrc: ecc not enabled
[ 19.815464] Xilinx Zynq CpuIdle Driver started
[ 19.815466] sdhci: Secure Digital Host Controller Interface driver
[ 19.815467] sdhci: Copyright(c) Pierre Ossman
[ 19.815467] sdhci-pltfm: SDHCI platform and OF driver helper
[ 19.815469] usbcore: registered new interface driver usbhid
[ 19.815470] usbhid: USB HID core driver
[ 19.815471] TCP: cubic registered
[ 19.815471] NET: Registered protocol family 17
[ 19.815472] Registering SWP/SWPB emulation handler
[ 19.815474] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 19.815481] RAMDISK: gzip image found at block 0
[ 19.815408] RAMDISK: incomplete write (19019 != 32768)