crunch.conf revision 190421
1#
2# $FreeBSD: head/release/picobsd/bridge/crunch.conf 190421 2009-03-25 18:48:46Z luigi $
3#
4# Configuration file for "bridge" images..
5#
6# Depending on your needs, you will almost surely need to
7# add/remove/change programs according to your needs.
8# Remember that some programs require matching kernel options to
9# enable device drivers etc.
10#
11# To figure out how much space is used by each program, do
12#
13#	size build_dir-bridge/crunch/*lo
14#
15# Remember that programs require libraries, which add up to the
16# total size. The final binary is build_dir-bridge/mfs.tree/stand/crunch
17# and you can check which libraries it uses with
18#
19#	ldd build_dir-bridge/mfs.tree/stand/crunch
20
21# crunchgen configuration to build the crunched binary, see "man crunchgen"
22# We need to specify generic build options, the places where to look
23# for sources, and the list of program and libraries we want to put
24# in the crunched binary.
25#
26# NOTE: the string "/usr/src" below will be automatically replaced with
27# the path set in the 'build' script.
28
29# Default build options. Basically tell the Makefiles
30# that to use the most compact possible version of the code.
31
32buildopts -DNO_PAM -DRELEASE_CRUNCH -DPPP_NO_NETGRAPH
33buildopts -DTRACEROUTE_NO_IPSEC -DNO_INET6
34buildopts -DWITHOUT_IPX
35
36# Directories where to look for sources of various binaries.
37# @__CWD__@ is a magic keyword in the picobsd's (Makefile.conf)
38# which is replaced with the directory with the picobsd configuration
39# corresponding to your image. This way you can have custom sources
40# in that directory overriding system programs.
41
42srcdirs @__CWD__@/src
43
44# Some programs are especially written for PicoBSD and reside in
45# release/picobsd/tinyware.
46# Put this entry near the head of the list to override standard binaries.
47
48srcdirs /usr/src/release/picobsd/tinyware
49
50# Other standard locations for sources.
51# If a program uses its own source directory, add
52
53srcdirs /usr/src/bin
54srcdirs /usr/src/sbin/i386
55srcdirs /usr/src/sbin
56srcdirs /usr/src/usr.bin
57srcdirs /usr/src/gnu/usr.bin
58srcdirs /usr/src/usr.sbin
59srcdirs /usr/src/libexec
60
61# For programs that reside in different places, the best option
62# is to use the command "special XXX srcdir YYY" where XXX is the
63# program name and YYY is the directory path.
64# "special XXX ..." can be used to specify more options, see again
65# the crunchgen manpage.
66
67#--- Basic configuraton
68# init is always necessary (unless you have a replacement, oinit)
69progs init
70
71# fsck is almost always necessary, unless you have everything on the
72# image and use 'tar' or something similar to read/write raw blocks
73# from the floppy.
74
75progs fsck
76
77# ifconfig is needed if you want to configure interfaces.
78progs ifconfig
79
80# You will also need a shell and a bunch of utilities.
81# The standard shell is not that large, but you need many
82# external programs. In fact most of them do not take much space
83# as they merely issue a system call, and print the result.
84# For a more compact version of shell and utilities, you could
85# try busybox, however most system management commands in busybox
86# will not work as they use linux-specific interfaces.
87
88progs sh
89ln sh -sh
90
91# the small utilities
92progs echo
93progs pwd mkdir rmdir
94progs chmod chown
95ln chown chgrp
96progs mv ln cp rm ls
97progs cat tail tee
98progs test
99ln test [
100
101progs mount
102progs minigzip
103ln minigzip gzip
104progs kill
105progs df
106progs ps
107progs ns	# this is the 
108ln ns netstat
109progs vm
110progs hostname
111progs login
112progs getty
113progs stty
114progs w
115progs msg
116ln msg dmesg
117progs reboot
118
119progs sysctl
120progs swapon
121progs pwd_mkdb
122progs umount
123progs du
124progs passwd
125
126progs route
127
128# If you want to run natd, remember the alias library
129#progs natd
130#libs_so -lalias	# natd
131
132# ppp is rather large. Note that as of Jan.01, RELEASE_CRUNCH
133# makes ppp not use libalias, so you cannot have aliasing.
134#progs ppp
135
136# You need an editor. ee is relatively small, though there are
137# smaller ones. vi is much larger.
138# The editor also usually need a curses library.
139progs ee
140
141progs arp
142
143# these require libgeom
144# progs bsdlabel fdisk mdconfig
145
146progs kldload kldunload kldstat
147progs kldxref
148#progs grep
149progs date
150progs ping
151#progs routed
152progs ipfw
153progs traceroute
154progs mdmfs
155ln mdmfs mount_mfs
156# Various filesystem support -- remember to enable the kernel parts
157# progs mount_msdosfs
158progs mount_nfs
159# progs mount_cd9660
160ln mount_nfs nfs
161ln mount_cd9660 cd9660
162#progs newfs
163#ln newfs mount_mfs
164# ln mount_msdosfs msdos
165
166# For a small ssh client/server use dropbear
167
168# Now the libraries
169libs_so	-lc		# the C library
170libs_so -ll		# used by sh (really ?)
171libs_so -lufs		# used by mount
172### ee uses ncurses but as a dependency
173#libs_so -lncurses
174libs_so -lm
175libs_so -ledit -lutil
176libs_so -lcrypt
177libs_so -lkvm
178libs_so -lz
179libs_so -lbsdxml
180libs_so -lsbuf
181