Making my own live CD... need comments on my approach

Making my own live CD... need comments on my approach

Post by Sitaram Chamar » Fri, 06 Aug 1999 04:00:00



This may be a longish post.  Sigh!

What I want to do is to end up with a CD and a diskette.  Boot
with the diskette with the CD in the drive on machines that have
at least 64 MB of RAM (common these days in offices anyway) to get
Linux running with my Window Manager, my tools (whatever they may
be), etc.

In short - a custom "live CD".  For more "motivation" see the end
of this post.

What I'm thinking of doing is this:

    - make a 600 MB partition on a hard disk.  This will (at the
      end) be burned onto CD.

    - install and set up the software
        --  VESA FB X server - hopefully will allow most newer
            video cards to be used as-is
        --  throw in a couple other X servers for luck :-)
        --  2.2.x kernel (for VESA FB, mainly) (with ATAPI CD-ROM
            driver built-in, not as a module)
        --  latest PCMCIA (my 3c574 doesn't work right with the
            stock RH 5.2 version of pcmcia cs)
        --  netscape (heh!)
        --  anything else that I use frequently

    - identify all files that may need to be "updated" during a
      normal run (like /etc/mtab, all files in /var and /tmp...,
      even /etc/X11/XF86Config, since each machine is different so
      this must be writable)

    - lilo.conf will have "root=/dev/hdc" and "ramdisk_size=16384"
      (at least 16 MB ram disks, maybe more - remember we're
      talking about machines with at least 64 MB ram or more!)

    - at the top of /etc/rc.d/rc.sysinit, do something like the
      following:

            mke2fs /dev/ram ...
            mount it as /writeable
            copy all the write-needed parts onto /writeable
            (the CD-ROM already has symlinks for all these, for
            instance:
                /etc                -> /writeable/etc
                            or maybe more granular:
                /etc/mtab           -> /writeable/etc/mtab
                /etc/X11/XF86Config -> /writeable/etc/X11/XF86Config

      Well - you get the idea (I haven't worked out all the kinks
      in the above yet).

      So when the system boots, it's booting with *all* the
      required libraries and so on available, but all the files
      that it may need to write are symlinked to a file system
      mounted off /dev/ram.

What I haven't pondered over yet:

  - Persistence (how to make some changes stick - let's say a
    certain XF86Config file for a certain machine).  At the moment
    I'm looking at this as a manual exercise - mount a floppy,
    write to it.

  - /home directories or stuff like that.  At present, in the same
    spirit as muLinux, there is actually no pressing need for
    this.  This is not something that I anticipate running
    continuously for a long time, or where I'm running any
    services.  If needed, however, a bare bones "user" can be
    setup and /home designated one of the "needs-writeable"
    directories.

I searched the web and usenet - found some German SuSE pages that
mentioned "live filesystem", some Dutch ones (but I'm having
trouble with babelfish right now!), and some RedHat ones.

I found a couple that were closer to what I wanted (custom live
CD), but it didn't seem to address the issue of making /var, /tmp,
etc.  writeable to ram disk.

So if someone has any ideas, comments on my approach, gotchas they
see right away (like perhaps such-and-such component doesn't like
symlinks, so it'll fail!), or has done it before, etc., please
followup.

Thank you very much, folks!

--
Sitaram

PS: My motivation for this:

I love muLinux (micro Linux), for when I have to use it on a
typical underpowered machine of yester-year.  But lately I have
been using it on big hunks with 128 MB of RAM and/or laptops
(muLinux, quite understandably, won't do PCMCIA).

I figured there must be a way to get more out of such a machine!

Toyed with the idea of installing to ZIP disk (did too - using the
HOW-TO - worked great).  But 100 MB is not enough for netscape
(yessir - if I'm going the other direction from muLinux I may as
well have netscape!), a couple of decent X servers, a good WM,
etc.

Finally realised the best solution is to make a live CD with a
bootable diskette to go with it.

In fact - I think there'd be space to put all the X servers on it
too, plus a decent choice of XF86Config files (or all of RedHat's
X config tools).

Would be a great thing to carry around!  Yes, I'm told RH comes
with a live file system, but only in its $40 or more variation,
not in the GPL variants that I normally go for!

Besides, I thought it'd be fun to do it.  Plus don't forget the
PCMCIA issue (in my case, anyway!)