Buildscripts for Volumio System
Shell JavaScript Makefile Python
Clone or download
Latest commit 3686e5c Jul 26, 2018

README.md

Buildscripts for Volumio System

Copyright Michelangelo Guarise - 2016

Requirements

git squashfs-tools kpartx multistrap qemu-user-static samba debootstrap parted dosfstools qemu binfmt-support qemu-utils

How to

  • clone the build repo on your local folder : git clone https://github.com/volumio/Build build
  • if on Ubuntu, you may need to remove $forceyes from line 989 of /usr/sbin/multistrap
  • cd to /build and type
./build.sh -b <architecture> -d <device> -v <version>

where switches are :

  • -b <arch> Build a full system image with Multistrap. Options for the target architecture are arm (Raspbian), armv7 (Debian 32bit), armv8 (Debian 64bit) or x86 (Debian 32bit).
  • -d <dev> Create Image for Specific Devices. Supported device names: pi, odroidc1/2/xu4/x2, udooneo, udooqdl, cuboxi, pine64, sparky, bbb, bpipro, bpim2u, cubietruck, compulab, x86
  • -l <repo> Create docker layer. Give a Docker Repository name as the argument.
  • -v <vers> Version

Example: Build a Raspberry PI image from scratch, version 2.0 :

./build.sh -b arm -d pi -v 2.0 -l reponame 

You do not have to build the architecture and the image at the same time.

Example: Build the architecture for x86 first and the image version MyVersion in a second step:

./build.sh -b x86

./build.sh -d x86 -v MyVersion

Sources

Kernel Sources

Main Packages Sources

Debian Packages Sources (x86)

All Debian-retrieved packages sources can be found at the debian-sources Repository

Raspbian Packages Sources (armhf)

All Raspbian-retrieved packages sources can be found at the raspbian-sources Repository

If any information, source package or license is missing, please report it to info at volumio dot org

armbian-based images

In case of lacking native support in volumio there is the option to build images based on Armbian ( www.armbian.com ) which supports a variety of PI clones -

Example:

./build.sh -b arm -d armbian_bananapipro_vanilla -v 2.0

where

  • armbian_ prefix is used to indicate the use of armbian
  • boardtype in the notation of armbian
  • _vanilla as postfix for mainline kernel or _legacy for android kernel

armbian kernels

please see notes in armbiam community which kernel is the best - or if there are any restrictions that apply in your case e.g. some mainline kernel still do not have stable ports of all devices, e.g. ethernet driver, while legacy kernel may miss other features. In all cases even lecagy kernels come with overlayfs and squashfs support.

sucessfully tested images:

  • armbian_bananapi_legacy
  • armbian_bananapipro_legacy
  • armbian_cubieboard2_legacy
  • armbian_cubietruck_legacy
  • armbian_bananapi_vanilla
  • armbian_bananapipro_vanilla
  • armbian_cubieboard2_vanilla
  • armbian_cubietruck_vanilla

notes and known issues armbian

  • current sunxi bootloader version 5.25/armbian is not working, solved by explicitely using 5.23 (be careful with apt-get upgrade later on)

  • Partition 1 has been changed from vfat to ext4 because armbian scripts are using symbolic links

  • kernel, ramdisk and squashfs may be larger compared to native support images due to extra packages required by armbian build routines

  • armbian_orangepipc_legacy ... not booting

others may work at once or with minor adaptions *