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
softwarecreations 0812e7a8bb
Enabled/module'd/added options for traffic shaping/scheduling
**Reason for PR**
These boards are well suited to being used as a router/AP doing traffic filtering or shaping etc.
The modules I've added make it possible to use any traffic scheduling features provided by the kernel.

**Kernel has been tested with this config**
I have built the kernel with this config and tested it on the NanoPi Neo 2 with success.
`Linux nanopineo2 4.19.13-sunxi64 #5.71 SMP Tue Jan 15 15:04:02 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux`

**Almost zero memory usage increase**
I only changed a few options (as necessary) to Y, the rest are M (module).

**Please note**
I DID have to edit the kernel config by hand because I tried adding all traffic scheduling options in the kernel config menu, but it didn't provide the necessary changes to enable traffic control kernel options. Later when I checked /boot/config-4.19.13-sunxi64 all the traffic control options were still missing/disabled. AND also a lot of options needed did not exist in the original file.
So I edited the default file, exactly as it appears in this pull request.

**Source of missing options**
The options added can be found in https://github.com/torvalds/linux/blob/master/net/sched/Makefile and a few were listed here https://serverfault.com/questions/536464/what-kernel-module-to-compile-for-getting-qos-service-on-linux
2019-01-15 18:17:01 +02:00
.github Update PULL_REQUEST_TEMPLATE.md 2018-07-05 10:15:51 +02:00
config Enabled/module'd/added options for traffic shaping/scheduling 2019-01-15 18:17:01 +02:00
lib Up with version 2019-01-13 20:34:15 +01:00
packages [ nand-sata-install cosmetics ] Suppress error on probing, bigger message for bootloader write, adding "eMMC". It works - at least where eMMC = SD card 2019-01-08 18:06:22 +01:00
patch [ rockchip64-dev ] small rockpi4 dts adjustments. 2019-01-15 01:46:12 -05:00
.dockerignore Improve Docker support 2017-08-01 12:30:34 +03:00
.gitignore Improve Vagrant support 2017-08-01 12:31:05 +03:00
compile.sh Fix argument parsing 2018-12-19 09:53:11 +02:00
config-docker.conf Merge safe changes from development to master, part 2 2018-04-29 16:02:11 +03:00
config-vagrant.conf More automation for Vagrant environment 2017-09-05 17:04:21 +03:00
Dockerfile Missing dependencies 2018-09-26 16:14:59 +02:00
LICENSE Create LICENSE 2014-10-08 10:14:29 +02:00
main.sh Add migration checks and messages 2017-08-01 12:28:19 +03:00
README.md Update README.md 2019-01-15 12:22:56 +01:00
Vagrantfile Switch Vagrant to Bionic 2018-07-24 12:11:24 +00:00

Armbian

Debian based Linux for ARM based single-board computers

https://www.armbian.com

How to build an image or a kernel?

Supported build environment is Ubuntu Bionic 18.04 x64 (minimal iso image).

  • guest inside a VirtualBox or other virtualization software,
  • guest managed by Vagrant. This uses Virtualbox (as above) but does so in an easily repeatable way,
  • inside a Docker, systemd-nspawn or other container environment (example),
  • running natively on a dedicated PC or a server (not recommended),
  • 25GB disk space or more and 2GB RAM or more available for the VM, container or native OS,
  • superuser rights (configured sudo or root access).

Execution

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

Make sure that full path to the build script does not contain spaces.

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 report issues?

Please read this notice first before opening an issue.

How to contribute?

  • Fork the project
  • Make one or more well commented and clean commits to the repository.
  • Perform a pull request in github's web interface.

If it is a new feature request, don't start the coding first. Remember to open an issue to discuss the new feature.

If you are struggling, check this detailed step by step guide on contributing.

Where to get more info?