Creating a DANOS 1908 ISO using binary packages

These instructions are for building an ISO of DANOS 1908 only. Later releases have different instructions available at https://danosproject.atlassian.net/wiki/spaces/DAN/pages/491554/Creating+a+DANOS+ISO+using+binary+packages .

1. Setup Debian 10 Virtual machine to build DANOS

Download and install a Debian 10 virtual machine (or another preferred form of creating a Debian 10 build environment), then log into it.

Install the image build dependencies:

apt install live-build cpio wget ca-certificates apt-utils

2. Obtain the livebuild configuration and package-lists from DANOS repository and Build

  • Install all the required build dependencies of your custom package(s) and build it(them). Instructions on how to do so are out of the scope of this document.

  • You can find the exact file name for the tarball on the repository

wget http://repos.danosproject.org.s3-website-us-west-1.amazonaws.com/livebuild/danos-1908-amd64-vrouter.livebuild.tar

tar xf *livebuild.tar

cd danos-1908-amd64-vrouter

  • Create an archives directory under ./config:

mkdir -p config/archives/

  • Obtain the list of source repositories required by the DANOS project:

cd ./config/archives

echo 'deb http://s3-us-west-1.amazonaws.com/repos.danosproject.org/standard/ 1908 main' > standard.list.chroot

echo 'deb http://s3-us-west-1.amazonaws.com/repos.danosproject.org/bootstrap/ 1908 main' > bootstrap.list.chroot

wget https://s3-us-west-1.amazonaws.com/repos.danosproject.org/Release.key -O standard.key.chroot

wget https://s3-us-west-1.amazonaws.com/repos.danosproject.org/Release.key -O bootstrap.key.chroot

cd ../..

  • If any additional packages are required to be added to the DANOS image:

mkdir -p config/packages.chroot/

cp <CUSTOM PACKAGE> config/packages.chroot/

  • Make the changes to the configuration to allow building a DANOS image based on Debian9 (Required for building 1908 but not required for later releases)

sed -i 's/--.*distribution .*\\/--distribution '"stretch"' \\/' auto/config

  • Run the configuration and build script

auto/config

auto/build

  • Once the build finishes, a live-bootable hybrid EFI/legacy BIOS image and an ONIE image, together with metadata, will be found in the working directory:

ls

auto

binary

build.log

cache

chroot

chroot.files

chroot.packages.install

chroot.packages.live

config

danos-1908-amd64-vrouter_20190830T1106-amd64.contents

danos-1908-amd64-vrouter_20190830T1106-amd64.files

danos-1908-amd64-vrouter_20190830T1106-amd64.hybrid.iso

danos-1908-amd64-vrouter_20190830T1106-amd64.hybrid.iso-ONIE.bin

danos-1908-amd64-vrouter_20190830T1106-amd64.hybrid.iso.zsync

danos-1908-amd64-vrouter_20190830T1106-amd64.packages

local

sharch_body.sh