News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

TE0726-03 linux boot problem

Started by mage, March 11, 2018, 09:25:19 AM

Previous topic - Next topic

mage

I have bought a TE0726-03. I have run 'TE0726-hdmi_fb-vivado_2015.4-build_32_20160504103305' sucessfully. I could see the picture showing on a HDMI monitor.
And then I want to test Linux, so I downloaded the project named 'te0726-te0726_m_demo2-vivado_2016.2-build_07_20161017094842'.
I have done the following steps:
(1)Use Win32DiskImageMaker to write the te0726.img to the SD-Card.
(2)Copy the image.ub from the prebuild folder to the first partition in Windows
(3)Copy the /misc/img/prebuild/u-boot.rgba file also to the first partition in Windows.
(4)Program the QSPI Flash with \prebuilt\boot_images\te0726_m\u-boot\BOOT.BIN
(5)Insert SD into TE0726, and power up, the serial com showed as follws:

U-Boot 2016.01 (Oct 06 2016 - 13:15:57 +0200)

DRAM:  ECC disabled 503 MiB
MMC:   sdhci@e0101000: 0
SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16 MiB
In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  0
MMC Device 1 not found
** Bad device mmc 1 **


Inorder to check out the problem, I typed 'printenv',  the serial com showed as follws:
=> printenv
autoload=no
baudrate=115200
boot_img=BOOT.BIN
bootargs=console=ttyPS1,115200 earlyprintk root=/dev/sdb2 rw rootwait
bootcmd=run default_bootcmd
bootdelay=4
bootenvsize=0x20000
bootenvstart=0x500000
clobstart=0x10000000
console=console=ttyPS0,115200
cp_dtb2ram=fatload mmc 1 ${dtbnetstart} ${dtb_img}
cp_kernel2ram=fatload mmc 1 ${netstart} ${kernel_img}
default_bootcmd=run cp_kernel2ram && run cp_dtb2ram && bootm ${netstart} - ${dtbnetstart}
dtb_img=system.dtb
dtbnetstart=0x11800000
eraseenv=sf probe 0 && sf erase ${bootenvstart} ${bootenvsize}
fault=echo ${img} image size is greater than allocated place - partition ${img} is NOT UPDATED
fdtcontroladdr=1f6a7ec0
importbootenv=echo "Importing environment from SD ..."; env import -t ${loadbootenv_addr} $filesize
install_boot=mmcinfo && fatwrite mmc 0 ${clobstart} ${boot_img} ${filesize}
install_dtb=mmcinfo && fatwrite mmc 0 ${clobstart} ${dtb_img} ${filesize}
install_jffs2=sf probe 0 && sf erase ${jffs2start} ${jffs2size} && sf write ${clobstart} ${jffs2start} ${filesize}
install_kernel=mmcinfo && fatwrite mmc 0 ${clobstart} ${kernel_img} ${filesize}
jffs2_img=rootfs.jffs2
kernel_img=image.ub
loadaddr=0x10000000
loadbootenv=load mmc $sdbootdev:$partid ${loadbootenv_addr} ${bootenv}
netstart=0x10000000
psserial0=setenv stdout ttyPS0;setenv stdin ttyPS0
sd_uEnvtxt_existence_test=test -e mmc $sdbootdev:$partid /uEnv.txt
sd_update_jffs2=echo Updating jffs2 from SD; mmcinfo && fatload mmc 0:1 ${clobstart} ${jffs2_img} && run install_jffs2
sdboot=echo boot Petalinux; run uenvboot ; mmcinfo && fatload mmc 0 ${netstart} ${kernel_img} && bootm
serial=setenv stdout serial;setenv stdin serial
test_crc=if imi ${clobstart}; then run test_img; else echo ${img} Bad CRC - ${img} is NOT UPDATED; fi
test_img=setenv var "if test ${filesize} -gt ${psize}; then run fault; else run ${installcmd}; fi"; run var; setenv var
uenvboot=if run sd_uEnvtxt_existence_test; thenrun loadbootenvecho Loaded environment from ${bootenv};run importbootenv;

Environment size: 2073/131068 bytes


Could anyone help me ?
Thanks!

JH

Hi,

this projects are older versions, especially the 2015.4 design was on of the first test, only HW design without correct frambuffer settings. We have improved demo design,
newest Demo designs are for 2017.1, all with HDMI:
This designs has a documentation on the download page. Can you try out this and erase Flash completely before you configure with this boot.bin

We have also a 2017.4 design with linux (without HDMI demo design) and Wiki description:Did you test some other files before and save some environment settings on the flash?
Because your output -->MMC Device 1 not found
Normallyit try to get access to mmc 0. Erase Flash or try to boot manually: mmcinfo && fatload mmc 0 ${netstart} ${kernel_img} && bootm

br
John

mage

Thanks for your reply!
I teseed some other files before and save some environment settings on the flash using saveenv.
I have erased the FLASH, but it didn't work.
And then I tested the following command:
mmcinfo && fatload mmc 0 ${netstart} ${kernel_img} && bootm
the serial com shows as follows:
=> mmcinfo
Device: sdhci@e0101000
Manufacturer ID: 2
OEM: 544d
Name: SD08G
Tran Speed: 50000000
Rd Block Len: 512
SD version 2.0
High Capacity: Yes
Capacity: 7.4 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
=> fatload mmc 0 ${netstart} ${kernel_img}
reading image.ub
3605740 bytes read in 204 ms (16.9 MiB/s)
=> bootm
## Loading kernel from FIT Image at 10000000 ...
   Using 'conf@1' configuration
   Verifying Hash Integrity ... OK
   Trying 'kernel@1' kernel subimage
     Description:  PetaLinux Kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x100000f0
     Data Size:    3582999 Bytes = 3.4 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x00008000
     Entry Point:  0x00008000
     Hash algo:    crc32
     Hash value:   17ac37c1
   Verifying Hash Integrity ... crc32+ OK
## Loading fdt from FIT Image at 10000000 ...
   Using 'conf@1' configuration
   Trying 'fdt@1' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x1036adec
     Data Size:    21442 Bytes = 20.9 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   76ca86e3
   Verifying Hash Integrity ... crc32+ OK
   Booting using the fdt blob at 0x1036adec
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 07ff7000, end 07fff3c1 ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.4.0-xilinx (petalinux@petalinux-VirtualBox) (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) ) #1 SMP PREEMPT Mon Oct 10 11:50:45 CEST 2016
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: te0726_m_demo2
bootconsole [earlycon0] enabled
cma: Reserved 16 MiB at 0x1e400000
Memory policy: Data cache writealloc
PERCPU: Embedded 12 pages/cpu @5f6c9000 s19264 r8192 d21696 u49152
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 127762
Kernel command line: console=ttyPS1,115200 earlyprintk root=/dev/sdb2 rw rootwait
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 486716K/515072K available (4840K kernel code, 208K rwdata, 1804K rodata, 232K init, 193K bss, 11972K reserved, 16384K cma-reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0x5f800000 - 0xff800000   (2560 MB)
    lowmem  : 0x40000000 - 0x5f700000   ( 503 MB)
    pkmap   : 0x3fe00000 - 0x40000000   (   2 MB)
    modules : 0x3f000000 - 0x3fe00000   (  14 MB)
      .text : 0x40008000 - 0x406853d8   (6645 kB)
      .init : 0x40686000 - 0x406c0000   ( 232 kB)
      .data : 0x406c0000 - 0x406f4220   ( 209 kB)
       .bss : 0x406f4220 - 0x40724a18   ( 194 kB)
Preemptible hierarchical RCU implementation.
        Build-time adjustment of leaf fanout to 32.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
NR_IRQS:16 nr_irqs:16 16
slcr mapped to 5f800000
L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
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 0x76760001
zynq_clock_init: clkc starts at 5f800100
Zynq clock init
sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
timer #0 at 5f808000, irq=17
Console: colour dummy device 80x30
Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x82c0 - 0x8318
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (2664.03 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
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 @ 0x5f880000
zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
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.
clocksource: Switched to clocksource arm_global_timer
simple-framebuffer 1fc00000.framebuffer: framebuffer at 0x1fc00000, 0x384000 bytes, mapped to 0x5fc00000
simple-framebuffer 1fc00000.framebuffer: format=a8b8g8r8, mode=1280x720x32, linelength=5120
simple-framebuffer 1fc00000.framebuffer: fb0: simplefb registered!
simple-framebuffer 1f700000.framebuffer: framebuffer at 0x1f700000, 0x384000 bytes, mapped to 0x60000000
simple-framebuffer 1f700000.framebuffer: format=a8b8g8r8, mode=1280x720x32, linelength=5120
simple-framebuffer 1f700000.framebuffer: fb1: simplefb registered!
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 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.
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
dma-pl330 f8003000.dmac:        DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 144, base_baud = 6249999) is a xuartps
xdevcfg f8007000.devcfg: ioremap 0xf8007000 to 5f86a000
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
usbcore: registered new interface driver asix
usbcore: registered new interface driver ax88179_178a
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver smsc95xx
usbcore: registered new interface driver net1080
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver cdc_ncm
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
usbcore: registered new interface driver usb-storage
e0002000.usb supply vbus not found, using dummy regulator
ULPI transceiver vendor/product ID 0x0424/0x0007
Found SMSC USB3320 ULPI transceiver.
ULPI integrity check: passed.
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 140
cdns-i2c e0005000.i2c: 400 kHz mmio e0005000 irq 141
at24 2-0050: 4096 byte 24c32 EEPROM, writable, 1 bytes/write
i2c i2c-1: Added multiplexed i2c bus 2
i2c i2c-1: Added multiplexed i2c bus 3
i2c i2c-1: Added multiplexed i2c bus 4
i2c i2c-1: Added multiplexed i2c bus 5
pca954x 1-0070: registered 4 multiplexed busses for I2C mux pca9544
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 e0101000.sdhci: No vmmc regulator found
sdhci-arasan e0101000.sdhci: No vqmmc regulator found
mmc0: SDHCI controller on e0101000.sdhci [e0101000.sdhci] using ADMA
ledtrig-cpu: registered to indicate activity on CPUs
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered protocol family 17
Registering SWP/SWPB emulation handler
bootconsole [earlycon0] disabled

mage

I tested with "te0726-zynqberrydemo2-vivado_2017.1-build_03_20170705132647", and Linux boot sucessfully.
The xilinx SDK can not erase the entire FLASH, so I used Vivado to program the Boot.bin and set the address range to EntireConfigration Memory Device.

JH

Hi,

i would ask what you used for erase . So you was faster :-)

So it's running know, that's good.

br
John

mage

I used vivado to erase the entire FLASH.