mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
Merge from bittboy/buildroot@db180c0
This commit is contained in:
25
board/zynq/genimage.cfg
Normal file
25
board/zynq/genimage.cfg
Normal file
@@ -0,0 +1,25 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"boot.bin",
|
||||
"u-boot.img",
|
||||
"devicetree.dtb",
|
||||
"uImage"
|
||||
}
|
||||
file uramdisk.image.gz {
|
||||
image = "rootfs.cpio.uboot"
|
||||
}
|
||||
}
|
||||
size = 32M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
}
|
||||
13
board/zynq/post-image.sh
Executable file
13
board/zynq/post-image.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
# By default U-Boot loads DTB from a file named "devicetree.dtb", so
|
||||
# let's use a symlink with that name that points to the *first*
|
||||
# devicetree listed in the config.
|
||||
|
||||
FIRST_DT=$(sed -n \
|
||||
's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9\-]*\).*"$/\1/p' \
|
||||
${BR2_CONFIG})
|
||||
|
||||
[ -z "${FIRST_DT}" ] || ln -fs ${FIRST_DT}.dtb ${BINARIES_DIR}/devicetree.dtb
|
||||
|
||||
support/scripts/genimage.sh -c board/zynq/genimage.cfg
|
||||
86
board/zynq/readme.txt
Normal file
86
board/zynq/readme.txt
Normal file
@@ -0,0 +1,86 @@
|
||||
This is the Buildroot support for Zynq boards. Zynq boards are available from
|
||||
Xilinx and some third party vendors, but the build procedure is very similar.
|
||||
|
||||
Currently, three boards are natively supported by Buildroot:
|
||||
- Xilinx ZC706 board (zynq_zc706_defconfig)
|
||||
- Avnet ZedBoard (zynq_zed_defconfig)
|
||||
- Avnet MicroZed (zynq_microzed_defconfig)
|
||||
|
||||
Steps to create a working system for a Zynq board:
|
||||
|
||||
1) Configuration (do one of the following)
|
||||
make zynq_zc706_defconfig (ZC706)
|
||||
make zynq_zed_defconfig (Zedboard)
|
||||
make zynq_microzed_defconfig (MicroZed)
|
||||
2) make
|
||||
3) All needed files will be available in the output/images directory.
|
||||
The sdcard.img file is a complete bootable image ready to be written
|
||||
on the boot medium. To install it, simply copy the image to an SD
|
||||
card:
|
||||
|
||||
# dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Where 'sdX' is the device node of the uSD.
|
||||
4) boot your board
|
||||
|
||||
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:
|
||||
|
||||
kernel_image=myimage
|
||||
modeboot=myboot
|
||||
myboot=...
|
||||
|
||||
Note:
|
||||
The DTB for MicroZed is the same as the one for the Zedboard (zynq-zed.dtb),
|
||||
and this is the recommended solution, see
|
||||
https://forums.xilinx.com/t5/Embedded-Linux/Microzed-default-device-tree-dts/td-p/432856.
|
||||
|
||||
References:
|
||||
- ZC706 information including schematics, reference designs, and manuals are
|
||||
available from
|
||||
http://www.xilinx.com/products/boards-and-kits/ek-z7-zc706-g.html.
|
||||
|
||||
- Zedboard/Microzed information including schematics, reference designs, and
|
||||
manuals are available from http://www.zedboard.org .
|
||||
|
||||
Support for other boards:
|
||||
|
||||
If you want to build a system for other boards based on the same SoC
|
||||
(for ex. Digilent Zybo board), and the board is already supported by
|
||||
the upstream kernel and U-Boot, you simply need to change the
|
||||
following Buildroot options:
|
||||
|
||||
- Kernel Device Tree file name (BR2_LINUX_KERNEL_INTREE_DTS_NAME)
|
||||
- U-Boot board defconfig (BR2_TARGET_UBOOT_BOARD_DEFCONFIG)
|
||||
|
||||
Custom ps7_init_gpl.c/h support:
|
||||
|
||||
To generate a working boot.bin image, ps7_init_gpl.c/h are required in
|
||||
the U-Boot source tree. Without those files, boot.bin will be built
|
||||
successfully but it will not be functional at all. Those files are
|
||||
output from the Xilinx tools, but for convenience, U-Boot includes the
|
||||
default ps7_init_gpl.c/h of popular boards. Those files may need to be
|
||||
updated for any programmable logic customizations which impact
|
||||
ps7_init (clock/pin setup & mapping/AXI bridge setup/etc). See
|
||||
board/xilinx/zynq/ directory of U-Boot for natively supported ps7_init
|
||||
files. If the ps7_init files for your board are not found in U-Boot,
|
||||
you need to add them by yourself.
|
||||
|
||||
1) Start with a defconfig supported by Buildroot (e.g. Zedboard)
|
||||
make zynq_zed_defconfig
|
||||
|
||||
2) make uboot-menuconfig
|
||||
Visit the following menu and enable CONFIG_ZYNQ_CUSTOM_INIT.
|
||||
|
||||
ARM architecture --->
|
||||
[*] Use custom ps7_init provided by Xilinx tool
|
||||
|
||||
3) Copy ps7_init_gpl.c/h generated by the Xilinx tools into
|
||||
output/build/uboot-xilinx-<pkg version>/board/xilinx/zynq/custom_hw_platform/
|
||||
|
||||
4) make
|
||||
|
||||
Note: The files in step 3 will need to be re-copied after cleaning the
|
||||
output directory and at this time, there is no way to save them as
|
||||
part of the buildroot configuration, except as a U-Boot patch.
|
||||
Reference in New Issue
Block a user