Tree of HLFS base?

Bennett Todd bet at rahul.net
Sun Jan 8 00:03:45 PST 2006


2006-01-07T19:39:08 Jason Stevens:
> Also, if anyone has a recommendation for a particularly good reference 
> towards building really minimal systems (ie, what's the min in order to 
> be able to boot a system and have root be able to login to the console 
> with bash), that would be handy.

An easy way to get a minimal system is a kernel plus busybox; if
you're adamant about omitting every utility you don't actually have
to have, you can use busybox's configuration system to omit all the
modules you decide you don't want.

I wouldn't call bash part of a minimal system; statically linked
with uClibc, my bash build comes out over twices as big as busybox
with all utils included, including a reasonable shell:

-rwxr-xr-x 1 root root 1420796 Dec 10 17:02 /bin/bash
-rwxr-xr-x 1 root root  695292 Aug 17 15:58 /bin/busybox

Bash is part of a decadent system.

Now if you wanted to build a minimal system with a full-function
shell and absolutely nothing else, take rc:

-rwxr-xr-x 1 root root 179196 Nov 21 07:56 /bin/rc

I think if you had a kernel and init=/bin/rc (or named your rc
/sbin/init) that might possibly be a really minimal starting point.
Of course, if you want to support more than one hardware platform,
you'll probably want a modular kernel and then you're into including
suitable magic to probe the hardware and load the appropriate
modules.

But as soon as you want to be able to e.g. bring up networking, or
anything like that, I expect busybox would pay its freight.

-Bennett

P.S. that 679KB busybox includes simple, minimalist but usable
implementations of:

        [, addgroup, adduser, adjtimex, ar, arping, ash, awk,
        basename, bunzip2, busybox, bzcat, cal, cat, chgrp, chmod,
        chown, chroot, chvt, clear, cmp, cp, cpio, crond, crontab,
        cut, date, dc, dd, deallocvt, delgroup, deluser, devfsd,
        df, dirname, dmesg, dos2unix, dpkg, dpkg-deb, du, dumpkmap,
        dumpleases, echo, egrep, env, expr, false, fbset, fdflush,
        fdformat, fdisk, fgrep, find, fold, free, freeramdisk,
        ftpget, ftpput, getopt, getty, grep, gunzip, gzip, halt,
        hdparm, head, hexdump, hostid, hostname, httpd, hwclock, id,
        ifconfig, ifdown, ifup, inetd, init, insmod, install, ip,
        ipaddr, ipcalc, iplink, iproute, iptunnel, kill, killall,
        klogd, last, length, linuxrc, ln, loadfont, loadkmap,
        logger, login, logname, losetup, ls, lsmod, makedevs,
        md5sum, mesg, mkdir, mkfifo, mknod, mkswap, mktemp,
        modprobe, more, mount, mv, nameif, nc, netstat, nslookup,
        od, openvt, passwd, patch, pidof, ping, pipe_progress,
        pivot_root, poweroff, printf, ps, pwd, rdate, readlink,
        realpath, reboot, renice, reset, rm, rmdir, rmmod, route,
        rpm, rpm2cpio, run-parts, rx, sed, seq, setkeycodes, sh,
        sha1sum, sleep, sort, start-stop-daemon, strings, stty,
        su, sulogin, swapoff, swapon, sync, sysctl, syslogd, tail,
        tar, tee, telnet, telnetd, test, tftp, time, top, touch,
        tr, traceroute, true, tty, udhcpc, udhcpd, umount, uname,
        uncompress, uniq, unix2dos, unzip, uptime, usleep, uudecode,
        uuencode, vconfig, vi, vlock, watch, watchdog, wc, wget,
        which, who, whoami, xargs, yes, zcat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.linuxfromscratch.org/pipermail/hlfs-dev/attachments/20060108/1cd10a5b/attachment.sig>


More information about the hlfs-dev mailing list