Armbian Linux build tools https://www.armbian.com
Find a file
plntyk 483d7e96a7
Fix odroidc1 (#1932)
* enable and change odroidc1 config
remove EOS
enable current and dev config
meson-current: update config
meson-dev: update config
Signed-off-by: Dirk Neukirchen <plntyk.arm@plntyk.name>

* meson-current meson-dev: reduce Kernel size

with default loading locations in u-boot
the uImage can be too large and will be partly overwritten
with the loaded dtb leading to boot failues due to wrong checksum

Signed-off-by: Dirk Neukirchen <plntyk.arm@plntyk.name>

* odroid-c1: change default loglevel

Signed-off-by: Dirk Neukirchen <plntyk.arm@plntyk.name>

* meson: fix odroidc1 boot and create uImage

without uImage the board will not boot
take the already used hack (?) from
general-kernel-odroidn2-current.patch
since KERNEL_IMAGE_TYPE does not work as expected

Signed-off-by: Dirk Neukirchen <plntyk.arm@plntyk.name>

* Update targets.conf

* Update targets.conf

* Update targets.conf

* Making a bigger diff

* Removing build_minimal

One can choose what to build, while build targets are defined elsewhere

* Governor interactive n/a

* Updating config

Cause of changes in boot.ini we don't need to worry about size. After few tests, no problems sighted.

Tested running Docker.

* Adjust dev config too

Tested.

* Update odroidc1.conf

Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
2020-05-03 00:39:52 +02:00
.github Improve welcome readme file (#1779) 2020-02-06 22:57:41 +01:00
config Fix odroidc1 (#1932) 2020-05-03 00:39:52 +02:00
lib Fix wrong repository URL in /etc/armbian-release 2020-04-30 21:43:21 +02:00
packages Enable user overlays on rockchip64 based boards (#1931) 2020-05-01 08:57:01 +02:00
patch Fix odroidc1 (#1932) 2020-05-03 00:39:52 +02:00
.dockerignore Improve Docker support 2017-08-01 12:30:34 +03:00
.editorconfig Added .editorconfig, removed obsoleted upgrade.sh and main.sh, launching user_config function. (#1543) 2019-09-07 23:28:42 +02:00
.gitignore Add /userpatches to .gitignore (#1585) 2019-10-06 20:56:28 +02:00
compile.sh Fixes building on Linux Mint Tricia (Bionic based) (#1914) 2020-04-25 21:25:05 +02:00
LICENSE Create LICENSE 2014-10-08 10:14:29 +02:00
README.md Typo (#1919) 2020-04-26 13:21:02 +02:00
VERSION Update version (#1794) 2020-02-09 16:36:37 -05:00

Armbian logo
build tools

 

Build Status Twitter Follow

Table of contents

 

What this project does?

  • builds custom Debian based Linux system optimized for supported single board computers,
  • covers root filesystem generation, kernel image compilation and bootloader compilation,
  • maintains low-level control software for a selection of hardware,
  • provides a consistent user experience by keeping system standards across different SBC platforms.

 

What do you need to get started?

  • x64 machine with at least 2GB of memory and ~30GB of disk space for the VM, container or native OS,
  • Ubuntu Bionic 18.04 / Focal 20.04 x64 for native building or any Docker capable x64 Linux for containerised,
  • superuser rights (configured sudo or root access).

How to build an image or a kernel?

apt-get -y install git
git clone https://github.com/armbian/build
cd build
./compile.sh

Armbian logo

Build parameter examples

Show work in progress areas in interactive mode:

./compile.sh EXPERT="yes"

Run build tools inside Docker container:

./compile.sh docker

Build minimal CLI Debian buster based image for Odroid XU4. Use modern kernel and write image to the SD card:

./compile.sh BOARD="odroidxu4" BRANCH="current" RELEASE="buster" CARD_DEVICE="/dev/sda" \
KERNEL_ONLY="no" KERNEL_CONFIGURE="no" INSTALL_HEADERS="yes" BUILD_DESKTOP="no" BUILD_MINIMAL="yes"

Build parameters, advanced build options, user defined configuration, build with Docker?

Compare with industry standards

Check similarity, advantages and disadvantages compared with leading industry standard build software.

Function Armbian Yocto Buildroot
Target general purpose embedded embedded / IOT
U-boot and kernel compiled from sources compiled from sources compiled from sources
Hardware support maintenance        complete outside outside
Root file system Debian or Ubuntu based custom custom
Package manager APT any none
Configurability limited large large
Initramfs support yes yes yes
Getting started quick very slow slow
Cross compilation yes yes yes

Where to download prebuilt images?

https://www.armbian.com/download/

Armbian releases quarterly at the end of February, May, August, November. You are welcome to propose changes to our default images build list.

Additional information

Build tools overview

├── cache                                    Work / cache directory
│   ├── rootfs                               Compressed vanilla Debian and Ubuntu rootfilesystem cache
│   ├── sources                              Kernel, u-boot and various drivers sources. Mainly C code
│   ├── toolchains                           External cross compilers from Linaro™ or ARM™
├── config                                   Packages repository configurations
│   ├── targets.conf                         Board build target configuration
│   ├── boards                               Board configurations
│   ├── bootenv                              Initial boot loaders environments per family
│   ├── bootscripts                          Initial Boot loaders scripts per family
│   ├── kernel                               Kernel build configurations per family
│   ├── sources                              Kernel and u-boot sources locations and scripts
│   ├── templates                            User configuration templates which populate userpatches
│   └── torrents                             External compiler and rootfs cache torrents
├── lib                                      Main build tools libraries
├── output                                   Build artifact
│   └── deb                                  Deb packages
│   └── images                               Bootable images - RAW or compressed
│   └── debug                                Patch and build logs
│   └── config                               Kernel configuration export location
│   └── patch                                Created patches location
├── packages                                 Support scripts, binary blobs, packages
│   ├── blobs                                Wallpapers, various configs, closed source bootloaders
│   ├── bsp                                  Scripts and configs overlay for rootfs
│   └── extras-buildpkgs                     Optional compilation and packaging engine
├── patch                                    Collection of patches
│   ├── atf                                  ARM trusted firmware
│   ├── kernel                               Linux kernel patches
|   |   └── family-branch                    Per kernel family and branch
│   ├── misc                                 Linux kernel packaging patches
│   └── u-boot                               Universal boot loader patches
|       ├── u-boot-board                     For specific board
|       └── u-boot-family                    For entire kernel family
└── userpatches                              User: configuration patching area
    ├── lib.config                           User: tools common config/override file
    ├── config-default.conf                  User: default user config file
    ├── customize-image.sh                   User: script will execute just before closing the image
    ├── atf                                  User: ARM trusted firmware
    ├── kernel                               User: Linux kernel per kernel family
    ├── misc                                 User: various
    └── u-boot                               User: universal boot loader patches

Support

Contribute

Social

Credits

Sponsors

Most of the project is sponsored with a work done by volunteer collaborators, while some part of the project costs are being covered by the industry. We would not be able to get this far without their help.

Do you want to see yourself below?

Armbian logoArmbian logo