|
1 month ago | |
---|---|---|
boot | 4 months ago | |
docs | 1 month ago | |
localudebs | 1 month ago | |
needed-characters | 1 year ago | |
pool | 1 month ago | |
scripts | 1 month ago | |
.gitignore | 4 months ago | |
Jenkinsfile | 2 months ago | |
Makefile | 1 month ago | |
README.md | 4 months ago | |
boot-bios-isolinux.mk | 4 months ago | |
boot-efi-grub.mk | 4 months ago | |
build.sh | 1 month ago | |
cd2.mk | 1 year ago | |
cd3.mk | 1 year ago | |
cd4.mk | 1 year ago | |
dependencies.mk | 4 months ago | |
desktop.mk | 1 year ago | |
firmware.mk | 1 year ago | |
kernel.mk | 4 months ago | |
makeiso.mk | 1 month ago | |
netinstall.mk | 1 year ago | |
packages.mk | 1 month ago | |
runbuild.sh | 1 month ago | |
saverun.mk | 1 year ago | |
server.mk | 1 year ago | |
udeb-sets.mk.tmpl | 11 months ago | |
win32-loader.mk | 1 year ago |
This project is tailored for building the Devuan beowulf ISOs, which includes architectures i386 and amd4 with a collection of ISO for each:
pool
DirectoryThis 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.
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.
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