Author Topic: Boot a PetaLinux Image on Hardware with SD Card  (Read 4732 times)

Fady

  • Active Member
  • *
  • Posts: 17
Boot a PetaLinux Image on Hardware with SD Card
« on: April 28, 2015, 02:47:41 PM »
Hello,
I'm using TRENZ TE-0720, the carrier board TE-0701, Petalinux 2014.4 on RHEL 6 and I'm trying to boot a PetaLinux Image on Hardware with SD Card, but it didn't work and all leds on TE-0720 became off.
                 
                                                                               
Starting kernel ...                                                             
                                                                               
Booting Linux on physical CPU 0x0                                               
Linux version 3.17.0-xilinx (fa245588@is005306) (gcc version 4.8.3 20140320 (pr5
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d                 
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache       
Machine model: TE0720-02-refplnx                                               
cma: Reserved 128 MiB at 38000000                                               
Memory policy: Data cache writealloc                                           
PERCPU: Embedded 8 pages/cpu @7779c000 s8704 r8192 d15872 u32768               
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096     
Kernel command line: console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rt
PID hash table entries: 4096 (order: 2, 16384 bytes)                           
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)               
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)                 
Memory: 902100K/1048576K available (4055K kernel code, 221K rwdata, 1328K rodat)
Virtual kernel memory layout:                                                   
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)                               
    fixmap  : 0xffc00000 - 0xffe00000   (2048 kB)                               
    vmalloc : 0x80800000 - 0xff000000   (2024 MB)                               
    lowmem  : 0x40000000 - 0x80000000   (1024 MB)                               
    pkmap   : 0x3fe00000 - 0x40000000   (   2 MB)                               
    modules : 0x3f000000 - 0x3fe00000   (  14 MB)                               
      .text : 0x40008000 - 0x40549f60   (5384 kB)                               
      .init : 0x4054a000 - 0x40579200   ( 189 kB)                               
      .data : 0x4057a000 - 0x405b15a0   ( 222 kB)                               
       .bss : 0x405b15a0 - 0x405e1e0c   ( 195 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.  Pleas.
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 80804000                                                         
zynq_clock_init: clkc starts at 80804100                                       
Zynq clock init                                                                 
sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 3298534883328ns     
timer #0 at 80806000, 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: 2048 (order: 1, 8192 bytes)                     
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)               
CPU: Testing write buffer coherency: ok                                         
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000                               
Setting up static identity map for 0x3d6180 - 0x3d61d8                         
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 @ 0x80880000                     
VCCPINT: 1000 mV                                                               
SCSI subsystem initialized                                                     
usbcore: registered new interface driver usbfs                                 
usbcore: registered new interface driver hub                                   
usbcore: registered new device driver usb                                       
pps_core: LinuxPPS API ver. 1 registered                                       
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@>
PTP clock support registered                                                   
EDAC MC: Ver: 3.0.0                                                             
Switched to clocksource arm_global_timer                                       
NET: Registered protocol family 2                                               
TCP established hash table entries: 8192 (order: 3, 32768 bytes)               
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)                       
TCP: Hash tables configured (established 8192 bind 8192)                       
TCP: reno registered                                                           
UDP hash table entries: 512 (order: 2, 16384 bytes)                             
UDP-Lite hash table entries: 512 (order: 2, 16384 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 2017                                                     
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_Eve6
e0000000.serial: ttyPS0 at MMIO 0xe0000000 (irq = 59, base_baud = 6249999) is as
console [ttyPS0] enabled                                                       
xdevcfg f8007000.devcfg: ioremap 0xf8007000 to 8086a000                         
[drm] Initialized drm 1.1.0 20060810                                           
brd: module loaded                                                             
loop: module loaded                                                             
m25p80 spi32766.0: found w25q256, expected s25fl256s1                           
m25p80 spi32766.0: failed to read ear reg                                       
m25p80 spi32766.0: w25q256 (32768 Kbytes)                                       
4 ofpart partitions found on MTD device spi32766.0                             
Creating 4 MTD partitions on "spi32766.0":                                     
0x000000000000-0x000000500000 : "boot"                                         
0x000000500000-0x000000520000 : "bootenv"                                       
0x000000520000-0x000000fa0000 : "kernel"                                       
0x000000fa0000-0x000002000000 : "spare"                                         
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                     
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                                                         
at24 0-0057: 128 byte 24c01 EEPROM, writable, 1 bytes/write                     
rtc-isl12022 0-006f: rtc core: registered rtc-isl12022 as rtc0                 
cdns-i2c e0005000.i2c: 400 kHz mmio e0005000 irq 80                             
cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer at 80874000 with timeout 10s 
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                                             
Registering SWP/SWPB emulation handler                                         
rtc-isl12022 0-006f: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
Waiting for root device /dev/mmcblk0p2...                                       
mmc0: new high speed SDHC card at address 0007                                 
mmcblk0: mmc0:0007 SD4GB 3.70 GiB                                               
 mmcblk0: p1 p2                                                                 
EXT3-fs (mmcblk0p2): error: couldn't mount because of unsupported optional feat)
EXT2-fs (mmcblk0p2): error: couldn't mount because of unsupported optional feat)
EXT4-fs (mmcblk0p2): recovery complete                                         
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)   
VFS: Mounted root (ext4 filesystem) on device 179:2.                           
devtmpfs: error mounting -2                                                     
Freeing unused kernel memory: 188K (4054a000 - 40579000)                       
Kernel panic - not syncing: No working init found.  Try passing init= option to.
CPU0: stopping                                                                 
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.17.0-xilinx #3                     
[<40013d28>] (unwind_backtrace) from [<40010dd4>] (show_stack+0x10/0x14)       
[<40010dd4>] (show_stack) from [<403d174c>] (dump_stack+0x90/0xd4)             
[<403d174c>] (dump_stack) from [<400126b4>] (ipi_cpu_stop+0x3c/0x6c)           
[<400126b4>] (ipi_cpu_stop) from [<40012cd4>] (handle_IPI+0x64/0x84)           
[<40012cd4>] (handle_IPI) from [<4000857c>] (gic_handle_irq+0x58/0x60)         
[<4000857c>] (gic_handle_irq) from [<400117c0>] (__irq_svc+0x40/0x74)           
Exception stack(0x4057bf40 to 0x4057bf88)                                       
bf40: 54ad18e1 00000000 00000018 fffffff8 538548bc 00000000 00000001 7779cef0   
bf60: 405aa8d8 405aa924 403d7ea8 00000000 00000008 4057bf88 4005ca3c 402f71fc   
bf80: 000f0013 ffffffff                                                         
[<400117c0>] (__irq_svc) from [<402f71fc>] (cpuidle_enter_state+0x4c/0xc0)     
[<402f71fc>] (cpuidle_enter_state) from [<40046f04>] (cpu_startup_entry+0x15c/0)
[<40046f04>] (cpu_startup_entry) from [<4054aad4>] (start_kernel+0x2bc/0x304)   
---[ end Kernel panic - not syncing: No working init found.  Try passing init= .

Vivado
1-download-unzip TE0720-02.zip ref design package from http://www.trenz-electronic.de/download/d0/Trenz_Electronic/d1/TE0720-GigaZee/d2/reference_designs.html
2-vivado -mode batch -source make_project.tcl
3-vivado -mode batch -source run_one.tcl
4-vivado -mode batch -source make_image.tcl
5-open vivado and extract hardware to create .hdf file

Petalinux
download TE0720-02-refplnx.bsp from http://www.trenz-electronic.de/download/d0/Trenz_Electronic/d1/TE0720-GigaZee/d2/reference_designs.html
##Create Petalinux project
$ petalinux-create -t project -s <path-to-bsp>
##Change into the directory of your PetaLinux project
$ cd  <plnx-proj-root>
##Import Hardware Description
petalinux-config --get-hw-description=<path-to-directory-which-contains-hardware-description-file>
##Build system image
$ petalinux-config
##configure Linux system
$ petalinux-build
##Generate the rootfs.cpio image
$ petalinux-config
$ petalinux-build
$ petalinux-package --image -c rootfs --format initramfs
##Generate Boot Image for Zynq
$ petalinux-package --boot --fsbl <FSBL image> --fpga <FPGA bitstream> --u-boot
##Copy image files to SD card partitions
$ cp images/linux/BOOT.BIN /media/boot/
$ cp images/linux/image.ub /media/boot/
$ cp images/linux/rootfs.cpio /media/rootfs/
##Extract the file system
$ cd /media/rootfs
$ pax -rvf rootfs.cpio

I don't know what's the problem...

Regards,