summaryrefslogtreecommitdiffstats
path: root/release/picobsd/bridge/crunch.conf
diff options
context:
space:
mode:
Diffstat (limited to 'release/picobsd/bridge/crunch.conf')
-rw-r--r--release/picobsd/bridge/crunch.conf175
1 files changed, 95 insertions, 80 deletions
diff --git a/release/picobsd/bridge/crunch.conf b/release/picobsd/bridge/crunch.conf
index d0699fc..39c1b1f 100644
--- a/release/picobsd/bridge/crunch.conf
+++ b/release/picobsd/bridge/crunch.conf
@@ -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.
+# Configuration file for "bridge" images..
#
-# 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.
+# 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.
#
-# NOTE: the string "/usr/src" will be automatically replaced with the
-# correct value set in 'build' script - you should change it there
+# 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,56 @@ 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
progs echo
-progs pwd
-progs mkdir rmdir
+progs pwd mkdir rmdir
progs chmod chown
-progs mv ln
+ln chown chgrp
+progs mv ln cp rm ls
+progs cat tail tee
+progs test
+ln test [
+
progs mount
progs minigzip
ln minigzip gzip
-progs cp
-progs rm
-progs ls
progs kill
progs df
progs ps
-progs ns
+progs ns # this is the
ln ns netstat
progs vm
-progs cat
-progs test
-ln test [
progs hostname
progs login
progs getty
@@ -94,28 +115,20 @@ progs w
progs msg
ln msg dmesg
progs reboot
-progs less
-#ln less more
-#progs more
-special more srcdir /usr/ports/misc/44bsd-more/work
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
@@ -124,42 +137,44 @@ progs route
# 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
+progs kldxref
#progs grep
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 -lmytinfo
-libs -lz -lpcap -lwrap
-libs -ltermcap -lgnuregex # -lcurses
-libs -lgeom
-libs -lsbuf
-libs -lbsdxml # used by ifconfig
+# 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
+libs_so -lbsdxml
+libs_so -lsbuf
OpenPOWER on IntegriCloud