I looked through the description of your project, and I have a few
questions, then I can get started building a floppy for you:
1) Do you want X11 or just a text console? If X11, what video hardware
will be on these (both monitor and video card)?
2) What kernel do you prefer? 2.0, 2.2, or 2.4. Older kernels tend to
be smaller, newer kernels support more nifty features. I'm opposed to
2.0 kernels, but will do either 2.2 or 2.4, whichever you prefer.
3) What kind of basic utils will you want? I use busybox, so you can
check out their site as to what is available, but I can also compile
some stuff on my own (though space is limited of course) provided the
app can be compiled against uClibc fairly easily.
4) I know you will be needing SSH, and I assume OpenSSH most recent
unless you want otherwise. The SSH needs to compile against uClibc.
5) How will these systems be networked (need to know the exact network
cards, or I can modularize it and write up a script to let you customize
the disk)? Will they be static IP, or dynamic? via DHCP, BOOTP, RARP?
A normal compressed ramdisk is 4MB once decompressed off the floppy into
ram, but obviously how much stuff can actually be fit onto it varies
depending on the compression level achieved. See my floppies I've
already made for some hints as to how much space the bare minimum takes
up at <http://videl.ics.hawaii.edu/~monmotha/hddlesslinux>. Obviously
using a ramdisk uses up valuable system ram to hold the filesystem.
Another option is to skip the ramdisk completely and go with an NFS
mounted root filesystem. This has the advantages that you obviously
have a lot more space as you don't have to cram everything onto the
floppy and also allows the filesystem to be changed centrally without
having to even reboot the machines, let alone update every single
floppy. However, it also requires a lot more network bandwidth as
everything that touches the filesystem has to go over the network. You
also need to run NFS, which has been noted to have some security flaws
(good ol' SUNRPC) in the past.
Yet another option is a hybrid; this is where initrd really shines. I
can have a tiny root filesystem load up off the floppy into an initrd,
then load a root filesystem image into a larger ramdisk (size limited
only by the amount of RAM in the machine really) by downloading it from
the central server by, say, tftp before handing control off to this
newly downloaded "real" root filesystem. This method is really cool
because it allows things like 20MB root filesystems (which you'd have
trouble fitting on a floppy, even gzip compressed) without any of the
overhead from running live via NFS. The downsides are that is uses a
lot of RAM (32MB MINIMUM for this) and that if you update the image on
the server, the clients will need to be rebooted for the changes to take
effect.
For an example of how initrd can be used, RedHat uses one to load up a
minimum system to load kernel modules for bare minimum system hardware
before actually booting the rest of the system. This allows them to
keep their kernels small and generic by modularizing almost everything
and keeping the modules your system needs in an initrd image.
Depending on how much I need to do (X will take a while and I'll have
major trouble fitting it on a floppy!), I might be able to get a basic
working disk done in a day or so for you to start playing with.
--MonMotha
R. Scott Belford wrote:
On Thursday, May 23, 2002, at 08:27 PM, MonMotha wrote:
I actually have some of this hardware that I can use to test things on
(a pole display on serial and a keyboard/barcode scanner wedge).
However, I'm not really a UI programmer, but I can get the basic OS
base down for you fairly quickly should you want me to.
--MonMotha
Many thanks for your offer. My planned starting point is with your
floppy. For all I know at this point it will work fine. When it
doesn't, I'll start breaking down where I am and figuring it out. It'll
be fun.
scott
_______________________________________________
LUAU mailing list
[EMAIL PROTECTED]
http://videl.ics.hawaii.edu/mailman/listinfo/luau