Mainline Linux on Zynq
Mainline Linux refers to the Linux sources provided by kernel.org. This page gives a brief overview over the differences between the Xilinx and kernel.org Linux sources and how to run Mainline Linux on Zynq platforms. The mainline sources can be downloaded form kernel.org in various different formats.
Xilinx vs. kernel.org
Drivers &
& Features
The Xilinx Linux tree is based on the mainlne sources. While development in mainline may be ahead of what is available in the Xilinx tree, Xilinx-specific features may only be available in the Xilinx tree. An overview of Xilinx-specific Linux features and drivers and their availability in mainline can be found
here. Another way to get an idea of supported features in mainline Linux is to take a look at the
Zynq dts file.
Device Tree
The device trees in mainline use a hierarchichal approach. The common part of Zynq is described in
zynq-7000.dtsi. This file is included by board-level dts files (e.g.
zynq-zc706.dts), which describe the board-specific parameters. Supporting a new Zynq platform should be as easy as adding a new board-level dts file.
Default Configuration
There is no Zynq-specific defconfig available in mainline. Instead the
multi_v7_defconfig is used. This config is the default configuration for the
ARM multi-platform kernel and gives a working base line for Zynq platforms.
Build Mainline Linux
This is just a really short quick start guide. All
general instructions for building a Linux kernel apply, this is not special by any means.
Code Block |
---|
|
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ cd linux
$ make multi_v7_defconfig
$ make UIMAGE_LOADADDR=0x8000 uImage modules dtbs |
References