Open main menu

DAVE Developer's Wiki β

Changes

Building Linux kernel (BELK/BXELK)

1,483 bytes added, 14:50, 10 July 2023
kernel modules
{{Applies To Bora}}
{{Applies To BoraX}}
{{Applies To BoraLite}}
{{InfoBoxBottom}}
{{ImportantMessage|text=As the structure of the BELK/BXELK is based on several tools, it is strongly recommended the reading of [[BORA_SOM/BELK-L/General/Logical_structure_of_BELK|this document]] first.}}
== History ==
{| class="wikitable" border="1"
!Notes
|-
|{{oldid|6392|1.0.0}}
|November 2015
|[[Bora_Embedded_Linux_Kit_(BELK)#BELK_software_components|3.0.0]]
|First release
|-
|1.1.0
|August 2018
|[[BELK/BXELK_software_components#BELK_4.0.0_.2F_BXELK_2.0.0|4.0.0]]
|Update for BELK-4.x.x
|-
|1.1.1
|January 2020
|[[BELK/BXELK_software_components#BELK_4.1.0|4.1.0]]
|Update for BELK-4.1.x
|-
|}
<section begin=BELK/>=Instructions=Building Linux kernel==It is assumed that the development environment has been set up properly as described [[Build_system_(BORA_SOM/BELK)-L/Development/Build_system|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): <pre>git clone git@git.dave.eu:dave/bora/linux-xlnx.git -b bora-4.x.x</pre> *setup the server environment (please refer to [[BORA_SOM/BELK-L/Development/Build_system#Pre-built_toolchain|this section 3.3.3.3]])*enter the source tree directory and run the following commands: <pre>
make bora_defconfig
make UIMAGE_LOADADDR=0x8000 uImage bora.dtb
</pre> :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 <code>mkimage </code> tool is required for building the <code>uImage </code> binary. This tool must be installed on the Linux development server (please refer to the package manager of the Linux distribution). === update the kernel configuration ===Default Linux kernel configuration can be changed by using the standard <code>menuconfig</code> or <code>nconfig</code> as make ''target''. Subsequent builds just require <code>uImage</code> make target to update the binary image.  make menuconfig [[File:BELK-make-menuconfig.png | 800px]] === kernel modules ===It is possible to build the kernel modules too, together with the kernel image:  make UIMAGE_LOADADDR=0x8000 uImage '''modules''' bora.dtb then, the built modules have to be prepared for being installed in the rfs:  make INSTALL_MOD_PATH=''<directory_for_modules>'' modules_install and properly copy them in the target root file system === tftpboot === Default linux kernel configuration can be changed by using the standard <code>menuconfig</code>, <code>xconfig</code>, or <code>gconfig </code> make target. Subsequent builds just require <code>uImage </code> make target to update the binary image. Once the build process is complete, the kernel binary image is stored into the <code>arch/arm/boot/uImage </code> file. Both this file and the kernel device tree can be copied to the tftp root directory (eg. <code>/srvtftpboot/tftpbora/belk</code>) with the following commands:<pre>cp arch/arm/boot/uImage /srvtftpboot/tftpboracp arch/arm/boot/belkdts/cp bora.dtb /srvtftpboot/tftpbora</belkpre><section end=BELK/>
8,254
edits