Using Debian CD


Table of Contents

customized debian cd 
debian-cd netinst build quick tip needed 
debian-cd netinst build quick tip needed 
making a minimal CD 
making a minimal CD 

customized debian cd 

http://groups.google.com/group/muc.lists.debian.user/browse_thread/thread/88f5937361e597ef

Newsgroups: muc.lists.debian.user
Date: 13 Nov 2001
> I'd like to made a customized debian cd. Can I dpkg --get-selections to
> get my installed package selection and put all of them into 1 or 2 CDs?
> Is it possible? How?

If all you want is a CD with all your packages on it, use apt-move. If you run it, it will move all downloaded debs into a local mirror that you can apt-get from.

If you want a custom boot CD, things get more difficult, since some stuff isn't packaged properly yet. What to do?

  1. Use apt-move to create a local mirror with your packages.
  2. Download doc, tools and indices from a ftp mirror. There is no packages that does it for you. You may also create a complete mirror using rsync; that will give you those directories, but also _all_ packages.
  3. Make sure you have boot floppies in your mirror, with current pointing to the one you want to use. You may create custom boot floppies (e.g. German ones) with the boot-floppies packages.
  4. Use debian-cd to create your CDs. To make tasks work, you need to create an override file and apt-ftparchive to merge that stuff. debian-cd unfortunately doesn't use apt-ftparchive. Edit /usr/share/debian-cd/CONF.sh to your taste.
  5. I created a script that does the job:
--snip (mycd)--
#!/bin/sh

set -e

. CONF.sh

apt-get --download-only install $(/usr/sbin/debootstrap --print-debs --arch i386 woody)
apt-move update
cat /var/lib/apt/lists/*_binary-i386_Packages | > /mirrors/debian/override \
  perl -000 -ne '$p = $1 if /^Package: (.*)/mi; print "$p Task $1\n" if /^Task: (.*)/mi;'
apt-ftparchive generate /etc/apt/archive.conf

make distclean
make mirrorcheck
make status
make bin-list TASK=tasks/Debian_woody COMPLETE=1 SIZELIMIT=450000000
make bootable
make packages
make bin-extras CD=1 ROOTSRC=/mirrors/debian DIR=goodies
cat > $TDIR/archive.conf << --CONF--
Dir::ArchiveDir "$TDIR/$CODENAME-$ARCH/CD1";
Tree "dists/$CODENAME"
{
  Sections "local main contrib non-free non-US/main non-US/contrib non-US/non-free";
  Architectures "i386";
  ExtraOverride "/mirrors/debian/override";
}

--CONF--
apt-ftparchive generate $TDIR/archive.conf
make bin-md5list
make bin-images
make imagesums
--snip--

I created working CDs with that (btw Tasks only on CD1; you have to loop around the apt-ftparchive for all CDs). If you want to be able to do ReiserFS on your first CD, edit /usr/share/debian-de/tools/boot/woody/boot-i386 and set KTYPE[1] to "reiserfs".

Have fun!

Rudiger Kuhlmann