From: Michele Andreoli (
Date: Wed Nov 29 2000 - 15:36:11 CET

On Wed, Nov 29, 2000 at 02:38:02PM +0100, Mark Roberts nicely wrote:
> Is boot_free a number of bytes that the user is not let use _although_
> they are free,

What kind of freedom should be that?? This is the MS concept of
freedom :-)

> or is it a number of bytes magically free'd by
> the "mu"-script? To be more precise: Change the value (default is 35kb) to
> what? 10kb or 100kb?

Ok, now I will explain how the sizes are computed by the Mu builder
script. The Mu-builder first compute the size of the tree/startup
directory: it contains important things like the kernel (startup/boot),
the profiles (startup/init) and the basic modules (startup/modules).
Let me call thet RAW_SIZE. Next, it compute that:

                BOOT_SIZE= RAW_SIZE + BOOT_FREE

The BOOT_SIZE is the size in Kb of the first (bootable, mountable, ext2fs)
segment called BOOT, located at the top of the diskette.
Other two segment (ROOT and USR) are appended to BOOT, to form the
whole floppy-disk:

                floppy= BOOT+ROOT+USR

They are contingous: you can put on the floppy-disk the three segments
with a simple command like:

                # cat BOOT ROOT.gz USR.bz2 > /dev/fd0H1722 (linux)
                c:> copy /b BOOT+ROOT.gz+USR.bz2 a: (dos)

The exact X-coordinate of the ROOT and USR segment gets computed on-the-fly
and stored in the BOOT segment, in a file called startup/boot/info.

The ROOT's X-coordinate is passed to LILO as ramdisk_start=.
The USR's X-coordinate is used as "off-set" in the addon loader for USR.

It is for this reason the Mu-builder builds the BOOT as "the last"
segment: because it requires full knowledge about sizes and locations
of ROOT and USR.

Now, about compressors used: BOOT is not compressed. It is not
possible to store it in this form, 1) because the LILO requires to know
where is the kernel 2) because I store in it the user-profiles.
ROOT is compressed with gzip (it is ROOT.gz), because the linux kernel
has an own internal routine able to handle gzipped ramdisk.
USR is compressed with bzip2 (it is USR.bz2), but is unpacked by
muLinux itself at boot.

After that, a final consideration about ROOT and USR: theyr content
is very different. ROOT is a "file-system image", i.e. the exact
reproduction of a little Linux-Extended-2 filesystem. USR, instead,
is a little tarball, ultra bizipped.

This is the ... technological background behind the first (BASE)
muLinux floppy.

Sorry, but I can't explain better: I did french at school, with
results alway under 6/10 (in Italy, we count until 10 in this
kind of computation).

Hope it helps someone to better understand!


In summing up, I wish I had some kind of affirmative message to leave
you with, I don't. Would you take two negative messages? - Woody Allen
To unsubscribe, e-mail:
For additional commands, e-mail:

This archive was generated by hypermail 2.1.6 : Sat Feb 08 2003 - 15:27:17 CET