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
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
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
/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"
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
Thank you very much, folks!
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,
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!)