Building Linux kernel (BELK/BXELK)
|As the structure of the BELK/BXELK is based on several tools, it is strongly recommended the reading of this document first.|
|November 2015||3.0.0||First release|
|1.1.0||August 2018||4.0.0||Update for BELK-4.x.x|
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 firstname.lastname@example.org:dave/bora/linux-xlnx.git -b bora-4.x.x
- 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
mkimagetool is required for building the
uImagebinary. 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
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/