|
4 weeks ago | |
---|---|---|
boot | 4 months ago | |
docs | 5 months ago | |
localudebs | 3 years ago | |
needed-characters | 4 years ago | |
pool | 5 months ago | |
scripts | 4 weeks ago | |
.gitignore | 3 years ago | |
Makefile | 6 months ago | |
README.md | 7 months ago | |
boot-bios-isolinux.mk | 6 months ago | |
boot-efi-grub.mk | 6 months ago | |
boot-efi-syslinux.mk | 5 months ago | |
bootonly.mk | 6 months ago | |
build-sudo.sh | 4 weeks ago | |
build.sh | 4 weeks ago | |
cd2.mk | 4 years ago | |
cd3.mk | 4 years ago | |
cd4.mk | 4 years ago | |
dependencies.mk | 7 months ago | |
desktop.mk | 6 months ago | |
firmware.mk | 4 years ago | |
kernel.mk | 3 years ago | |
makeiso.mk | 2 months ago | |
netinstall.mk | 6 months ago | |
packages.mk | 6 months ago | |
pool1.mk | 2 years ago | |
pool2.mk | 1 year ago | |
runbuild.sh | 6 months ago | |
saverun.mk | 4 years ago | |
server.mk | 6 months ago | |
udeb-sets.mk.tmpl | 7 months ago | |
viewfpages.sh | 4 weeks ago | |
viewmenu.sh | 4 weeks ago | |
vm.sh | 2 months ago | |
win32-loader.mk | 4 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
- cd3 - package pool desktop add-on for server install with more
- cd4 - package pool desktop add-on for server install with even more
- 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
The pool
directory contains "seed" files for creating the package
lists for the various ISOs. The first build step for an ISO includes
processing the seed files by recursively following up on all
dependencies and recommended packages so as to generate the actual and
complete package list for the target ISO.
The first build step further sets up subdirectories of package description snippets in the library-$ARCH-$SECTION directories. The package description snippets are cutouts from the build host's Packages files by basically just splitting them up into separate files for the individual package descriptions, named by the package name.
The build host must be set up with the target sources and it must be duly updated for the target ISO building.
The local package description library uses several optional source points that are overlayed on a simple assumption of version priority. Overall it uses the following source list points; the first is required, and the rest are optional:
- $CODENAME main main/debian-installer contrib non-free
- $CODENAME-security main main/debian-installer
- $CODENAME-updates main main/debian-installer
- $CODENAME-proposed-updates main main/debian-installer
See the pool/Makefile
for detils, and use "make -C pool reallyclean"
to clean it up.
How to Build an ISO
ISOs are only built for the current (aka host) architecture. Use:
$ ./build-sudo.sh $SUITE $ISO $VERSION
with
-
SUITE being one of ascii, beowulf, chimaera or daedalus
-
ISO being one of netinstall, server, desktop, cd2, cd3, pool1 or pool2, or the special token
all
to build all of them. -
VERSION being the your desired release version code, e.g. 3.a for building a beowulf ISO. This version code gets imprinted into the ISO.
Using APT Proxy
If you use an apt proxy (like for example apt-cacher-ng
) you should
export the http_proxy
variable before building.
Example:
export http_proxy="http://localhost:3142/"
Including local udebs
Locally built udebs for the installer may be added to the appropriate
subdirectory of localudebs/
for the target architecture.
localudebs/i686/
are for i386 udebslocaludebs/x86_64/
are for amd64 udebs
Any such a udeb package will be added to the installer and override any downloadable package of the same name regardless of package versions.
Including local debs
Locally built packages may be added to the installer, to be present
during installation as a local repository. Such packages should be
added into the appropriate subdirectory of localdebs/
for the target
architecture.
localdebs/i686/
are for i386 packageslocaldebs/x86_64/
are for amd64 packages
The packages will be included as a repository directory named
/localudebs
on the ISO, and the installer will transiently include
this as a trusted repository during the installation.
Note that the file:/media/cdrom/localdebs
repository is just as an
alternative package repository and that by default the highest version
available is the installation candidate. Thus, the localdebs
packages are default installation candidates only when their versions
are the highest available.
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