Debian CD QnA


Table of Contents

Problems controlling the content on CD one 
Problems controlling the content on CD one 
Problems controlling the content on CD one 
Problems controlling the content on CD one 
Problems controlling the content on CD one 
Problems controlling the content on CD one 
Problems controlling the content on CD one 
Building sid images with debian-cd 

Problems controlling the content on CD one 

http://groups.google.com/group/linux.debian.devel.cd/browse_thread/thread/7f2235181923c938

Newsgroups: linux.debian.devel.cd
Date: Fri, 16 Nov 2001

I'm building a custum debian CD for the norwegian linux for schools project, and am using debian-cd to do this. I've had some problems getting the build system to do what I want, but hoped I had this under control, Alas, something went wrong a few days ago. The CD I made yesterday do not boot (this could be a problem with the burning, so I'll investigate more), but a more serious problem is the fact that the CDs no longer contain all the packages I list in my task file. I've modified debian-cd like this:

  • reduce the CD size to make sure the image is below 650 MB (or actually 650 000 000 bytes)
  • add reference to our task file
  • avoid building source CDs (not enough space on the HD)
  • Adapt paths to match our HD layout
  • use mkhybrid as mkisofs was missing from woody when I started using these scripts.

Is there any reason why the packages listed in tasks/skolelinux would be missing on the first CD? Is there something I do wrong?

Notice, the directories in our local APT source had to be named dists/woody/local/binary-i386/non-official/. Is the non-official/ name really nesessary? I was unable to get it to work if I placed the packages in directories with other names.

 Index: build.sh
RCS file: /var/lib/cvs/skolelinux/src/debian-cd/build.sh,v
retrieving revision 1.1.1.1
retrieving revision 1.4
diff -u -3 -p -u -r1.1.1.1 -r1.4
--- build.sh    26 Aug 2001 11:45:50 -0000      1.1.1.1
+++ build.sh    11 Nov 2001 11:27:30 -0000      1.4
@@ -25,10 +25,10 @@ for CD in 1 2 3 4; do
        size=`eval echo '$'"BOOT_SIZE_${CD}"`
        [ "$size" = "" ] && size=0
        [ $CD = "1" ] && size=$(($size + $disks))
-       SIZE_ARGS="$SIZE_ARGS SIZELIMIT${CD}=$(((630 - $size) * 1024 *1024))"
+       SIZE_ARGS="$SIZE_ARGS SIZELIMIT${CD}=$(((593 - $size) * 1024 *1024))"
 done
-make list COMPLETE=1 $SIZE_ARGS SRCSIZELIMIT=$((635 * 1024 * 1024))
+make list COMPLETE=1 $SIZE_ARGS SRCSIZELIMIT=$((635 * 1024 * 1024)) TASK=tasks/skolelinux
 echo " ... building the images"
-make official_images
+make bin-official_images

 make imagesums
 Index: CONF.sh
RCS file: /var/lib/cvs/skolelinux/src/debian-cd/CONF.sh,v
retrieving revision 1.1.1.2
retrieving revision 1.12
diff -u -3 -p -u -r1.1.1.2 -r1.12
--- CONF.sh     21 Oct 2001 21:08:08 -0000      1.1.1.2
+++ CONF.sh     16 Nov 2001 17:44:15 -0000      1.12
@@ -27,7 +27,7 @@ export BASEDIR=`pwd`
 export CODENAME=woody

 # Version number, "2.2 r0", "2.2 r1" etc.
-export DEBVERSION="3.0 beta"
+export DEBVERSION="3.0 skole pr8"

 # Official or non-official set.
 # NOTE: THE "OFFICIAL" DESIGNATION IS ONLY ALLOWED FOR IMAGES AVAILABLE
@@ -45,10 +45,12 @@ export ARCH=`dpkg --print-installation-a
 #            images, however. Also, if you are using an NFS partition for
 #            some part of this, you must use this option.
 # Paths to the mirrors
-export MIRROR=/ftp/debian
+#export MIRROR=/ftp/debian
+export MIRROR=/skolelinux/developer/local0/debian/debian

 # Comment the following line if you don't have/want non-US
 #export NONUS=/ftp/debian-non-US
+export NONUS=/skolelinux/developer/local0/debian/debian-non-US

 # And this option will make you 2 copies of CD1 - one with all the
 # non-US packages on it, one with none. Useful if you're likely to
@@ -56,17 +58,20 @@ export MIRROR=/ftp/debian
 #export FORCENONUSONCD1=1

 # Path of the temporary directory
-export TDIR=/ftp/tmp
+#export TDIR=/ftp/tmp
+export TDIR=/skolelinux/developer/local0/ftp/tmp

 # Path where the images will be written
-export OUT=/rack/debian-cd
+#export OUT=/rack/debian-cd
+export OUT=/skolelinux/developer/local0/ftp/debian-cd

 # Where we keep the temporary apt stuff.
 # This cannot reside on an NFS mount.
-export APTTMP=/ftp/tmp/apt
+#export APTTMP=/ftp/tmp/apt
+export APTTMP=/skolelinux/developer/local0/ftp/tmp/apt

 # Do I want to have NONFREE merged in the CD set
-# export NONFREE=1
+export NONFREE=1

 # Do I want to have NONFREE on a separate CD (the last CD of the CD set)
 # WARNING: Don't use NONFREE and EXTRANONFREE at the same time !
@@ -75,12 +80,12 @@ export APTTMP=/ftp/tmp/apt
 # If you have a $MIRROR/dists/$CODENAME/local/binary-$ARCH dir with
 # local packages that you want to put on the CD set then
 # uncomment the following line
-# export LOCAL=1
+export LOCAL=1

 # If your local packages are not under $MIRROR, but somewhere else,
 # you can uncomment this line and edit to to point to a directory
-# containing dists/$CODENAME/local/binary-$ARCH
-# export LOCALDEBS=/home/joey/debian/va/debian
+# containing dists/$CODENAME/local/binary-$ARCH/non-official
+export LOCALDEBS=/local/ftp/skolelinux

 # If you want a <codename>-secured tree with a copy of the signed
 # Release.gpg and files listed by this Release file, then
@@ -102,6 +107,8 @@ export APTTMP=/ftp/tmp/apt
 # export MKISOFS=/usr/bin/mkisofs
 # export MKISOFS_OPTS="-r -T"          #For normal users
 # export MKISOFS_OPTS="-r -F . -T"     #For symlink farmers
+
+export MKISOFS=/usr/bin/mkhybrid

 # uncomment this to if you want to see more of what the Makefile is doing
 #export VERBOSE_MAKE=1

Petter Reinholdtsen

Problems controlling the content on CD one 

> I'll investigate more), but a more serious problem is the fact that
> the CDs no longer contain all the packages I list in my task file.

Packages will get dropped if they depend on some other pkg you don't have, or depend on a newer version of some pkg. Maybe an extra depend got added to a pkg or something.

Richard Hirst

Problems controlling the content on CD one 

> The following packages are now missing from the CD.  I have no idea
> why.

Did you include the packages in ../tasks/Debian_potato?

Philip Charles

Problems controlling the content on CD one 

> That might explain some of the packages missing, but not all of them.
> Some of the packages we make ourselves are missing.  Most of these
> packages do not depend on anything.

Check in the temporary dir for a file called log.list2cds, and check its content. Look for the name of missing packages … and read what is explained. You may find why your package wasn't included.

Raphael Hertzog

Problems controlling the content on CD one 

> Check in the temporary dir for a file called log.list2cds, and check its
> content. Look for the name of missing packages ... and read what is
> explained. You may find why your package wasn't included.

Thank you very much. Finally a way to debug this situation.

> You also have to make sure, that the indicated package are referenced
> in the Packages files (the local one I guess for your own packages).

This seem to be OK.

> Are you sure they disappeared, haven't they simply moved (from CD1
> to CD3 for example) ?

If I read the file log.list2cds correctly, the packages where moved to CD2. I'm not sure why, but I believe CD1 was full. What decide in which order the packages are added to the CDs? Which list of packages are used and in which order? I want to make sure our task list is used first.

Perhaps I need to reduce the list of "standard, required, important and base packages". I do not see the need for both v2.95 and v3.0 of GCC. Three different kernel versions (2.2.19, 2.2.10 and 2.4.12), paired with pcmcia-modules for completely different kernels (2.2.17 and 2.2.18-pre21) do not seem like a good idea.

Again, thank you for pointing me to the log file. :-)

Petter Reinholdtsen

Problems controlling the content on CD one 

> If I read the file log.list2cds correctly, the packages where moved to
> CD2.  I'm not sure why, but I believe CD1 was full.  What decide in
> which order the packages are added to the CDs?  Which list of packages
> are used and in which order?  I want to make sure our task list is
> used first.

The list is generated with the task file. The order is respected. However the dependency verification will always include the required dependencies before including the concerned package.

> Perhaps I need to reduce the list of "standard, required, important
> and base packages".  I do not see the need for both v2.95 and v3.0 of
> GCC.  Three different kernel versions (2.2.19, 2.2.10 and 2.4.12),
> paired with pcmcia-modules for completely different kernels (2.2.17
> and 2.2.18-pre21) do not seem like a good idea.

Yes, you can use an exclude file to limit the standard packages included.

Raphael Hertzog

Problems controlling the content on CD one 

> > Did you include the packages in ../tasks/Debian_potato?
> No.  I added a new file tasks/skolelinux, and modified build.sh to
> calle make like this:
>   make list COMPLETE=1 $SIZE_ARGS SRCSIZELIMIT=$((635 * 1024 * 1024)) \
>         TASK=tasks/skolelinux
> I'm btw using Woody packages, not potato.

This may help.

export EXCLUDE="$BASEDIR"/tasks/exclude-woody
export UNEXCLUDE2="$BASEDIR"/tasks/exclude-woody
(This will put the excluded packages on CD2)

Philip Charles