Building Linux kernel (XELK)

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box
Axel-04.png Applies to Axel Ultra
Axel-lite 02.png Applies to Axel Lite
Axel-02.png Applies to AXEL ESATTA
SBC-AXEL-02.png Applies to SBC AXEL

History

Version Date XELK version Notes
1.0.0 Nov 2013 XELK 1.0.0
1.2.0 May 2014 XELK 1.2.0
2.0.0 Nov 2014 XELK 2.0.0
2.1.0 May 2015 XELK 2.1.0
2.2.0 Feb 2016 XELK 2.2.0
3.0.1 Nov 2017 XELK 3.0.1

Quick reference

Repository Information
URL git@git.dave.eu:axel/u-boot-imx.git
stable branch axel
stable tag xelk-3.0.1
Build Information
defconfig imx_v7_axel_defconfig
Kernel binary UIMAGE_LOADADDR=0x80008000 uImage
Device trees Platform DTB
SBC-AXEL imx6q-sbcx-cb0012.dtb, imx6dl-sbcx-cb0012.dtb
EVB imx6q-xelk-l.dtb, imx6dl-xelk-l.dtb
EVB OLD imx6q-xelk-l-2.0.0.dtb

Detailed Instructions

It is assumed that the development environment has been set up.

  • start the Linux development VM and login into the system
  • open a terminal window and cd into Linux kernel source code
cd axel/linux/
  • in case of needs you can update your local repository with the following git command
git pull
  • configure the build environment
source ~/env.sh


  • to build the binaries run the following commands:
make imx_v7_axel_defconfig
make UIMAGE_LOADADDR=0x10008000 uImage imx6dl-sbcx-cb0012.dtb
The former command selects the default XELK configuration, while the latter builds the kernel binary image with the required u-boot header and the kernel device tree.

Default Linux kernel configuration can be changed by using the standard menuconfig, xconfig, or gconfig make target. Subsequent builds just require uImage make target to update the binary image. Once the build process is complete, the kernel binary image is stored into the arch/arm/boot/uImage file. Both this file and the kernel device tree can be copied to the tftp root directory /tftpboot/axel/ with the following commands:

cp arch/arm/boot/uImage /tftpboot/axel/
cp arch/arm/boot/dts/*.dtb /tftpboot/axel/