Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Aug 2003 19:18:11 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        gurney_j@efn.org
Cc:        kientzle@acm.org
Subject:   Re: Minimalist FreeBSD 4.8
Message-ID:  <20030826.191811.22016699.imp@bsdimp.com>
In-Reply-To: <20030826213939.GA10898@funkthat.com>
References:  <3F4B9BE0.5010209@acm.org> <001a01c36bff$cff9e840$a700000a@TYBOX> <20030826213939.GA10898@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Actually, I have a small script that does something like this.  Here's
a breif sketch.

# prepare /cf
make buildworld

    ${chroot} /bin/sh -${e}c "(cd $srcdir
        env MAKEOBJDIRPREFIX=$objdir make -m ${srcdir}/share/mk -f \
            Makefile.inc1 hierarchy DESTDIR=$dstdir NOMAN=yes
        (cd etc ; env MAKEOBJDIRPREFIX=$objdir make -m ${srcdir}/share/mk \
            distribution DESTDIR=$dstdir NOMAN=yes)
        for i in ${FreeBSDProgramDirs}; do
            echo \"==> \$i\"
            test -d \$i &&
            (cd \$i ; env MAKEOBJDIRPREFIX=$objdir make -m ${srcdir}/share/mk \
                install -DNOINFO -DNOMAN DESTDIR=$dstdir -DNOPROFILE)
            done)"

Here's my current minimal list for a bootable system, although you
might be able to trim it a little.  Also, it is optimized for 4.5.
There will some tweaks needed for 4.8.  Also, I've done the buildworld
with NOSHARED=no since we put both / and /usr on the same partition in
our systems.

My scripts are more complete, but also very specific to Timing
Solutions' needs.  I've used these scripts to build flashes that take
up about 12M or so.  There's about 2M that can be trimmed.

Warner

P.S.  Maybe I should find some time to pull together these scripts in
a releaseable format...

P.P.S.,  Here's what I use to set FreeBSDProgramDirs to in an
over-arching makefile.

FREEBSDMIN+= \
	bin/cat \
	bin/chmod \
	bin/cp \
	bin/csh \
	bin/date \
	bin/dd \
	bin/df \
	bin/echo \
	bin/expr \
	bin/hostname \
	bin/kill \
	bin/ln \
	bin/ls \
	bin/mkdir \
	bin/mv \
	bin/pwd \
	bin/ps \
	bin/rcp \
	bin/rm \
	bin/rmdir \
	bin/sh \
	bin/sleep \
	bin/stty \
	bin/sync \
	bin/test \
	gnu/lib/libregex \
	gnu/usr.bin/awk \
	gnu/usr.bin/cpio \
	gnu/usr.bin/diff \
	gnu/usr.bin/diff3 \
	gnu/usr.bin/grep \
	gnu/usr.bin/gzip \
	gnu/usr.bin/tar \
	lib/libc \
	lib/libstdc++ \
	lib/libcrypt \
	lib/libdevstat \
	lib/libedit \
	lib/libipsec \
	lib/libipx \
	lib/libkvm \
	lib/libmd \
	lib/libnetgraph \
	lib/libncurses \
	lib/libpam \
	lib/libskey \
	lib/libutil \
	lib/libwrap \
	lib/libz \
	lib/msun \
	libexec/ftpd \
	libexec/getty \
	libexec/rlogind \
	libexec/rshd \
	libexec/rtld-elf \
	libexec/telnetd \
	sbin/adjkerntz \
	sbin/dhclient \
	sbin/disklabel \
	sbin/dmesg \
	sbin/fsck \
	sbin/i386/fdisk \
	sbin/ifconfig \
	sbin/init \
	sbin/ipfw \
	sbin/kldload \
	sbin/kldstat \
	sbin/kldunload \
	sbin/ldconfig \
	sbin/md5 \
	sbin/mknod \
	sbin/mount \
	sbin/mount_null \
	sbin/mount_nfs \
	sbin/newfs \
	sbin/ping \
	sbin/reboot \
	sbin/route \
	sbin/swapon \
	sbin/sysctl \
	sbin/umount \
	share/termcap \
	sys/boot \
	usr.bin/chflags \
	usr.bin/du \
	usr.bin/ee \
	usr.bin/env \
	usr.bin/ftp \
	usr.bin/find \
	usr.bin/head \
	usr.bin/hexdump \
	usr.bin/id \
	usr.bin/killall \
	usr.bin/ldd \
	usr.bin/less \
	usr.bin/login \
	usr.bin/netstat \
	usr.bin/objformat \
	usr.bin/rsh \
	usr.bin/rlogin \
	usr.bin/sed \
	usr.bin/su \
	usr.bin/tail \
	usr.bin/telnet \
	usr.bin/tip \
	usr.bin/top \
	usr.bin/touch \
	usr.bin/tr \
	usr.bin/tty \
	usr.bin/uname \
	usr.bin/vi \
	usr.sbin/arp \
	usr.sbin/chown \
	usr.sbin/cron \
	usr.sbin/dev_mkdb \
	usr.sbin/inetd \
	usr.sbin/mtree \
	usr.sbin/ntp/ntpd \
	usr.sbin/ntp/ntpdate \
	usr.sbin/ntp/ntpq \
	usr.sbin/kbdcontrol \
	usr.sbin/pwd_mkdb \
	usr.sbin/syslogd \
	usr.sbin/traceroute \
	usr.sbin/vidcontrol \
	usr.sbin/vipw

# "kitchen sink" FreeBSD on flash
FREEBSDMAX+=${FREEBSDMIN} \
	gnu/lib/libreadline \
	lib/libftpio \
	lib/librpcsvc \
	usr.bin/vmstat \
	usr.bin/w \
	usr.sbin/ntp/ntpdc \
	usr.sbin/ntp/ntptime \
	usr.sbin/ntp/ntptimeset \
	usr.sbin/ntp/ntptrace



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030826.191811.22016699.imp>