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>