Wiki

This version is outdated by a newer approved version.DiffThis version (19 Oct 2017 11:14) was approved by Michael Hennerich.The Previously approved version (12 Dec 2016 12:21) is available.Diff

This is an old revision of the document!


Building the ZynqMP / MPSoC 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 xcomm_zynq development/master branch

dave@hal9000:~/github-linux-build/linux$ git checkout xcomm_zynq
Already on 'xcomm_zynq'
Your branch is up-to-date with 'origin/xcomm_zynq'.

Add aarch64-linux-gnu-gcc to PATH

Vivado 2016.2 SDK may be installed into a different directory

dave@hal9000:~/github-linux-build/linux$ export PATH=$PATH:/opt/Xilinx/SDK/2017.2/gnu/aarch64/lin/aarch64-linux/bin

Setup cross compile environment variables

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

dave@hal9000:~/github-linux-build/linux$ export CROSS_COMPILE=aarch64-linux-gnu-

Configure the kernel

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

Build the kernel

dave@hal9000:~/github-linux-build/linux$ make -j5 Image UIMAGE_LOADADDR=0x8000
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/bin2c


[ -- snip --]

  CC      init/version.o
  LD      init/built-in.o
  KSYM    .tmp_kallsyms1.o
  KSYM    .tmp_kallsyms2.o
  LD      vmlinux
  SORTEX  vmlinux
  SYSMAP  System.map
  OBJCOPY arch/arm64/boot/Image
dave@hal9000:~/github-linux-build/linux$

Build the devicetree FCMOMMS2/3

Build the one that fits your FPGA carrier and FMC card

zynqmp-zcu102-rev10-ad9361-fmcomms2-3.dts ZCU102 Rev. 1.0 and the AD-FMCOMMS2-EBZ or AD-FMCOMMS3-EBZ board
zynqmp-zcu102-rev10-ad9364-fmcomms4.dts ZCU102 Rev. 1.0 and the AD-FMCOMMS4-EBZ or AD-FMCOMMS4-EBZ board
zynqmp-zcu102-revB-ad9361-fmcomms2-3.dts ZCU102 Rev.B and the AD-FMCOMMS2-EBZ or AD-FMCOMMS3-EBZ board
zynqmp-zcu102-revB-ad9364-fmcomms4.dts ZCU102 Rev.B and the AD-FMCOMMS4-EBZ board
dave@hal9000:~/github-linux-build/linux$  make xilinx/zynqmp-zcu102-rev10-ad9361-fmcomms2-3.dtb
  DTC     arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev10-ad9361-fmcomms2-3.dtb
dave@hal9000:~/github-linux-build/linux$

Copy the generated files to your SD Card

dave@hal9000:~/github-linux-build/linux$ cp arch/arm64/boot/Image /media/michael/BOOT/
dave@hal9000:~/github-linux-build/linux$ cp arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revB-ad9361-fmcomms2-3.dtb /media/michael/BOOT/system.dtb
resources/eval/user-guides/ad-fmcomms2-ebz/software/linux/zynqmp.1508404446.txt.gz · Last modified: 19 Oct 2017 11:14 by Michael Hennerich