svn commit: r190767 - stable/7/release/picobsd/bridge
Luigi Rizzo
luigi at FreeBSD.org
Mon Apr 6 04:31:37 PDT 2009
Author: luigi
Date: Mon Apr 6 11:31:31 2009
New Revision: 190767
URL: http://svn.freebsd.org/changeset/base/190767
Log:
MFC: use shared libraries for the crunched binary,
put together the basic binaries so it is easier to replace them
with busybox.
Approved by: re (blanket on picobsd)
Modified:
stable/7/release/picobsd/bridge/crunch.conf
Modified: stable/7/release/picobsd/bridge/crunch.conf
==============================================================================
--- stable/7/release/picobsd/bridge/crunch.conf Mon Apr 6 11:23:20 2009 (r190766)
+++ stable/7/release/picobsd/bridge/crunch.conf Mon Apr 6 11:31:31 2009 (r190767)
@@ -1,39 +1,55 @@
#
# $FreeBSD$
#
-# configuration file for "bridge" floppy.
-# Depending on your needs, almost surely you will need to
-# modify your configuration to add/remove/change programs used in
-# the floppy image. Remember that some programs also require
-# matching kernel options to enable device drivers etc.
-#
-# Next to most of the programs i have tried to indicate the approximate
-# space consumed, but beware that these values change from release
-# to release, and might depend on the presence of other programs which
-# share the same libraries.
+# Configuration file for "bridge" images..
#
-# NOTE: the string "/usr/src" will be automatically replaced with the
-# correct value set in 'build' script - you should change it there
+# Depending on your needs, you will almost surely need to
+# add/remove/change programs according to your needs.
+# Remember that some programs require matching kernel options to
+# enable device drivers etc.
+#
+# To figure out how much space is used by each program, do
+#
+# size build_dir-bridge/crunch/*lo
+#
+# Remember that programs require libraries, which add up to the
+# total size. The final binary is build_dir-bridge/mfs.tree/stand/crunch
+# and you can check which libraries it uses with
+#
+# ldd build_dir-bridge/mfs.tree/stand/crunch
-# Default build options. Basically tell the Makefiles which understand
-# that to use the most compact possible version of the code.
+# crunchgen configuration to build the crunched binary, see "man crunchgen"
+# We need to specify generic build options, the places where to look
+# for sources, and the list of program and libraries we want to put
+# in the crunched binary.
#
-buildopts -DNO_PAM -DRELEASE_CRUNCH -DPPP_NO_NETGRAPH -DTRACEROUTE_NO_IPSEC -DNO_INET6
+# NOTE: the string "/usr/src" below will be automatically replaced with
+# the path set in the 'build' script.
+
+# Default build options. Basically tell the Makefiles
+# that to use the most compact possible version of the code.
+
+buildopts -DNO_PAM -DRELEASE_CRUNCH -DPPP_NO_NETGRAPH
+buildopts -DTRACEROUTE_NO_IPSEC -DNO_INET6
buildopts -DWITHOUT_IPX
-# directories where to look for sources of various binaries.
+# Directories where to look for sources of various binaries.
# @__CWD__@ is a magic keyword in the picobsd's (Makefile.conf)
-# which is replaced with the picobsd directory.
+# which is replaced with the directory with the picobsd configuration
+# corresponding to your image. This way you can have custom sources
+# in that directory overriding system programs.
+
srcdirs @__CWD__@/src
-# Some programs are especially written for PicoBSD and reside here
-# Make this first in the list so we can override standard programs
-# with the picobsd-specific ones.
+# Some programs are especially written for PicoBSD and reside in
+# release/picobsd/tinyware.
+# Put this entry near the head of the list to override standard binaries.
+
srcdirs /usr/src/release/picobsd/tinyware
-#
-# standard locations
-#
+# Other standard locations for sources.
+# If a program uses its own source directory, add
+
srcdirs /usr/src/bin
srcdirs /usr/src/sbin/i386
srcdirs /usr/src/sbin
@@ -41,51 +57,59 @@ srcdirs /usr/src/usr.bin
srcdirs /usr/src/gnu/usr.bin
srcdirs /usr/src/usr.sbin
srcdirs /usr/src/libexec
-#
-# And there are others (mostly ports) which reside in their specific
-# directories. For them, we use the "special" commands to tell
-# crunchgen where to look for sources, objects, which Makefile
-# variables contain the list of sources and objects, and so on.
-# init is almost always necessary.
+# For programs that reside in different places, the best option
+# is to use the command "special XXX srcdir YYY" where XXX is the
+# program name and YYY is the directory path.
+# "special XXX ..." can be used to specify more options, see again
+# the crunchgen manpage.
+
+#--- Basic configuraton
+# init is always necessary (unless you have a replacement, oinit)
progs init
+
# fsck is almost always necessary, unless you have everything on the
# image and use 'tar' or something similar to read/write raw blocks
# from the floppy.
+
progs fsck
-# ifconfig is needed if you want to configure interfaces...
+
+# ifconfig is needed if you want to configure interfaces.
progs ifconfig
-#
+
# You will also need a shell and a bunch of utilities.
# The standard shell is not that large, but you need many
# external programs. In fact most of them do not take much space
-# as they merely issue a system call, and print the result; the
-# libraries are already needed anyways, so they end up using almost
-# no additional memory.
-# There are a few exceptions such as 'less', which in 4.x is
-# rather large.
+# as they merely issue a system call, and print the result.
+# For a more compact version of shell and utilities, you could
+# try busybox, however most system management commands in busybox
+# will not work as they use linux-specific interfaces.
+
progs sh
ln sh -sh
+
+# the small utilities, also available in busybox
progs echo
-progs pwd
-progs mkdir rmdir
+progs pwd mkdir rmdir
progs chmod chown
-progs mv ln
-progs mount
+ln chown chgrp
+progs mv ln cp rm ls
+progs cat tail tee
+progs test
+ln test [
+progs du
+progs kill
progs minigzip
ln minigzip gzip
-progs cp
-progs rm
-progs ls
-progs kill
+progs ee # editor (busybox has 'vi')
+
+# FreeBSD commands not working in busybox
+progs mount
progs df
progs ps
-progs ns
+progs ns # this is the picobsd version
ln ns netstat
progs vm
-progs cat
-progs test
-ln test [
progs hostname
progs login
progs getty
@@ -94,72 +118,57 @@ progs w
progs msg
ln msg dmesg
progs reboot
-progs less
-ln less more
progs sysctl
progs swapon
progs pwd_mkdb
progs umount
-progs du
-progs tail
-progs tee
progs passwd
progs route
-# progs mount_msdosfs
-# progs comcontrol
-#
+
# If you want to run natd, remember the alias library
#progs natd
-#libs -lalias # natd
-#
+#libs_so -lalias # natd
+
# ppp is rather large. Note that as of Jan.01, RELEASE_CRUNCH
# makes ppp not use libalias, so you cannot have aliasing.
#progs ppp
-# You need an editor. ee is relatively small, though there are
-# smaller ones. vi is much larger.
-# The editor also usually need a curses library.
-progs ee
-libs -lncurses
-# progs vi # ??
-# libs -lcurses # for vi
-
-#progs tcpdump
-special tcpdump srcdir /usr/src/usr.sbin/tcpdump/tcpdump
-
progs arp
-progs bsdlabel
-progs fdisk
-progs mdconfig
+# these require libgeom
+# progs bsdlabel fdisk mdconfig
-progs kldload kldunload kldstat kldxref
-#progs grep
+progs kldload kldunload kldstat
+progs kldxref
progs date
-#progs mount_nfs
-ln mount_nfs nfs
progs ping
#progs routed
progs ipfw
progs traceroute
progs mdmfs
ln mdmfs mount_mfs
+# Various filesystem support -- remember to enable the kernel parts
+# progs mount_msdosfs
+# progs mount_nfs
# progs mount_cd9660
-# ln mount_cd9660 cd9660
-progs newfs
+ln mount_nfs nfs
+ln mount_cd9660 cd9660
+# progs newfs
#ln newfs mount_mfs
-ln chown chgrp
# ln mount_msdosfs msdos
# For a small ssh client/server use dropbear
-libs -ll # used by sh
-libs -lufs # used by mount
-### ee uses ncurses instead of curses
-libs -ledit -lutil -lmd -lcrypt -lmp -lm -lkvm
-libs -lz -lpcap -lwrap
-libs -ltermcap -lgnuregex # -lcurses
-libs -lgeom
-libs -lsbuf -lbsdxml
+# Now the libraries
+libs_so -lc # the C library
+libs_so -ll # used by sh (really ?)
+libs_so -lufs # used by mount
+### ee uses ncurses but as a dependency
+#libs_so -lncurses
+libs_so -lm
+libs_so -ledit -lutil
+libs_so -lcrypt
+libs_so -lkvm
+libs_so -lz
More information about the svn-src-stable-7
mailing list