Giter Club home page Giter Club logo

volumio3-os's Introduction

Buildscripts for Volumio System

Copyright Volumio SRL

Requirements

On a Debian (buster) host, the following packages are required:

build-essential
ca-certificates
curl
debootstrap
dosfstools
git
jq
kpartx
libssl-dev
lz4
lzop
md5deep
multistrap
parted
patch
pv
qemu-user-static
qemu-utils
qemu
squashfs-tools
sudo
u-boot-tools
wget
xz-utils
zip

How to

  • Ensure you have installed all dependencies listed above.
  • Clone the build repo, and launch the build script (requires root permissions).
git clone https://github.com/volumio/volumio3-os.git build
cd ./build
./build.sh -b <architecture> -d <device> -v <version>

where flags are :

  • -b <arch> Build a base rootfs with Multistrap.

    Options for the target architecture are:
    arm (Raspbian armhf 32bit), armv7 (Debian armhf 32bit), armv8 (Debian arm64 64bit)
    x86 (Debian i386 32bit) or x64 (Debian amd64 64bit).

  • -d <dev> Create Image for Specific Devices.

    Example supported device names:
    mp1, nanopineo2, odroidn2, orangepilite, pi, rockpis, tinkerboard, x86_amd64, x86_i386

    Run ./build.sh -h for a definitive list; new devices are being added as time allows.

  • -v <vers> Version

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

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

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

Example: Build the base for x86 first and the image version 2.123 in a second step:

./build.sh -b x86
./build.sh -d x86_i386 -v 2.123

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

Caching packages

If you are doing a lot of volumio builds you may wish to save some bandwidth by installing a package cache program, such as apt-cacher-ng. For a Debian-based system, these are the steps:

  • install, and configure so https package sources are not cached
    # apt-get install apt-cacher-ng
    # cat >> /etc/apt-cacher-ng/local.conf
    # do not cache https package sources
    PassThroughPattern: ^(.*):443$
    ^D
    # systemctl restart apt-cacher-ng
    
  • Set this environment variable; build.sh will do the rest.
    $ export APT_CACHE='http://localhost:3142'    # or similar
    $ sudo -E ./build.sh -b arm -d pi             # -E preserves the environment
    
  • To confirm operation, watch the log file during a build
    # tail -f /var/log/apt-cacher-ng/apt-cacher-ng.log
    

Some packages cannot easily be cached, because they are downloaded over https (the cache is detected by the SSL certificate checks made by the https protocol). Also some packages are downloaded via wget or similar, which do not make use of the cache.

volumio3-os's People

Contributors

volumio avatar ashthespy avatar macmpi avatar xipmix avatar 150balbes avatar balbuze avatar ghembs avatar mervinderuiter avatar pkendall64 avatar nikkov avatar earlchew avatar miero avatar chrismade avatar timothyjward avatar peterdavehello avatar flatmax avatar christiansteier avatar starbix avatar domin6 avatar hftsai256 avatar wraul avatar saiyato avatar ce3a avatar piffio avatar cdu13a avatar cron410 avatar arturnadolski avatar sparkysbc avatar thomaspasser avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.