Skip to content

ARMBIAN_SDK Compilation

SDK Introduction

SDK (Software Development Kit) is a collection of development tools provided for a specific software framework, hardware platform, or operating system, designed to help developers create applications more efficiently.

Compilation Environment Setup

Install Ubuntu on a PC to compile the SDK.

  • Hardware: PC must meet the requirements of RAM ≥ 32 GB, CPU core ≥ 4, Hard Drive ≥ 500GB
  • Software: Ubuntu 64-bit, x86 architecture, virtual machine disk space allocation ≥ 200GB.

Obtaining SDK Source Code

Note

1. The SDK must not be placed in a shared directory for compilation.
2. The compilation host must not be logged in as the ROOT user.

1. Click to download the Armbian SDK source code and the release_sdk.sh script. Usually download the file with the latest suffix.

2. Place the tar.gz package, md5sum file, and release_sdk.sh file in the same directory on the compilation host.

kickpi-armbian-*.tar.gz
kickpi-armbian-*.md5sum
release_sdk.sh

3. Run the script to restore the SDK source code

chmod +x ./release_sdk.sh
./release_sdk.sh

Schematic diagram

K7_RESET_SDK

Graphical Interface Compilation

Note

Graphical interface operation instructions:
1. Use the arrow keys to select configurations, the spacebar to select or deselect configurations, and the Enter key to confirm configurations.
2. Supports quick search by first letter; press the first letter on the keyboard to jump to the corresponding option.

1. Run the following command to enter the graphical selection compilation interface.

./compile.sh

Operation Schematic Diagram

K7_ARMBIAN_BUILD

Standalone Compilation

  • Kernel standalone compilation
./compile.sh kernel
  • DTS standalone compilation
./compile.sh kernel-dtb
  • Kernel config configuration
./compile.sh kernel-config

Armbian Official Compilation Guide

Frequently Asked Questions

  • Slow Armbian source code compilation?

Currently, kickpi-armbian source code compilation is modified to 16 by default. Modify the source code compilation threads as follows.

--- a/lib/functions/compilation/distcc.sh
+++ b/lib/functions/compilation/distcc.sh
@@ -49,7 +49,7 @@ function prepare_distcc_compilation_config() {

                DISTCC_CROSS_COMPILE_PREFIX=("distcc")

-        DISTCC_MAKE_J_PARALLEL=("-j16")
+        DISTCC_MAKE_J_PARALLEL=("-j64")
                #DISTCC_MAKE_J_PARALLEL=("-j$((total_distcc_cores * 2))") # Use double the total distcc cores

                display_alert "DISTCC_TARGETS_SEGMENTS" "${DISTCC_TARGETS_SEGMENTS[*]}" "warn"
@@ -58,7 +58,7 @@ function prepare_distcc_compilation_config() {
                [[ -z "${CTHREADS}" ]] && exit_with_error "CTHREADS is not set in prepare_distcc_compilation_config"
                DISTCC_MAKE_J_PARALLEL=("${CTHREADS}")

-        DISTCC_MAKE_J_PARALLEL=("-j16")
+        DISTCC_MAKE_J_PARALLEL=("-j64")
        fi

        return 0