The official build framework for the Armbian Linux distribution. This repository contains the complete toolchain and scripts required to compile custom OS images from source, including kernel configuration, U-Boot handling, and board-specific tweaks for various ARM and ARM64 single-board computers.
aarch64armdebianfirmwareframeworkimageisokernelkernel-compilationkernel-hackinglightweightlinuxlinux-distributionoperating-systemu-bootubuntuuefiwsl2x86
| .github | ||
| bin | ||
| config | ||
| documentation | ||
| extras | ||
| extras-buildpkgs | ||
| patch | ||
| scripts | ||
| build-all.sh | ||
| chroot-buildpackages.sh | ||
| common.sh | ||
| compile.sh | ||
| configuration.sh | ||
| debootstrap-ng.sh | ||
| desktop.sh | ||
| distributions.sh | ||
| Dockerfile | ||
| fel-load.sh | ||
| general.sh | ||
| LICENSE | ||
| main.sh | ||
| makeboarddeb.sh | ||
| README.md | ||
| repo-show.sh | ||
| repo-update.sh | ||
| upgrade.sh | ||
| Vagrantfile | ||
Armbian
Ubuntu and Debian images for ARM based single-board computers http://www.armbian.com
How to build my own image or kernel?
Supported build environments:
- Ubuntu Xenial 16.04 x64 guest inside a VirtualBox or other virtualization software (20GB disk space or more and 2GB RAM or more is recommended for the virtual disk image),
- Ubuntu Xenial 16.04 x64 inside a Docker, systemd-nspawn or other container environment. Building full OS images inside containers may not work, so this option is mostly for the kernel compilation,
- Ubuntu Xenial 16.04 x64 running natively on a dedicated PC or a server,
- Ubuntu Trusty 14.04 x64 may still be used for the kernel compilation but it is not recommended,
- superuser rights (configured
sudoor root access).
Execution
apt-get -y install git
git clone https://github.com/igorpecovnik/lib --depth 1
cp lib/compile.sh .
./compile.sh
You will be prompted with a selection menu for a build option, a board name, a kernel branch and an OS release. Please check the documentation for advanced options and additional customization.
Build process uses caching for the compilation and the debootstrap process, so consecutive runs with similar settings will be much faster.
How to change a kernel configuration?
Edit compile.sh and set
KERNEL_CONFIGURE="yes"
or pass this option as a command line parameter like
./compile.sh KERNEL_CONFIGURE=yes
to display the kernel configuration menu during the compilation process
More info: