aboutsummaryrefslogtreecommitdiff
path: root/release/picobsd/bridge/crunch.conf
blob: c525ee120856f41c9d80647ddba5dff52ec2e81d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
#
# $FreeBSD$
#
# Configuration file for "bridge" images..
#
# 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

# 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.
#
# 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 -DWITHOUT_PAM -DRELEASE_CRUNCH -DPPP_NO_NETGRAPH
buildopts -DTRACEROUTE_NO_IPSEC -DNO_INET6

# 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 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 in
# release/picobsd/tinyware.
# Put this entry near the head of the list to override standard binaries.

srcdirs /usr/src/release/picobsd/tinyware

# 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
srcdirs /usr/src/usr.bin
srcdirs /usr/src/gnu/usr.bin
srcdirs /usr/src/usr.sbin
srcdirs /usr/src/libexec

# 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.
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.
# 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 mkdir rmdir
progs chmod chown
ln chown chgrp
progs mv ln cp rm ls
progs cat tail tee
progs test
ln test [

progs less
ln less more
progs mount
progs minigzip
ln minigzip gzip
progs kill
progs df
progs ps
progs ns	# this is the picobsd version
ln ns netstat
progs vm
progs hostname
progs login
progs getty
progs stty
progs w
progs msg
ln msg dmesg
progs reboot

progs sysctl
progs swapon
progs pwd_mkdb
progs umount
progs du
progs passwd

progs route

# If you want to run natd, remember the alias library
#progs 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

progs arp

# these require libgeom
# progs bsdlabel fdisk mdconfig

progs kldload kldunload kldstat
progs kldxref
#progs grep
progs date
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_nfs nfs
ln mount_cd9660 cd9660
#progs newfs
#ln newfs mount_mfs
# ln mount_msdosfs msdos

# For a small ssh client/server use dropbear

# 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
libs_so -ljail	# used by ifconfig