Building Linux kernel (DIVELK)

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box
Diva-am335x-overview.png Applies to Diva

History[edit | edit source]

Version Date DIVELK version Notes

3.0.0

Jun 2017 DIVELK 3.0.0 DIVELK release
4.0.1 Mar 2019 DIVELK 4.0.1 DIVELK release

Quick reference[edit | edit source]

Repository Information
URL git@git.dave.eu:dave/diva/linux-am33x.git
stable branch diva
stable tag divelk-4.0.1
Build Information
defconfig diva_defconfig
Kernel binary UIMAGE_LOADADDR=0x80008000 uImage
Device trees Platform SOM ConfigID CB ConfigID DTB
DIVELK 0x00000001 0x00000001 am335x-divelk.dtb
SBCD 0x00000001 0x00000002 am335x-sbcd.dtb

Detailed Instructions[edit | edit source]

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

  • start the Linux development VM and login into the system
  • open a terminal window and cd into Linux kernel source code
cd diva/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 diva_defconfig
make LOADADDR=0x80008000 uImage am335x-divelk.dtb am335x-sbcd.dtb
The former command selects the default DIVELK 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/diva/ with the following commands:

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