build-linux-bottom

Last modified by Microchip on 2025/11/24 07:23

You can modify default configuration using the menuconfig.

$ make ARCH=arm menuconfig

You can add or remove some features in the menuconfig dialog. Once done, use the arrows to navigate to <Exit> and press this button with the Enter key to exit from this screen.

Build the Linux kernel image, before you build you need set up the cross compile toolchain, check the "Set Up ARM Cross Compiler" section.

$ make ARCH=arm

[..]

  Kernel: arch/arm/boot/Image is ready
  Kernel: arch/arm/boot/zImage is ready

Now you have an usable compressed kernel image zImage.

If you need an uImage you can run this additional step:

make ARCH=arm uImage LOADADDR=0x20008000

[..]

Kernel: arch/arm/boot/Image is ready
Kernel: arch/arm/boot/zImage is ready
UIMAGE  arch/arm/boot/uImage
Image Name:   Linux-6.12.22-linux4microchip-20
Created:      Thu May 22 18:05:21 2025
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    5688984 Bytes = 5555.65 KiB = 5.43 MiB
Load Address: 20008000
Entry Point:  20008000
Kernel: arch/arm/boot/uImage is ready
make ARCH=arm dtbs

[..]

  DTC     arch/arm/boot/dts/microchip/at91-sama5d27_som1_ek.dtb
  DTC     arch/arm/boot/dts/microchip/at91-sama5d27_wlsom1_ek.dtb
  DTC     arch/arm/boot/dts/microchip/at91-sama5d29_curiosity.dtb
  DTC     arch/arm/boot/dts/microchip/at91-sama5d2_icp.dtb
  DTC     arch/arm/boot/dts/microchip/at91-sama5d3_eds.dtb
  DTC     arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dtb
  DTC     arch/arm/boot/dts/microchip/at91-sama7g54_curiosity.dtb
  DTC     arch/arm/boot/dts/microchip/at91-sama7g5ek.dtb

[..]

If the building process is successful, the final images can be found under the arch/arm/boot/ directory.