Hello,
I'm currently using the Mini-ITX board with the Zynq-7100 SoC. I followed the USB booting guide and was successfully able to boot a petalinux kernel and Linaro Ubuntu image off of USB. The problem is, whenever I try doing anything that uses the USB heavily I get a kernel panic. Here is the start up log followed by the actual error message that appears whenever I try running an image processing application:
Hit any key to stop autoboot: 4 3 2 1 0
Loading bitstream from USB device 0...
starting USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
USB1: usb1 wrong num MIO: 0, Index 1
lowlevel init failed
scanning usb for storage devices... 1 Storage Device(s) found
reading system.bit.bin
17416348 bytes read in 713 ms (23.3 MiB/s)
zynq_align_dma_buffer: Bitstream is not swapped(1) - swap it
reading image.ub
3387564 bytes read in 163 ms (19.8 MiB/s)
## Loading kernel from FIT Image at 01000000 ...
Using 'conf@1' configuration
Verifying Hash Integrity ... OK
Trying 'kernel@1' kernel subimage
Description: PetaLinux Kernel
Type: Kernel Image
Compression: gzip compressed
Data Start: 0x010000f0
Data Size: 3371363 Bytes = 3.2 MiB
Architecture: ARM
OS: Linux
Load Address: 0x00008000
Entry Point: 0x00008000
Hash algo: crc32
Hash value: 941eb3f3
Verifying Hash Integrity ... crc32+ OK
## Loading fdt from FIT Image at 01000000 ...
Using 'conf@1' configuration
Trying 'fdt@1' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x01337338
Data Size: 14904 Bytes = 14.6 KiB
Architecture: ARM
Hash algo: crc32
Hash value: 43fe9dec
Verifying Hash Integrity ... crc32+ OK
Booting using the fdt blob at 0x1337338
Uncompressing Kernel Image ... OK
Loading Device Tree to 07ff9000, end 07fffa37 ... OK
Starting kernel ...
Booting Linux on physical CPU 0x0
Linux version 3.17.0-xilinx (travis@travis-Inspiron-3558) (gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-23) ) #2 SMP PREEMPT Wed Jun 29 11:47:04 MDT 2016
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: zynq-mini-itx-7z100
cma: Reserved 128 MiB at a7800000
Memory policy: Data cache writealloc
PERCPU: Embedded 8 pages/cpu @e5f91000 s8320 r8192 d16256 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 518672
Kernel command line: console=ttyPS0,115200 earlyprintk root=/dev/sda2 rootdelay=10
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes)
Inode-cache hash table entries: 131072 (order: 7, 524288 bytes)
Memory: 1940848K/2097152K available (4594K kernel code, 237K rwdata, 1572K rodata, 196K init, 209K bss, 156304K reserved, 270336K highmem)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xffe00000 (2048 kB)
vmalloc : 0xf0000000 - 0xff000000 ( 240 MB)
lowmem : 0x40000000 - 0xef800000 (2808 MB)
pkmap : 0x3fe00000 - 0x40000000 ( 2 MB)
modules : 0x3f000000 - 0x3fe00000 ( 14 MB)
.text : 0x40008000 - 0x4060da9c (6167 kB)
.init : 0x4060e000 - 0x4063f080 ( 197 kB)
.data : 0x40640000 - 0x4067b640 ( 238 kB)
.bss : 0x4067b640 - 0x406afe2c ( 210 kB)
Preemptible hierarchical RCU implementation.
Dump stacks of tasks blocking RCU-preempt GP.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
NR_IRQS:16 nr_irqs:16 16
L2C: platform provided aux values match the hardware, so have no effect. Please remove them.
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 1 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 8 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76360001
slcr mapped to f0004000
zynq_clock_init: clkc starts at f0004100
Zynq clock init
sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 3298534883328ns
timer #0 at f0006000, irq=43
Console: colour dummy device 80x30
Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 4096 (order: 2, 16384 bytes)
Mountpoint-cache hash table entries: 4096 (order: 2, 16384 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x457b70 - 0x457bc8
CPU1: Booted secondary processor
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated.
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
regulator-dummy: no parameters
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0xf0080000
GPIO IRQ not connected
XGpio: /amba_pl/gpio@41200000: registered, base is 135
GPIO IRQ not connected
XGpio: /amba_pl/gpio@41210000: registered, base is 127
GPIO IRQ not connected
XGpio: /amba_pl/gpio@41220000: registered, base is 119
VCCPINT: 1000 mV
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
media: Linux media interface: v0.10
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
EDAC MC: Ver: 3.0.0
Advanced Linux Sound Architecture Driver Initialized.
Switched to clocksource arm_global_timer
NET: Registered protocol family 2
TCP established hash table entries: 16384 (order: 4, 65536 bytes)
TCP bind hash table entries: 16384 (order: 5, 131072 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP: reno registered
UDP hash table entries: 1024 (order: 3, 32768 bytes)
UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
futex hash table entries: 512 (order: 3, 32768 bytes)
jffs2: version 2.2. (NAND) (SUMMARY) 2001-2006 Red Hat, Inc.
msgmni has been set to 3518
bounce: pool size: 64 pages
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-2364208
dma-pl330 f8003000.dmac: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 82, base_baud = 3125000) is a xuartps
console [ttyPS0] enabled
xdevcfg f8007000.devcfg: ioremap 0xf8007000 to f001a000
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
CAN device driver interface
e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k
e1000e: Copyright(c) 1999 - 2014 Intel Corporation.
libphy: XEMACPS mii bus: probed
xemacps e000b000.ethernet: pdev->id -1, baseaddr 0xe000b000, irq 54
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ULPI transceiver vendor/product ID 0x0424/0x0007
Found SMSC USB3320 ULPI transceiver.
ULPI integrity check: passed.
zynq-ehci zynq-ehci.0: Xilinx Zynq USB EHCI Host Controller
zynq-ehci zynq-ehci.0: new USB bus registered, assigned bus number 1
zynq-ehci zynq-ehci.0: irq 53, io mem 0x00000000
zynq-ehci zynq-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
usbcore: registered new interface driver usb-storage
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 57
cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer at f0054000 with timeout 10s
zynq-edac f8006000.memory-controller: ecc not enabled
Xilinx Zynq CpuIdle Driver started
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
sdhci-arasan e0100000.sdhci: No vmmc regulator found
sdhci-arasan e0100000.sdhci: No vqmmc regulator found
mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA
ledtrig-cpu: registered to indicate activity on CPUs
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
Registering SWP/SWPB emulation handler
/opt/Xilinx/Petalinux/petalinux-v2014.4-final/components/linux-kernel/xlnx-3.17/drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
ALSA device list:
No soundcards found.
Waiting 10 sec before mounting root device...
usb 1-1: new high-speed USB device number 2 using zynq-ehci
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb 1-1.2: new high-speed USB device number 3 using zynq-ehci
usb-storage 1-1.2:1.0: USB Mass Storage device detected
usb-storage 1-1.2:1.0: Quirks match for vid 174c pid 55aa: 400000
scsi host0: usb-storage 1-1.2:1.0
scsi 0:0:0:0: Direct-Access SanDisk SDSSDA240G U210 PQ: 0 ANSI: 5
sd 0:0:0:0: Attached scsi generic sg0 type 0
sd 0:0:0:0: [sda] 468862128 512-byte logical blocks: (240 GB/223 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sda: sda1 sda2 sda3
sd 0:0:0:0: [sda] Attached SCSI disk
EXT3-fs (sda2): error: couldn't mount because of unsupported optional features (240)
EXT2-fs (sda2): error: couldn't mount because of unsupported optional features (240)
EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) readonly on device 8:2.
devtmpfs: mounted
Freeing unused kernel memory: 196K (4060e000 - 4063f000)
systemd[1]: Failed to insert module 'autofs4'
m]: Failed to insert module 'ipv6'
! systemd urandom read with 36 bits of entropy available
Welcome to Ubuntu 15.04!
Cannot add dependency job for unit org.freedesktop.resolve1.busname, ignoring: Unit org.freedesktop.resolve1.busname failed to load: No such file or directory.
Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory.
[ OK ] Reached target Encrypted Volumes.
[ OK ] Created slice Root Slice.
[ OK ] Listening on udev Kernel Socket.
[ OK ] Listening on networkd rtnetlink socket.
[ OK ] Listening on Journal Socket.
[ OK ] Listening on Journal Socket (/dev/log).
[ OK ] Created slice User and Session Slice.
[ OK ] Created slice System Slice.
Mounting Temporary Directory...
[ OK ] Started Boot Process Profiler.
Starting Boot Process Profiler...
Starting Load Kernel Modules...
Starting Create Static Device Nodes in /dev...
[ OK ] Reached target Paths.
Starting Remount Root and Kernel File Systems...
[ OK ] Reached target Remote File Systems (Pre).
[ OK ] Created slice system-getty.slice.
[ OK ] Created slice system-serial\x2dgetty.slice.
Starting Nameserver information manager...
[ OK ] Reached target Slices.
[ OK ] Started Read required files in advance.
Starting Read required files in advance...
[ OK ] Listening on Delayed Shutdown Socket.
[ OK ] Listening on /dev/initctl Compatibility Named Pipe.
[ OK ] Listening on udev Control Socket.
Starting udev Coldplug all Devices...
Starting Increase datagram queue length...
systemd-bootchart.service failed.
[ OK ] Started Remount Root and Kernel File Systems.
Starting Load/Save Random Seed...
[ OK ] Started Load Kernel Modules.
[ OK ] Mounted Temporary Directory.
[ OK ] Started Increase datagram queue length.
[ OK ] Started Load/Save Random Seed.
[ OK ] Started Nameserver information manager.
[ OK ] Started Create Static Device Nodes in /dev.
ureadahead.service failed.
[ OK ] Started udev Coldplug all Devices.
Starting udev Kernel Device Manager...
[ OK ] Reached target Local File Systems (Pre).
[ OK ] Listening on Syslog Socket.
Starting Journal Service...
[ OK ] Reached target Local File Systems.
Starting LSB: Raise network interfaces....
[ OK ] Reached target Remote File Systems.
Starting Apply Kernel Variables...
[ OK ] Started Apply Kernel Variables.
[ OK ] Started Journal Service.
Starting Flush Journal to Persistent Storage...
[ OK ] Started Flush Journal to Persistent Storage.
[ OK ] Started udev Kernel Device Manager.
Starting Copy rules generated while the root was ro...
Starting Create Volatile Files and Directories...
[ OK ] Started Copy rules generated while the root was ro.
[FAILED] Failed to start Create Volatile Files and Directories.
See "systemctl status systemd-tmpfiles-setup.service" for details.
Starting Update UTMP about System Boot/Shutdown...
[FAILED] Failed to start Network Time Synchronization.
See "systemctl status systemd-timesyncd.service" for details.
Starting Network Time Synchronization...
[ OK ] Reached target System Time Synchronized.
[ OK ] Found device /dev/ttyPS0.
[FAILED] Failed to start Update UTMP about System Boot/Shutdown.
See "systemctl status systemd-update-utmp.service" for details.
[DEPEND] Dependency failed for Update UTMP about System Runlevel Changes.
[ OK ] Stopped Network Time Synchronization.
[FAILED] Failed to start Network Time Synchronization.
See "systemctl status systemd-timesyncd.service" for details.
Starting Network Time Synchronization...
[ OK ] Stopped Network Time Synchronization.
[FAILED] Failed to start Network Time Synchronization.
See "systemctl status systemd-timesyncd.service" for details.
Starting Network Time Synchronization...
[ OK ] Stopped Network Time Synchronization.
[FAILED] Failed to start Network Time Synchronization.
See "systemctl status systemd-timesyncd.service" for details.
Starting Network Time Synchronization...
[ OK ] Found device SanDisk_SDSSDA240G 3.
Activating swap /dev/sda3...
[ OK ] Stopped Network Time Synchronization.
[FAILED] Failed to start Network Time Synchronization.
See "systemctl status systemd-timesyncd.service" for details.
Starting Network Time Synchronization...
[ OK ] Created slice system-ifup.slice.
[ OK ] Started ifup for eth0.
Starting ifup for eth0...
[ OK ] Activated swap /dev/sda3.
[ OK ] Stopped Network Time Synchronization.
[FAILED] Failed to start Network Time Synchronization.
See "systemctl status systemd-timesyncd.service" for details.
[ OK ] Reached target Swap.
[ OK ] Started LSB: Raise network interfaces..
[ OK ] Reached target System Initialization.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Reached target Timers.
[ OK ] Listening on OpenBSD Secure Shell server socket.
[ OK ] Reached target Sockets.
[ OK ] Reached target Basic System.
Starting Permit User Sessions...
[ OK ] Reached target Containers.
Starting Provide limited super user privileges to specific users...
Starting LSB: Set the CPU Frequency Scaling governor to "ondemand"...
[ OK ] Started Regular background program processing daemon.
Starting Regular background program processing daemon...
Starting Network Manager...
Starting LSB: Xen daemons...
Starting LSB: Load kernel modules needed to enable cpufreq scaling...
Starting Initialize hardware monitoring sensors...
Starting D-Bus System Message Bus...
Starting System Logging Service...
Starting Login Service...
Starting WPA supplicant...
[ OK ] Started Permit User Sessions.
[ OK ] Started Provide limited super user privileges to specific users.
[ OK ] Started LSB: Set the CPU Frequency Scaling governor to "ondemand".
[ OK ] Started LSB: Xen daemons.
[ OK ] Started D-Bus System Message Bus.
[ OK ] Started LSB: Load kernel modules needed to enable cpufreq scaling.
[ OK ] Started Initialize hardware monitoring sensors.
[ OK ] Started System Logging Service.
[ OK ] Started WPA supplicant.
[ OK ] Started Login Service.
Starting LSB: set CPUFreq kernel parameters...
Starting Network Service...
Starting LSB: Start/stop secondary xen domains...
[ OK ] Started LSB: set CPUFreq kernel parameters.
[ OK ] Started Network Service.
Starting Network Name Resolution...
[ OK ] Started Network Name Resolution.
[ OK ] Started LSB: Start/stop secondary xen domains.
Starting Authenticate and Authorize Users to Run Privileged Tasks...
[ OK ] Started Authenticate and Authorize Users to Run Privileged Tasks.
[ OK ] Started Network Manager.
[ OK ] Reached target Network.
Starting /etc/rc.local Compatibility...
[ OK ] Started /etc/rc.local Compatibility.
[ OK ] Started Serial Getty on ttyPS0.
Starting Serial Getty on ttyPS0...
[ OK ] Started Getty on tty1.
Starting Getty on tty1...
[ OK ] Reached target Login Prompts.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.
Ubuntu 15.04 linaro-developer ttyPS0
linaro-developer login: root (automatic login)
root@linaro-developer:~# cd /home/linaro/HTI/HTI
root@linaro-developer:/home/linaro/HTI/HTI# ./HTUtITpt
Unhandled prefetch abort: breakpoint debug exception (0x002) at 0x36f8f500
Unhandled prefetch abort: breakpoint debug exception (0x002) at 0x36f8f500
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
CPU0: stopping
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.17.0-xilinx #2
[<400146c8>] (unwind_backtrace) from [<40010dd4>] (show_stack+0x10/0x14)
([<40010dd4>] (show_stack) from [<404530f8>] (dump_stack+0x90/0xd4)
([<404530f8>] (dump_stack) from [<40013054>] (ipi_cpu_stop+0x3c/0x6c)
[<40013054>] (ipi_cpu_stop) from [<40013674>] (handle_IPI+0x64/0x84)
[<40013674>] (handle_IPI) from [<4000857c>] (gic_handle_irq+0x58/0x60)
[<4000857c>] (gic_handle_irq) from [<400117c0>] (__irq_svc+0x40/0x74)
Exception stack(0x40641f40 to 0x40641f88)
1f40: 55f3971d 00000009 00000018 fffffff8 558e014c 00000009 00000000 e5f91d78
1f60: 40673e5c 40673e5c 40459ebc 00000000 00000008 40641f88 4005d594 4034f424
1f80: 000f0013 ffffffff
([<400117c0>] (__irq_svc) from [<4034f424>] (cpuidle_enter_state+0x4c/0xc0)
([<4034f424>] (cpuidle_enter_state) from [<40047a5c>] (cpu_startup_entry+0x15c/0x1c8)
P[<40047a5c>] (cpu_startup_entry) from [<4060ead4>] (start_kernel+0x2bc/0x304)
---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
Does anyone have any ideas why the kernel might be doing this? Thanks.