Build environment for making Devuan installer ISOs for i386 and amd64.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ralph Rönnquist 51d11e9597 updated for release 1 month ago
boot changed to use the forum 4 months ago
docs updated for release 1 month ago
localudebs removed 9 months ago
needed-characters upgrade needed-characters by merging debian-installer 75fee93e1 1 year ago
pool include runit-sysv and runit-init to server 4 months ago
scripts remove GRUB_THEME fixing 4 months ago
.gitignore manual merge of e31205f 1 year ago
Jenkinsfile adding deb-src points 10 months ago
Makefile chimaera branding 7 months ago chimaera branding 7 months ago chimaera branding 7 months ago chimaera branding 7 months ago Merge branch 'amd64-chimaera-sudo' into i386-chimaera-sudo 7 months ago chimaera branding 7 months ago code cleanup 1 year ago added pool isos 1 year ago Locked in pool isos 1 year ago fix to arch deps 1 year ago add cd_type 1 year ago change the firware links to be relative. 1 year ago patch for PATH 1 year ago avoid auto-rule for "build" 9 months ago add cd_type 1 year ago externalize suite name 9 months ago chimaera branding 7 months ago avoid stop on error 1 year ago add cd_type 1 year ago expand udeb list towards most installer-menu udebs, plus rfkill 1 year ago Added win32-loader boot option 1 year ago

Devuan Installer ISO

This project is tailored for building the Devuan installation ISOs, which includes architectures i386 and amd4 with a collection of ISO for each:

  • netinstall - installation fully over the network
  • server - CD size ISO for server installation, also without network
  • desktop - 4G ISO for desktop installation also without network
  • cd2 - package pool desktop add-on for server install, with xfce4 and
  • cd3 - package pool desktop add-on for server install, with ...

The pool Directory

This directory contains “seed” files and a Makefile for creating the package lists for the various ISOs. Use “make -C pool reallyclean” to clean it up.

The pool directory in particular includes a local “library” of package description snippets, which are held in the library-$ARCH-$SECTION directories. The snippets are obtained from the build host’s Packages files by breaking them up into individual package descriptions named by the package name. The build host must therefore be set up with the target sources and it must be duly updated for the target ISO building.

The local library uses several optional source points that are overlayed on a simple assumption of version priority. Overall it uses the following source list point, where the first is required, and the rest are optional.

  1. $CODENAME main main/debian-installer contrib non-free
  2. $CODENAME-security main main/debian-installer
  3. $CODENAME-updates main main/debian-installer
  4. $CODENAME-proposed-updates main main/debian-installer

The pool direcory also keeps the package list files that are used for populating the ISO. The first ISO building step includes the processing of the seed files to generate the actual, complete package list for the target ISO by recursively following up on all dependencies and recommended packages.

How to Build an ISO

ISOs are only built for the current (aka host) architecture. Use

$ make ISO=$ISO

with ISO being one of netinstall, server, desktop, cd2 or cd3.

But, before building, the build host must be fully set up by in particular installing required support software:

build-essential newlisp isolinux syslinux-common syslinux-utils
fakeroot libbogl-dev bf-utf-source grub-efi-${ARCH}-bin grub-pc
dosfstools mtools win32-loader tofrodos xorriso
zsh debhelper po-debconf

An additional option is to run make all to make all ISOs for the architecture.


On occasion, things don’t just work. This typically means that the package collection (which is downloaded on demand) has changed in some way that results in an inconsistency between package descriptions and downloaded packages. The master switch for recovery is then a reallyclean of the build area, and an update + dist-upgrade of the build host, possibly followed by a reboot, esp if the kernel version has changed. For example:

$ make reallyclean
# apt-get update
# apt-get dist-upgrade
# reboot
$ make ISO=netinstall