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 aad547badc
Revised unpacking method: unpack only udebs, and one by one, with overwriting.
2 weeks ago
boot add devuan-ceres png iso boot screen image 3 months ago
docs updated readme for chimaera release 1 year ago
localudebs removed 2 years ago
needed-characters upgrade needed-characters by merging debian-installer 75fee93e1 3 years ago
pool Removed libc-bin which doesn;t seem to be needed. 3 weeks ago
scripts Revised unpacking method: unpack only udebs, and one by one, with overwriting. 2 weeks ago
.gitignore manual merge of e31205f 2 years ago
Jenkinsfile adding deb-src points 2 years ago
Makefile Break the build process with error when the package review script 2 months ago
README.md Add information about apt-proxy configuration 3 months ago
boot-bios-isolinux.mk fixup for isolinux splash 1 year ago
boot-efi-grub.mk add an /EFI directory for virtualbox 1 year ago
build-sudo.sh Include and use the non-free-firmware section. 2 months ago
build.sh rebranding for daedalus 1 year ago
cd2.mk code cleanup 3 years ago
cd3.mk added pool isos 3 years ago
cd4.mk Locked in pool isos 3 years ago
dependencies.mk fix to arch deps 2 years ago
desktop.mk add cd_type 3 years ago
firmware.mk change the firware links to be relative. 3 years ago
kernel.mk patch for PATH 2 years ago
makeiso.mk special build patch for beowulf 7 months ago
netinstall.mk add cd_type 3 years ago
packages.mk added pool2 iso 15000 packages 9 months ago
pool1.mk added pool1 for pool-only iso building 1 year ago
pool2.mk add pool2 makefile fragment 9 months ago
runbuild.sh propagate SUITE=DISTNAME=codename from single point 1 year ago
saverun.mk avoid stop on error 3 years ago
server.mk add cd_type 3 years ago
udeb-sets.mk.tmpl Revert locale patch and use installation-locale udeb instead 3 weeks ago
win32-loader.mk Added win32-loader boot option 3 years ago

README.md

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 ...
  • pool1 - package pool of the 5000 top votes from devuan popcon
  • pool2 - package pool of the 15000 top votes from devuan popcon

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

$ ./build-sudo.sh $SUITE $ISO $VERSION

with

  • ISO being one of netinstall, server, desktop, cd2, cd3, pool1 or pool2, or the special token all to build all of them.

  • SUITE being one of ascii, beowulf, chimaera or daedalus

  • VERSION being the accompanying release version code, e.g. 3.a for beowulf. This version code gets imprinted into the ISO.

Proxy

If you use a proxy like apt-cacher-ng to use it you should export the http_proxy variable:

Example:

export http_proxy="http://localhost:3142/"

Help?

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
$ ./build-sudo.sh beowulf netinstall 3.a