It's really good news that someone is writing on this. Since Debian is somewhat hard to install and configure for unexperienced user, but otherwise Debian is The Best :), I guess many people are doing custom Debain installation tools.
> - Preconfigure the packages we install > > Using two different approaches: (1) Load answers into the debconf > database before the packages are installed using some home-make > scripts, and (2) rewrite/replace configuration files using > cfengine at the end of the installation if the package is unable > to configure what we want using debconf. I'm fairly satisfied > with this solution, but am not sure if the method used to feed > the debconf database is the best available. I believe the best > option would be to extend all the packages we use to make it > possible to configure everything we need using debconf answers. I'm not sure that everything can be done this way. E.g. in a "distribution" (better to say - custom installation CD) I maintain here I expect users to use kppp to connect to their ISPs. To make this work by default, I have to comment out whole contents of /etc/ppp/options during the last stage of the installation. I don't think that pppd maintainer will agree that such thing should be provided by debconf. Another thing is replacing "#!/bin/sh" by "#!/bin/bash --login" in /etc/kde3/kdm/Xsession (and other dm's Xsession files). This is the only way I know to make login shell startup files evaluated during X logins. This issue is known for ages, but it seems that people who make decisions don't thing it is necessary. So this isn't likely to be fixed with debconf questions. > - Automatic X configuration > > Using home-brewed script filling the debconf database, and then > call dexconf from the xfree86 package to generate the > configuration file. The HW detection info is fetched from > various packages (discover, kudzu, detect, etc). Could you give an URL to such script? I need one badly. Unfortunatly, discover/mdetect/read-edid based dexconf is far from perfect, especcialy in detecting capabilities of the monitor. And hadrware detection is not what I am an expert in :(. > - CD building > > Using a heavily patched version of debian-cd to create the CDs. > Most of the patches is to include the d-i boot floppies. This > should now be possible with the standard version of debian-cd, > but no one in Skolelinux have taken the time to update our copy > of the scripts. The thing I really don't like in debian-cd is the requirement to have a local mirror. I prefer to use apt-get (+apt-proxy) to fetch packages while building CD. I have a (currently ugly) script to do so; if anyone is interested I can (try to) clean it up and make it available. > - Configure default language for all users > > Using a custom script to rewrite config files to modify the > default language/locale. Seems that feeding correct value to debconf for "locales" package fixes this. At least for me. Currently I install "locales" and "console-cyrrillic" (with all dependencies) very early - I modified debootstrap to do so. Default values to debconf database also are written by modified debootstrap. So I have russian properly set up already when base-config runs. > There are probably others, but this should be a good starting point. > Are these issues common to other custom distros? Main problems I current have are related to hardware detection and configuration. Users want to configure their X display easily (resolution, frequency, etc). E.g. from KDE control center. They complain that other distros let them to do so. I am not familar with distros other than Debian so I don't know what to do. Also users want all their hardware to be detected and configured automatically. Well, discover does something, but again, users complain that XXX is not detected/configured/working properly, while everything is ok with other distros. Maybe there are better tools? Please share your experiense.