Commit c139f0cc authored by Jan Viktorin's avatar Jan Viktorin Committed by Thomas Petazzoni
Browse files

zedboard: Update readme.txt to reflect BOOT.BIN generation

parent 4db53c38
Loading
Loading
Loading
Loading
+38 −46
Original line number Diff line number Diff line
@@ -5,68 +5,60 @@ System-On-Chip.
Zedboard information including schematics, reference designs, and manuals are
available from http://www.zedboard.org .

The U-Boot firmware for the Xilinx Zynq All Programmable SoC depends
on some proprietary code. This dependency consists of a pair of
files are available from the Xilinx SDK installation.
Steps to create a working system for Zedboard:

You will need these files from Xilinx SDK installation to generate
the U-Boot firmware:
	ps7_init.c
	ps7_init.h
1) make zedboard_defconfig
2) make
3) copy files BOOT.BIN, u-boot-dtb.img, rootfs.cpio.uboot,
	uImage, zynq-zed.dtb into your SD card
4) boot your Zedboard

Buildroot will create the following files and place them in the
<output>/images directory.
	zynq-zed.dtb
	rootfs.cpio.uboot
	uImage
	u-boot.img
	boot.bin
The expected output:

 U-Boot SPL 2015.07-rc2 (Jun 18 2015 - 16:42:58)
 mmc boot
 reading system.dtb
 spl_load_image_fat_os: error reading image system.dtb, err - -1
 reading u-boot-dtb.img
 reading u-boot-dtb.img

uboot.bin  -- U-Boot SPL w/ Xilinx boot.bin wrapper
---------------------------------------------------
 U-Boot 2015.07-rc2 (Jun 18 2015 - 16:42:58 +0200)

Due to licensing issues, the files ps7_init.c/h are not able to be
distributed with the U-Boot source code.  These files are required to make a
boot.bin file.

If you already have the Xilinx tools installed, the following sequence will
unpack, patch and build the rfs, kernel, uboot, and uboot-spl.

make zedboard_defconfig
make uboot-patch
cp ${XILINX}/ISE_DS/EDK/sw/lib/hwplatform_templates/zed_hw_platform/ps7_init.{c,h} \
output/build/uboot-xilinx-v2014.1/board/xilinx/zynq/

After copying these files into the U-Boot source tree, you can
continue the build with:

make

*Notice*
While the build will successfully complete without the ps7_init.*
files,  the uboot.bin file generated by this configuration will not
function properly on the Zedboard.  Therefore, it is imperative that
the ps7_init.* files be copied into the U-Boot source tree any time
the clean, or uboot-dirclean targets are made.
 Model: Zynq ZED Board
 I2C:   ready
 DRAM:  ECC disabled 512 MiB
 MMC:   zynq_sdhci: 0
 Using default environment
 ...

When using an older U-Boot then 2015.07, a working ps7_init.c
file is required to be installed into the U-Boot directory
structure. From 2015.07, the major Zynq-based boards are
supported without any manual intervention.

Resulting system
----------------
A FAT32 partition should be created at the beginning of the SD Card
and the following files should be installed:
	/boot.bin
	/devicetree.dtb
	/BOOT.BIN
	/zynq-zed.dtb
	/uImage
	/uramdisk.image.gz
	/u-boot.img
	/rootfs-cpio.uboot
	/u-boot-dtb.img


All needed files can be taken from output/images/

boot.bin, uImage and u-boot.img are direct copies of the same files
BOOT.BIN, uImage and u-boot-dtb.img are direct copies of the same files
available on output/images/

devicetree.dtb is just zynq-zed.dtb renamed.
There is a patch attached that redefines the U-Boot's environment
to work with Buildroot out-of-the-box.

You can alter the booting procedure by creating a file uEnv.txt
in the root of the SD card. It is a plain text file in format
<key>=<value> one per line:

uramdisk.image.gz is rootfs.cpio.uboot renamed
kernel_image=myimage
modeboot=myboot
myboot=...