During the last couple of weeks I've been working on the LliureX installer; this time we are going to publish 3 CDs:
- A LiveCD of the LliureX workstation profile, built using metadistros,
- A set of 2 installation CDs that can be used to install multiple profiles, built using customized versions of then Sarge packages for the debian-installer and the debian-cd systems.
The customization of the d-i system has been a pain, mainly because we have very weird requirements nobody has taken into account, like the use of a non standard locale for the Catalan language as spoken in our region.
To include that locale we are using a patched and renamed version of the belocs-locales-data package and packages that install the .mo files for our language code.
We are doing it this way because we are always trying to keep recompiles to a minimum to allow the LliureX users to use our pool of packages and be able to get as much as possible from the Debian Sarge packages; that way we benefit from the Debian mirrors network and almost all the debian security updates can go into our distribution automatically, as we use the same packages.
The problem with that approach is that for systems that don't use the gettext system directly we have to use different mechanisms, and that is the case for the debconf templates used by the debian installer packages and a lot of the debian packages.
For the installer we have used a dirty hack; to avoid the need to recompile all the installer packages we have used a script that pre loads all the debconf templates when booting the installer. It works, but the truth is that the system sucks and for the next version we will rebuild all the packages (the udebs can be resynchronized with debian each time we need an installer and nobody is going to mix our udebs and the Debian ones on a pre-built installer)
For standard debian packages we have added the translations and recompiled, but luckily we only needed to do it with a few ones (our CDD preseeds almost all packages, so we only recompiled the ones that are seen by the user on an standard install).
Our installer also includes some extra hacks, like the satahack, that modifies hw-detect if the machine we are booting on has an ata_piix controller, making it load ide-generic before it; we also modified the initrd-tools to do the same when building the kernel's initrd, I hope it will not break anything (we tried it on various machines and it seems it doesn't, but...).
Tomorrow I'll talk about the CD generation, the lliurex-cdd package and how the preseedings and package selections are implemented.