Newsgroups: linux.debian.devel.cd Date: Fri, 16 Nov 2001
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
> 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
> 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
> 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
> 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
> 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
> > 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
http://groups.google.com/group/linux.debian.devel.cd/browse_thread/thread/9b7006b4628245cf
Newsgroups: linux.debian.devel.cd Date: Mon, 19 Jan 2004
I'm trying to build sid isos but I'm unable to make them bootable since tools/boot/sid/boot-i386 is not present.
Are You able to produce sid bootable images ? If so can You please send me your CONF.sh and the proper sequence of make targets ?
Here's what I try:
make distclean make mirrorcheck make status make bin-list TASK=tasks/Debian_sid #make bootable make packages make bin-image CD=1
Here's CONF.sh
# # This file will have to be sourced where needed # # Unset all optional variables first to start from a clean state unset NONUS || true unset FORCENONUSONCD1 || true unset NONFREE || true unset CONTRIB || true unset EXTRANONFREE || true unset LOCAL || true unset LOCALDEBS || true unset SECURED || true unset SECURITY || true unset BOOTDIR || true unset BOOTDISKS || true unset SYMLINK || true unset COPYLINK || true unset MKISOFS || true unset MKISOFS_OPTS || true unset ISOLINUX || true unset EXCLUDE || true unset SRCEXCLUDE || true unset NORECOMMENDS || true unset NOSUGGESTS || true unset DOJIGDO || true unset JIGDOCMD || true unset JIGDOTEMPLATEURL || true unset JIGDOFALLBACKURLS || true unset JIGDOINCLUDEURLS || true unset JIGDOSCRIPT || true unset DEFBINSIZE || true unset DEFSRCSIZE || true unset FASTSUMS || true unset PUBLISH_URL || true unset PUBLISH_NONUS_URL || true unset PUBLISH_PATH || true unset UDEB_INCLUDE || true unset UDEB_EXCLUDE || true unset BASE_INCLUDE || true unset BASE_EXCLUDE || true unset INSTALLER_CD || true # The debian-cd dir # Where I am (hoping I'm in the debian-cd dir) export BASEDIR=`pwd` # Building woody cd set ... export CODENAME=sid # Version number, "2.2 r0", "2.2 r1" etc. export DEBVERSION="3.0" # Official or non-official set. # NOTE: THE "OFFICIAL" DESIGNATION IS ONLY ALLOWED FOR IMAGES AVAILABLE # ON THE OFFICIAL DEBIAN CD WEBSITE http://cdimage.debian.org[] export OFFICIAL="Unofficial" #export OFFICIAL="Official" #export OFFICIAL="Official Beta" # ... for arch export ARCH="i386" # IMPORTANT : The 4 following paths must be on the same partition/device. # If they aren't then you must set COPYLINK below to 1. This # takes a lot of extra room to create the sandbox for the ISO # 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=/data/mirrors/debian # Comment the following line if you don't have/want non-US #export NONUS=/ftp/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 # need both. #export FORCENONUSONCD1=1 # Path of the temporary directory export TDIR=/data/mirrors/debian-tmp # Path where the images will be written export OUT=/data/mirrors/debian-cd # Where we keep the temporary apt stuff. # This cannot reside on an NFS mount. export APTTMP=/data/mirrors/debian-tmp/apt # Do I want to have NONFREE merged in the CD set # export NONFREE=1 # Do I want to have CONTRIB merged in the CD set export CONTRIB=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 ! # export EXTRANONFREE=1 # 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 # 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 # If you want a <codename>-secured tree with a copy of the signed # Release.gpg and files listed by this Release file, then # uncomment this line # export SECURED=1 # Where to find the security patches. This directory should be the # top directory of a security.debian.org mirror. #export SECURITY="$TOPDIR"/debian/debian-security # Sparc only : bootdir (location of cd.b and second.b) # export BOOTDIR=/boot # Symlink farmers should uncomment this line : # export SYMLINK=1 # Use this to force copying the files instead of symlinking or hardlinking # them. This is useful if your destination directories are on a different # partition than your source files. # export COPYLINK=1 # Options export MKISOFS=/usr/bin/mkisofs export MKISOFS_OPTS="-r -T" #For normal users # export MKISOFS_OPTS="-r -F . -T" #For symlink farmers # ISOLinux support for multiboot on CD1 for i386 export ISOLINUX=1 # uncomment this to if you want to see more of what the Makefile is doing export VERBOSE_MAKE=1 # uncoment this to make build_all.sh try to build a simple CD image if # the proper official CD run does not work ATTEMPT_FALLBACK=yes # Set your disk size here in MB. Used in calculating package and # source file layouts in build.sh and build_all.sh. Defaults are for # CD-R, try ~4600 for DVD-R. export DEFBINSIZE=630 export DEFSRCSIZE=635 # We don't want certain packages to take up space on CD1... #export EXCLUDE="$BASEDIR"/tasks/exclude-potato # ...but they are okay for other CDs (UNEXCLUDEx == may be included on CD >= x) #export UNEXCLUDE2="$BASEDIR"/tasks/unexclude-CD2-potato # Any packages listed in EXCLUDE but not in any UNEXCLUDE will be # excluded completely. # We also exclude some source packages #export SRCEXCLUDE="$BASEDIR"/tasks/exclude-src-potato # Set this if the recommended packages should be skipped when adding # package on the CD. The default is 'false'. #export NORECOMMENDS=1 # Set this if the suggested packages should be skipped when adding # package on the CD. The default is 'true'. #export NOSUGGESTS=1 # Produce jigdo files: # 0/unset = Don't do jigdo at all, produce only the full iso image. # 1 = Produce both the iso image and jigdo stuff. # 2 = Produce ONLY jigdo stuff by piping mkisofs directly into jigdo-file, # no temporary iso image is created (saves lots of disk space). # NOTE: The no-temp-iso will not work for (at least) alpha and powerpc # since they need the actual .iso to make it bootable. For these archs, # the temp-iso will be generated, but deleted again immediately after the # jigdo stuff is made; needs temporary space as big as the biggest image. #export DOJIGDO=2 # # jigdo-file command & options # Note: building the cache takes hours, so keep it around for the next run #export JIGDOCMD="/usr/local/bin/jigdo-file --cache=$HOME/jigdo-cache.db" # # HTTP/FTP URL for directory where you intend to make the templates # available. You should not need to change this; the default value "" # means "template in same dir as the .jigdo file", which is usually # correct. If it is non-empty, it needs a trailing slash. "%ARCH%" # will be substituted by the current architecture. #export JIGDOTEMPLATEURL="" # # Name of a directory on disc to create data for a fallback server in. # Should later be made available by you at the URL given in # JIGDOFALLBACKURLS. In the directory, two subdirs named "Debian" and # "Non-US" will be created, and filled with hard links to the actual # files in your FTP archive. Because of the hard links, the dir must # be on the same partition as the FTP archive! If unset, no fallback # data is created, which may cause problems - see README. #export JIGDOFALLBACKPATH="$(OUT)/snapshot/" # # Space-separated list of label->URL mappings for "jigdo fallback # server(s)" to add to .jigdo file. If unset, no fallback URL is # added, which may cause problems - see README. #export JIGDOFALLBACKURLS="Debian=http://myserver/snapshot/Debian/[] Non-US=http://myserver/snapshot/Non-US/[]" # # Space-separated list of "include URLs" to add to the .jigdo file. # The included files are used to provide an up-to-date list of Debian # mirrors to the jigdo _GUI_application_ (_jigdo-lite_ doesn't support # "[Include ...]"). export JIGDOINCLUDEURLS="http://cdimage.debian.org/debian-cd/debian-servers.jigdo[]" # # $JIGDOTEMPLATEURL and $JIGDOINCLUDEURLS are passed to # "tools/jigdo_header", which is used by default to generate the # [Image] and [Servers] sections of the .jigdo file. You can provide # your own script if you need the .jigdo file to contain different # data. #export JIGDOSCRIPT="myscript" # If set, use the md5sums from the main archive, rather than calculating # them locally export FASTSUMS=1 # A couple of things used only by publish_cds, so it can tweak the # jigdo files, and knows where to put the results. # You need to run publish_cds manually, it is not run by the Makefile. export PUBLISH_URL="http://cdimage.debian.org/jigdo-area[]" export PUBLISH_NONUS_URL="http://non-US.cdimage.debian.org/jigdo-area[]" export PUBLISH_PATH="/home/jigdo-area/" # Where to find the boot disks #export BOOTDISKS=$TOPDIR/ftp/skolelinux/boot-floppies # File with list of packages to include when fetching modules for the # first stage installer (debian-installer). One package per line. # Lines starting with '#' are comments. The package order is # important, as the packages will be installed in the given order. #export UDEB_INCLUDE="$BASEDIR"/data/$CODENAME/udeb_include # File with list of packages to exclude as above. #export UDEB_EXCLUDE="$BASEDIR"/data/$CODENAME/udeb_exclude # File with list of packages to include when running debootstrap from # the first stage installer (currently only supported in # debian-installer). One package per line. Lines starting with '#' # are comments. The package order is important, as the packages will # be installed in the given order. #export BASE_INCLUDE="$BASEDIR"/data/$CODENAME/base_include # File with list of packages to exclude as above. #export BASE_EXCLUDE="$BASEDIR"/data/$CODENAME/base_exclude # Only put the installer onto the cd (set NORECOMMENDS,... as well). # INSTALLER_CD=0: nothing special (default) # INSTALLER_CD=1: just add debian-installer (use TASK=tasks/debian-installer) # INSTALLER_CD=2: add d-i and base (use TASK=tasks/debian-installer+kernel) #export INSTALLER_CD=0
Delian Krustev
![]() |
No answer. T |
documented on: 2006.06.06