Building Linux kernel (BELK/BXELK)

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box
Bora5-small.jpg Applies to Bora
BORA Xpress.png Applies to BORA Xpress
200px-Emblem-important.svg.png As the structure of the BELK/BXELK is based on several tools, it is strongly recommended the reading of this document first. 200px-Emblem-important.svg.png

History

Version Date BELK version Notes
1.0.0 November 2015 3.0.0 / 4.0.0 First release

Instructions

It is assumed that the development environment has been set up properly as described here.

  • start the Linux development server and login into the system
  • assuming that a local repository has not been created, clone the remote Linux git repository (the “-b” option is used to automatically checkout the current branch):

git clone git@git.dave.eu:dave/bora/linux-xlnx.git -b bora

  • setup the server environment (please refer to this section)
  • enter the source tree directory and run the following commands:
make bora_defconfig
make UIMAGE_LOADADDR=0x8000 uImage bora.dtb
The former command selects the default BORA configuration, while the latter builds the kernel binary image with the required u-boot header and the kernel device tree. Please note that the mkimage tool is required for building the uImage binary. This tool must be installed on the Linux development server (please refer to the package manager of the Linux distribution).

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 (eg. /srv/tftp/belk/) with the following commands:

cp arch/arm/boot/uImage /srv/tftp/belk/
cp bora.dtb /srv/tftp/belk/