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 ec58358a1e Moved installation of distribution-specific packages to debootstrap
Changed some distribution-specific tweaks
Moved some tweaks out of the way from debootstrap.sh to distributions.sh
2015-12-19 16:44:01 +03:00
bin Build script complete rewrite. Added user patches and WIP boards: Orangepi+, Lemaker Guitar 2015-12-02 20:33:32 +01:00
config [Testing needed] fake-hwclock as boot clock source 2015-12-18 13:47:56 +03:00
documentation Merge remote-tracking branch 'upstream/master' 2015-12-17 19:11:04 +03:00
patch sunxi-ss mainline patch 2015-12-15 22:05:32 +03:00
scripts This workaround should be fixed too 2015-12-18 13:47:56 +03:00
boards.sh List of functions in file headers 2015-12-18 13:47:56 +03:00
build-all.sh Build script complete rewrite. Added user patches and WIP boards: Orangepi+, Lemaker Guitar 2015-12-02 20:33:32 +01:00
common.sh - Image resize fix + added logging, 2015-12-18 21:52:33 +01:00
compile.sh Apt --no-install-recommends for host dependencies 2015-12-14 17:03:41 +03:00
configuration.sh Fix for old version of pv on Trusty 2015-12-18 17:55:57 +03:00
debootstrap.sh Moved installation of distribution-specific packages to debootstrap 2015-12-19 16:44:01 +03:00
desktop.sh Build script complete rewrite. Added user patches and WIP boards: Orangepi+, Lemaker Guitar 2015-12-02 20:33:32 +01:00
distributions.sh Moved installation of distribution-specific packages to debootstrap 2015-12-19 16:44:01 +03:00
general.sh Merge remote-tracking branch 'upstream/master' 2015-12-18 15:20:11 +03:00
LICENSE Create LICENSE 2014-10-08 10:14:29 +02:00
main.sh Revision is read from configuration so version must be set after loading the script. 2015-12-14 19:50:14 +01:00
makeboarddeb.sh List of functions in file headers 2015-12-18 13:47:56 +03:00
patching.sh Removed unneeded description 2015-12-18 16:37:39 +03:00
README.md Build script complete rewrite. Added user patches and WIP boards: Orangepi+, Lemaker Guitar 2015-12-02 20:33:32 +01: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 Build script complete rewrite. Added user patches and WIP boards: Orangepi+, Lemaker Guitar 2015-12-02 20:33:32 +01: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),
  • root access.

Execution

apt-get -y install git
git clone https://github.com/igorpecovnik/lib --depth 1
cp lib/compile.sh .
chmod +x 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 are doing changes to kernel source, disable GIT lock with:

FORCE_CHECKOUT="no"

If you want to invoke menu configuration:

KERNEL_CONFIGURE="yes"

More info: