if you want to try ["Simple-CDD"], on an etch system:
mkdir ~/my-simple-cdd
cd ~/my-simple-cdd
add to your sources.list:
echo deb http://http.us.debian.org/debian unstable main >> /etc/apt/sources.list
apt-get update
apt-get -t stable install simple-cdd
apt-get update
comment out the lines in /etc/apt/sources.list, or configure apt pinning so it doesn't pull in unstable packages.
download simple-cdd-profiles udeb from a mirror:
place it in your working directory.
build a basic CD, and include simple-cdd-profiles .udeb:
build-simple-cdd --local-packages $(pwd)/simple-cdd-profiles_*.udeb
this will create a partial package mirror in the dir "tmp/mirror", and if all goes well, an .iso CD image in the "images" dir when it is finished. if this step doesn't work, you need to figure out why before trying more complicated things.
create a profile named NAME:
mkdir profiles
for p in list of packages you want installed ; do echo $p >> profiles/NAME.packages ; done
note that you should not include package dependencies, but only the packages you actually want.
build the CD with selected profile NAME, and include simple-cdd-profiles .udeb:
build-simple-cdd --profiles NAME
this should create an .iso CD image in the "images" dir when it is finished with your custom profile.
use qemu to test:
apt-get install qemu
build-simple-cdd --qemu --profiles NAME
optional features:
if you want debconf preseeding, put a debconf-set-selections compatible file into profiles/NAME.preseed
if you want a custom post-install script, place it in profiles/NAME.postinst
for more options:
build-simple-cdd --help
adapted from: http://lists.debian.org/debian-custom/2006/12/msg00001.html
Howto build the install cd with a custom debian Installer (if you want to add a driver that is not yet supported by the official debian installer):
First build the custom ["DebianInstaller"].
Add this value to the NAME.conf file of your profile: custom_installer="/path/to/debian/installer/"
In the provided path you should have this kind of directory tree: (architecture)/images/ where architecture could be for instance i386.
Copy the contents of the dest directory in your debian installer build directory to /path/to/debian/installer/(architecture)/images/
Next specify a local packages directory (add the parameter --local-packages /path/to/localpackages/directory/ to build-simple-cdd). Copy all your custom udebs to that directory.
After that, you want to make sure the system will reboot correctly after installation and provide a custom kernel:
Build the custom kernel
Add it to the /path/to/localpackages/directory/ and add the package name to the NAME.packages file for your profile.
If the kernel package name exists in the official repositories, make sure its version is greater or equal to the version in the debian mirror, to prevent simple-cdd from downloading it.
How to deal with missing udeb modules for your d-i kernel
Due to new etch update that uses a linux 2.6.18-5 rather than 2.6.18-4, you may have problems building a lenny image, since 2.6.18-5 udeb modules are not in lenny repository. It means that your d-i kernel is running 2.6.18-5 kernel while you are trying to load 2.6.18.5 modules.