I am customizing an Ubuntu install CD. The requirements are that everything needed be included on the CD. I'd also like to remove everything that's not needed. The use case is not a general purpose PC, but more of a Kiosk/Appliance.
What I need is a way to determine which packages need to be on the CD and which ones I can safely remove. I can follow the dependency tree from the set of packages I list in my kickstart file, but there remains many packages I do not want. I also need a way to add new packages to the CD and automatically include any of the dependent packages automatically. I am working on scripts to do this but it seems like these tools must already exist. I've looked through the debian developer tools and haven't found anything that really applies to what I'm trying to do.
What I have found seemed to be debian-specific and likely wouldn't work for creating an Ubuntu install CD. (namely, the packages debian-cd
and easycdd
)
debootstrap is actually what you want to use to set up a truly minimal base debian or ubuntu system.
Check out the output of:
debootstrap installs most of these, but since it can be used to install a chroot, it doesn't install a kernel or bootloader.
I ended up using germinate which is what the official debian (and ubuntu) cd build process uses.