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.
Go to file
zador-blood-stained 78abb240d5 Move patching functions to common.sh
Optimize main.sh
2016-04-18 18:21:43 +03:00
bin Old version of USB redirector which works on kernel < 4.x 2016-04-13 20:18:08 +02:00
config Duplicate kernel config file for sun8i-dev 2016-04-18 15:49:53 +03:00
documentation Move patching functions to common.sh 2016-04-18 18:21:43 +03:00
extras Added hostapd compilation from sources withing chroot, nano pi m1 2016-04-16 20:50:12 +02:00
patch Move sun8i mainline to sun8i-dev LINUXFAMILY 2016-04-18 15:17:28 +03:00
scripts Firstrun was failing when booting from eMMC, changing detection method 2016-04-14 18:45:11 +02:00
boards.sh Added Hummingboard 2 to legacy kernel, bugfixes to boot script and removing BT loading from defaults 2016-04-11 12:50:21 +02:00
build-all.sh Move patching functions to common.sh 2016-04-18 18:21:43 +03:00
common.sh Move patching functions to common.sh 2016-04-18 18:21:43 +03:00
compile.sh realpath not installed by default, at least not on Trusty. 2016-04-16 21:12:24 +02:00
configuration.sh Move sun8i mainline to sun8i-dev LINUXFAMILY 2016-04-18 15:17:28 +03:00
debootstrap-ng.sh Set ext4 options in debootstrap-ng to match old debootstrap 2016-04-17 14:08:38 +03:00
debootstrap.sh Remove debconf-utils from debootstrap (fix for Xenial) 2016-04-14 23:26:16 +03:00
desktop.sh Few more H3 fixes, green LED high active again, little fel-boot enhancements 2016-03-17 20:16:26 +01:00
distributions.sh Added hostapd compilation from sources withing chroot, nano pi m1 2016-04-16 20:50:12 +02:00
Dockerfile Made the dockerfile actually work. 2016-04-03 17:00:51 +07:00
fel-load.sh Few more H3 fixes, green LED high active again, little fel-boot enhancements 2016-03-17 20:16:26 +01:00
general.sh Move patching functions to common.sh 2016-04-18 18:21:43 +03:00
LICENSE Create LICENSE 2014-10-08 10:14:29 +02:00
main.sh Move patching functions to common.sh 2016-04-18 18:21:43 +03:00
makeboarddeb.sh Added hostapd compilation from sources withing chroot, nano pi m1 2016-04-16 20:50:12 +02:00
README.md Small tweaks to main readme, moving screen size detection from configuration to main, to have this info from start 2016-03-27 15:39:08 +02:00
repo-show.sh Build script complete rewrite. Added user patches and WIP boards: Orangepi+, Lemaker Guitar 2015-12-02 20:33:32 +01:00
repo-update.sh Build script complete rewrite. Added user patches and WIP boards: Orangepi+, Lemaker Guitar 2015-12-02 20:33:32 +01:00
upgrade.sh Banana M1 / M1+ / Pro micro fixes in legacy and vanilla kernel. 2016-03-01 22:27:09 +01:00
Vagrantfile Manually merged 2016-04-07 16:06:41 +02:00

How to build my own image?

Preparation

  • x86 machine running any OS, 4G ram, SSD, quad core (recommended),
  • virtual box or similar virtualization software, (highly recommended)
  • host system is highly recommended to be Ubuntu 14.04 (some but not all sources can also compile on Ubuntu 15.04, Mint 17.2 and Debian Jessie),
  • installed basic system, OpenSSH and Samba (optional),
  • gain root access.

Execution

apt-get -y install git
git clone https://github.com/igorpecovnik/lib --depth 1
cp lib/compile.sh .	
./compile.sh

This will download all necessary sources, execute compilation and build an bootable image. Most of things will be cached so next run will be extremly faster!

How to build my own kernel?

Prerequisition are the same as building an image!

Edit compile.sh prior to running and alter switch:

KERNEL_ONLY="yes"

In directory (output/debs) you will find deb packed kernel, together with headers, firmware and u-boot.

If you want to invoke menu configuration:

KERNEL_CONFIGURE="yes"

More info: