I finally started figuring the size of root.lrp and how to get it down,
and how to segregate much of the system from the boot process.
As a result of my working on this, the Oxygen boot sequence has changed
(behind the scenes) in these ways:
1. sed is no longer needed (40-60k removed)
2. tftp removed (to be added to busybox)
3. snarf removed (to be replaced by fget)
4. tinylogin removed
5. libc.lrp created; almost all GNU libc is there except lib-dl, libc,
libNoVersion, and maybe one more (yes, they're the BIG part...)
6. POSIXness removed
7. libsafe removed: wasn't being used anyway, and can be added to the
disk as libsafe.lrp - and won't be used if all binaries are statically
linked
Now, on the boot disk is included sed.lrp and tinylogn.lrp, and
optionally snarf.lrp. tftp would conflict with busybox.
fget was compiled with dietlibc, and supports HTTP and FTP transfers
(with and without passwords). busybox was compiled with uClibc; this
(and a few new programs like tftp) added about 60k to the program, but
this adds up to 30k on disk. Between a judicious trimming of busybox
apps and trimming of packages, this may be doable.
ash is also now included as a possible shell "app" for busybox, instead
of a separate executable; this is definitely a possibility.
All that remains now is to statically link ash and dhcpcd, and make sure
fget and busybox are included, and things are looking up. Getting libc
out entirely would reduce the size of root.lrp to under 450k; note that
libc is still needed, just not by the boot process.
Some benefits:
* Updating of more parts of the system on the fly, particularly libc:
replace libc.lrp with a new one and reboot.
* Smaller disk footprint: at this rate, a 1.2M 5.25" floppy and a
network connection will be all you need.
* Quicker bootup - at least prior to kernel start - since there's less
data to load.
Goals:
1. Remove libc from root.lrp
2. Modularize the boot scripts more: code should be better organized.
_______________________________________________
Leaf-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/leaf-devel