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

Linaro on TE0720

Started by nturner, February 16, 2019, 03:08:12 AM

Previous topic - Next topic

nturner

I am trying to compile the Linux Linaro image and run it on a TE0720+TE0701. One of the steps is to generate the u-boot image, as described here. The problem is that I'm not certain which platform to make the u-boot image for. I would guess "Zynq cse_qspi", or is there a TE0720 platform file somewhere?

JH

Hi,
we haven't separate platform configs. We only provide petalinux template project.
You can use also petalinux to create u-boot or you must extract configs from the petalinx project.
There are much different ways to create linux files, unfortunately we can't support all.
br
John

nturner

If I am trying to extract the configs from the petalinux project, I would find them in <plnx-proj-dir>/project-spec/meta-plnx-generated/recipes-bsp/u-boot/configs/config.cfg correct? There are a few different config files I have found in the project, but I think this is the correct one. Can you confirm?

JH

Hi,

I think it's easier to use petalinux to create uboot, kernel, device tree... (use our template project) and include linaro desktop (rootfs) like discribed here:
Xilinx described with there BSP but the BSP is more or less an generated petalinux project which is compressed. So instead of BSP use our template and generate the petalinux project again with the hdf from your assembly version. On Petalinux you must change the rootfs from RAM Disk to external SD with your ubuntu rootfs location.


br
John

nturner

#4
Thank you for providing that link. I used the instructions provided in Appendix B since I'm using a newer file system. I want to go through some of process to make sure I haven't missed anything.


  • When in petalinux-config I went to Image Packaging Configuration -> Root Filesystem type -> SD Card. After this I got a new option set to Image Packaging Configuration -> Device node of SD device -> /dev/mmcblk0p2. I'm not sure if there was a different place I should also be adjusting the rootfs, but mmcblk0p2 is the correct location.

  • In step 6 of Appendix B it asks that you use the command "ln -sf zc702-base-trd.dts system-top.dts". Is there a te0720-base-trd.dts or equivalent file somewhere? Should I use the zc702 one?

  • Similar to the above, under u-boot Configuration -> u-boot config target it has "zynq_zc702_config" listed despite having loaded the *.hdf file from my te0720 project. I'm not sure if that is a problem, or if there's a "zynq_te0720_config" file somewhere.

Unfortunately I still could not get past u-boot. Here's my boot log:
U-Boot 2018.01 (Feb 21 2019 - 14:51:35 -0800) Xilinx Zynq ZC702

Board: Xilinx Zynq
Silicon: v3.1
I2C:   ready
DRAM:  ECC disabled 1 GiB
MMC:   sdhci@e0100000: 0 (SD), sdhci@e0101000: 1 (eMMC)
SF: Detected s25fl256s_64k with page size 256 Bytes, erase size 64 KiB, total 32 MiB
In:    serial@e0000000
Out:   serial@e0000000
Err:   serial@e0000000
Board: Xilinx Zynq
Silicon: v3.1
Net:   ZYNQ GEM: e000b000, phyaddr ffffffff, interface rgmii-id
eth0: ethernet@e000b000
Hit any key to stop autoboot:  0
reading uEnv.txt
412 bytes read in 12 ms (33.2 KiB/s)
Loaded environment from uEnv.txt
Importing environment from SD ...
Running uenvcmd ...
Copying Linux from SD to RAM in uEnv...
reading uImage
3768600 bytes read in 220 ms (16.3 MiB/s)
reading devicetree.dtb
14734 bytes read in 16 ms (898.4 KiB/s)
** Unable to read file uramdisk.image.gz **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
Device: sdhci@e0100000
Manufacturer ID: 1b
OEM: 534d
Name: 00000
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 7.5 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading uImage
3768600 bytes read in 220 ms (16.3 MiB/s)
Device: sdhci@e0100000
Manufacturer ID: 1b
OEM: 534d
Name: 00000
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 7.5 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading devicetree.dtb
14734 bytes read in 16 ms (898.4 KiB/s)
Unknown command 'booti' - try 'help'
Zynq>


Since it threw that error about the wrong image format I decided to get some information about the image file:
$ file uImage
uImage: u-boot legacy uImage, Linux-4.14.0-xilinx-v2018.2, Linux/ARM, OS Kernel Image (Not compressed), 3768536 bytes, Thu Feb 21 23:03:50 2019, Load Address: 0x00008000, Entry Point: 0x00008000, Header CRC: 0xCB867EE2, Data CRC: 0xFF973C07

Unfortunately, nothing about this jumps out at me as being a problem.

I've been working on this in other forums as well, and came across this Xilinx thread for a similar issue. Following the link provided I was able to boot manually by using the commands
u-boot> fatload mmc 0 0x1000000 image.ub
u-boot> bootm 0x1000000

The image.ub file I got from <plnx-proj-dir>/images/linux
Which is a huge step forward for me. However, since I plan to adjust the device tree on a pretty regular basis I still need to get the uImage + devicetree.dtb method working and any tips would be very appreciated.

JH

#5
Hi,

  • Start with our Reference Design: https://wiki.trenz-electronic.de/display/PD/TE0720+Test+Board
  • Follow instructions and create all files without changes
  • If this works, start to modify
  • At first set rootfs to external --> second partion from sd
  • Create this partition (you can use at first the rootfs from petalinux)
  • If this works, use rootfs from linaro
At first let generated device tree included into image.ub, if this all works, you can start to exclude. You must use device tree generated by your petalinux project for TE0720 no other one.
Later you can also use image.ub + devicetree.dtb  instead of uimage +devicetree.dtb it's only annother compression format.

You must try out a little bit to understand how it works.

PS: with Vivado 2018.2 and newer, there is an uboot config available and or you overwrite default settings on platform-top.h
Some general information:

https://wiki.trenz-electronic.de/display/PD/PetaLinux+KICKstart#PetaLinuxKICKstart-PetaLinux2018.3
https://wiki.trenz-electronic.de/display/PD/PetaLinux+KICKstart#PetaLinuxKICKstart-References

br
John