Wiki

This version is outdated by a newer approved version.DiffThis version (10 Jan 2018 17:16) was approved by Alexandru Ardelean.The Previously approved version (05 Jan 2018 08:42) is available.Diff

This is an old revision of the document!


Building the 2015_R2 release Linux kernel and devicetrees from source

On the development host

git clone https://github.com/analogdevicesinc/linux.git

or do a git pull in the existing repository.

Checkout the Release branch

If not otherwise required always use the latest release!
Release names and Branches
2014_R2
2015_R2
2016_R1
2016_R2
2017_R1
dave@hal9000:~/github-linux-build/linux$ git checkout origin/2015_R2 -b 2015_R2
Branch 2015_R2 set up to track remote branch 2015_R2 from origin.
Switched to a new branch '2015_R2'

Add arm-xilinx-linux-gnueabi-gcc to PATH

Release names and Branches Required Vivado/SDK versions
2014_R2 Vivado 2014.2
2015_R2 Vivado 2015.2
2016_R1 Vivado 2015.4.2
2016_R2 Vivado 2016.2
2017_R1 Vivado 2016.4

Vivado 2015.2 SDK may be installed into a different directory

dave@hal9000:~/github-linux-build/linux$ source /opt/Xilinx/SDK/2015.2/settings64.sh

Setup cross compile environment variables

dave@hal9000:~/github-linux-build/linux$ export ARCH=arm

dave@hal9000:~/github-linux-build/linux$ export CROSS_COMPILE=arm-xilinx-linux-gnueabi-

Configure the kernel

dave@hal9000:~/github-linux-build/linux$ make zynq_xcomm_adv7511_defconfig
#
# configuration written to .config
#
dave@hal9000:~/github-linux-build/linux$

Build the kernel

dave@hal9000:~/github-linux-build/linux$ make -j5 UIMAGE_LOADADDR=0x8000 uImage
scripts/kconfig/conf --silentoldconfig Kconfig
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  UPD     include/config/kernel.release
  CHK     include/generated/utsrelease.h

[ -- snip --]

  AS      arch/arm/boot/compressed/bswapsdi2.o
  AS      arch/arm/boot/compressed/piggy.gzip.o
  LD      arch/arm/boot/compressed/vmlinux
  OBJCOPY arch/arm/boot/zImage
  Kernel: arch/arm/boot/zImage is ready
  UIMAGE  arch/arm/boot/uImage
Image Name:   Linux-3.17.0-126697-g611e217-dir
Created:      Fri Nov 28 10:20:40 2014
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    3195872 Bytes = 3120.97 kB = 3.05 MB
Load Address: 00008000
Entry Point:  00008000
dave@hal9000:~/github-linux-build/linux$

Build the devicetree FCMOMMS2/3/4/5

Build the one that fits your FPGA carrier and FMC card

zynq-zc702-adv7511-ad9361-fmcomms2-3.dts ZC702, the on-board ADV7511 and the AD-FMCOMMS2-EBZ or AD-FMCOMMS3-EBZ board
zynq-zc702-adv7511-ad9361-fmcomms5.dts ZC702, the on-board ADV7511 and the AD-FMCOMMS5-EBZ
zynq-zc702-adv7511-ad9364-fmcomms4.dts ZC702, the on-board ADV7511 and the AD-FMCOMMS4-EBZ board
zynq-zc706-adv7511-ad9361-fmcomms2-3.dts ZC706, the on-board ADV7511 and the AD-FMCOMMS2-EBZ or AD-FMCOMMS3-EBZ board
zynq-zc706-adv7511-ad9361-fmcomms2-3-pr.dts ZC706, the on-board ADV7511 and the AD-FMCOMMS2-EBZ or AD-FMCOMMS3-EBZ board
zynq-zc706-adv7511-ad9361-fmcomms5.dts ZC706, the on-board ADV7511 and the AD-FMCOMMS5-EBZ board
zynq-zc706-adv7511-ad9364-fmcomms4.dts ZC706, the on-board ADV7511 and the AD-FMCOMMS4-EBZ board
zynq-zc706-adv7511-ad9434-fmc-500ebz.dts ZC706, the on-board ADV7511 and the AD9434-FMC-500EBZ board
zynq-zed-adv7511-ad9361-fmcomms2-3.dts Zed Board, the on-board ADV7511 and the AD-FMCOMMS2-EBZ or AD-FMCOMMS3-EBZ board
zynq-zed-adv7511-ad9364-fmcomms4.dts Zed Board, the on-board ADV7511 and the AD-FMCOMMS4-EBZ board
zynq-zed-adv7511-ad9467-fmc-250ebz.dts Zed Board, the on-board ADV7511 and the AD9467-FMC-250EBZ board
zynq-mini-itx-adv7511-ad9361-fmcomms2-3.dts Mini-ITX, the on-board ADV7511 and the AD-FMCOMMS2-EBZ or AD-FMCOMMS3-EBZ board
zynq-mini-itx-adv7511-ad9361-fmcomms2-3-pr.dts Mini-ITX, the on-board ADV7511 and the AD-FMCOMMS2-EBZ or AD-FMCOMMS3-EBZ board
zynq-mini-itx-adv7511-ad9364-fmcomms4.dts Mini-ITX, the on-board ADV7511 and the AD-FMCOMMS4-EBZ board
dave@hal9000:~/github-linux-build/linux$ make zynq-zc702-adv7511-ad9361.dtb
  DTC     arch/arm/boot/dts/zynq-zc702-adv7511-ad9361.dtb
dave@hal9000:~/github-linux-build/linux$

Copy the generated files to your SD Card

dave@hal9000:~/github-linux-build/linux$ cp arch/arm/boot/uImage /media/BOOT/uImage
dave@hal9000:~/github-linux-build/linux$ cp arch/arm/boot/dts/zynq-zc702-adv7511-ad9361.dtb  /media/BOOT/devicetree.dtb

On the target platform

Modifying devicetrees

1. Make sure the boot partition is mounted. On new images, this can be done by right-clicking the boot icon on the desktop and selecting the “Mount Volume” option. The partition will then be mounted at /media/analog/boot.

2. Convert the compiled devicetree related to the target back into an editable format.

dave@hal9000:/media/analog/boot/zynq-zc702-adv7511$ dtc -I dtb -O dts -o devicetree.dts devicetree.dtb

3. Modify the devicetree.dts file as required.

4. Recompile the devicetree file. Note that this will overwrite the original dtb file, copy or rename the original file if you want to keep it before running this step.

dave@hal9000:/media/analog/boot/zynq-zc702-adv7511$ dtc -I dts -O dtb -o devicetree.dtb devicetree.dts
resources/eval/user-guides/ad-fmcomms2-ebz/software/linux/zynq_2015r2.1515600676.txt.gz · Last modified: 10 Jan 2018 17:11 by Alexandru Ardelean