[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

24MB bootable CD install image



Hi,

My name is Mark Horn.  I've been using Debian since about the time that
slink went stable.  I guess I'm a relative newbie.  I recently posed
a question to the debian-boot mailing list.  I was trying to create
a means of getting a bootable Debian install CD, that only had enough
data to get me up on the network, and then I could download the rest of
what I needed using apt.  This is basically the floppy boot mechanism,
but using a CD instead of 15 floppies.

I posted this question to the debian-boot mailing list:

        http://www.debian.org/Lists-Archives/debian-boot-0002/msg00873.html

With the help of a respondent to the above question, I've been able
to create a bootable Debian CD that allows me to do a base + drivers
install.  This is just enough to get me connected up to the network and
then complete the rest of the install from there.  I have tried to make
my CD as small as possible, and I've been able to get it down to 24MB.

The person who helped me out (Bruce Sass <bsass@freenet.edmonton.ab.ca>)
suggested that I document what I did and send it to the debian-boot
mailing list because the folks on that list might find it interesting.
I have also sent it to the debian-cd mailing list, suspecting that this
information might also be interesting to that audience.  If either of
these lists are inappropriate, my humble apologies.

Here is how I made the 24MB bootable Debian install CD:

1) I downloaded the current Debian boot disks for i386.  I used:

   $ wget --recursive ftp://ftp.us.debian.org/debian/dists/potato/main/disks-i386/2.2.7-2000-02-13

   The idea is to use the boot floppy method for installing the system,
   but do it off of a CD.  So I should only need the contents of the
   current boot floppies, since they already accomplish what I want to do,
   just on the wrong media.
   
   I used wget, so that I could keep the directory structure that the
   boot floppies are stored in.  The build program (dbootstrap) seems
   to be easier to work with when it finds a directory structure that
   it's familiar with.

2) Now, to make the image as small as possible, I need to do a little
   cleaning up of data that I don't need.  Ideally I wouldn't have had
   to download this data.  But I did and after quite a bit of testing,
   I discovered that I didn't need it.  So, the final procedure allowed
   me to remove it.

   $ cd ftp.us.debian.org/debian/dists/potato/main/disks-i386/2.2.7-2000-02-13
   $ rm -r disks-1.20 disks-1.44 install.bat linux loadlin.exe rawrite2.*

3) Now I set up certain symlinks that dbootstrap looks for.  Without these
   symlinks, I was not able to convince dbootstrap that I had all of the
   necessary base + drivers packages for it to install.

   $ cd ftp.us.debian.org/debian
   $ ln -s . debian
   $ cd dists
   $ ln -s potato stable
   $ ln -s potato frozen
   $ cd dists/potato/main/disks-i386
   $ ln -s 2.2.7-2000-02-13 current
   $ cd current
   $ ln -s disks-2.88 disks-1.44

4) Now I make an ISO image.  I used the following command:

   $ mkisofs -o /tmp/image1.raw -l -r -L \
   > -c boot.catalog \ 
   > -b dists/potato/main/disks-i386/2.2.7-2000-02-13/disks-2.88/rescue.bin \
   > /home/mhorn/ftp.us.debian.org/debian

   Some things to note on this command.

   1) The original download of the boot floppies was off of my home
      directory.  If you want to do this, you will have to substitute
      "/home/mhorn" with the appropriate path to where you downloaded the
      data.

   2) The third line ("-b dists/...") is the line that specifies that the
      cd is to boot as if it were using the file specified.  Without it,
      you won't create a bootable cd.

   3) The image that gets created is stored in /tmp/image1.raw.  This is
      ISO image that should get burned to a CD-R.  To do this, I used
      cdrecord.  Please refer to the CD-Writing-HOWTO for information
      on how to burn an image to a CD-R.

All told, I burned 5 CD's that didn't work and two that did.  One of
those CD's that didn't work had 76MB of data on it, and the other one
(the final one) had just 24MB of data on it.  Much of the procedure
that you see above was learned through trying something on a blank CD
and then discovering that it didn't work, then making modifications and
trying again.

I think that the size of the CD that I ended up with might be a candidate
for a download-able ISO for people who are interested in checking
out Debian.  Especially since it emphasizes the use and power of apt.
After scanning the debian-cd list, it would appear that I'm not the
only one who thinks the rsync process described by cdimage.debian.org
is overly complex.

While I don't think that this solution will be for everyone, I do think
that some people would find it useful.  Personally, I'd like to see it
adopted by the debian-{boot,cd} folks and have a similar ISO put up
somewhere to ease the request for this kind of thing.

Thoughts?  Comments? 

Cheers,
- Mark


Reply to: