Open main menu

DAVE Developer's Wiki β

Changes

Building Linux kernel (BELK/BXELK)

1,304 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/>==InstructionsBuilding 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 [[Build_system_(BORA_SOM/BELK)-L/Development/Build_system#Pre-built_toolchain|this section]])
*enter the source tree directory and run the following commands:
: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>/srv/tftptftpboot/belkbora/</code>) with the following commands:
<pre>
cp arch/arm/boot/uImage /srvtftpboot/tftpboracp arch/arm/boot/belkdts/cp bora.dtb /srv/tftp/belktftpboot/bora
</pre>
<section end=BELK/>
8,221
edits