1#
| 1#
|
2# $FreeBSD: head/release/picobsd/bridge/crunch.conf 190385 2009-03-24 18:02:35Z luigi $
| 2# $FreeBSD: head/release/picobsd/bridge/crunch.conf 190421 2009-03-25 18:48:46Z luigi $
|
3#
| 3#
|
4# configuration file for "bridge" floppy. 5# Depending on your needs, almost surely you will need to 6# modify your configuration to add/remove/change programs used in 7# the floppy image. Remember that some programs also require 8# matching kernel options to enable device drivers etc.
| 4# Configuration file for "bridge" images..
|
9#
| 5#
|
10# Next to most of the programs i have tried to indicate the approximate 11# space consumed, but beware that these values change from release 12# to release, and might depend on the presence of other programs which 13# share the same libraries.
| 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.
|
14#
| 10#
|
15# NOTE: the string "/usr/src" will be automatically replaced with the 16# correct value set in 'build' script - you should change it there
| 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
|
17
| 20
|
18# Default build options. Basically tell the Makefiles which understand 19# that to use the most compact possible version of the code.
| 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.
|
20#
| 25#
|
21buildopts -DNO_PAM -DRELEASE_CRUNCH -DPPP_NO_NETGRAPH -DTRACEROUTE_NO_IPSEC -DNO_INET6
| 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
|
22buildopts -DWITHOUT_IPX 23
| 34buildopts -DWITHOUT_IPX 35
|
24# directories where to look for sources of various binaries.
| 36# Directories where to look for sources of various binaries.
|
25# @__CWD__@ is a magic keyword in the picobsd's (Makefile.conf)
| 37# @__CWD__@ is a magic keyword in the picobsd's (Makefile.conf)
|
26# which is replaced with the picobsd directory.
| 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
|
27srcdirs @__CWD__@/src 28
| 42srcdirs @__CWD__@/src 43
|
29# Some programs are especially written for PicoBSD and reside here 30# Make this first in the list so we can override standard programs 31# with the picobsd-specific ones.
| 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
|
32srcdirs /usr/src/release/picobsd/tinyware 33
| 48srcdirs /usr/src/release/picobsd/tinyware 49
|
34# 35# standard locations 36#
| 50# Other standard locations for sources. 51# If a program uses its own source directory, add 52
|
37srcdirs /usr/src/bin 38srcdirs /usr/src/sbin/i386 39srcdirs /usr/src/sbin 40srcdirs /usr/src/usr.bin 41srcdirs /usr/src/gnu/usr.bin 42srcdirs /usr/src/usr.sbin 43srcdirs /usr/src/libexec
| 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
|
44# 45# And there are others (mostly ports) which reside in their specific 46# directories. For them, we use the "special" commands to tell 47# crunchgen where to look for sources, objects, which Makefile 48# variables contain the list of sources and objects, and so on.
| |
49
| 60
|
50# init is almost always necessary.
| 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)
|
51progs init
| 69progs init
|
| 70
|
52# fsck is almost always necessary, unless you have everything on the 53# image and use 'tar' or something similar to read/write raw blocks 54# from the floppy.
| 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
|
55progs fsck
| 75progs fsck
|
56# ifconfig is needed if you want to configure interfaces...
| 76 77# ifconfig is needed if you want to configure interfaces.
|
57progs ifconfig
| 78progs ifconfig
|
58#
| 79
|
59# You will also need a shell and a bunch of utilities. 60# The standard shell is not that large, but you need many 61# external programs. In fact most of them do not take much space
| 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
|
62# as they merely issue a system call, and print the result; the 63# libraries are already needed anyways, so they end up using almost 64# no additional memory. 65# There are a few exceptions such as 'less', which in 4.x is 66# rather large.
| 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
|
67progs sh 68ln sh -sh
| 88progs sh 89ln sh -sh
|
| 90 91# the small utilities
|
69progs echo
| 92progs echo
|
70progs pwd 71progs mkdir rmdir
| 93progs pwd mkdir rmdir
|
72progs chmod chown
| 94progs chmod chown
|
73progs mv ln
| 95ln chown chgrp 96progs mv ln cp rm ls 97progs cat tail tee 98progs test 99ln test [ 100
|
74progs mount 75progs minigzip 76ln minigzip gzip
| 101progs mount 102progs minigzip 103ln minigzip gzip
|
77progs cp 78progs rm 79progs ls
| |
80progs kill 81progs df 82progs ps
| 104progs kill 105progs df 106progs ps
|
83progs ns
| 107progs ns # this is the
|
84ln ns netstat 85progs vm
| 108ln ns netstat 109progs vm
|
86progs cat 87progs test 88ln test [
| |
89progs hostname 90progs login 91progs getty 92progs stty 93progs w 94progs msg 95ln msg dmesg 96progs reboot
| 110progs hostname 111progs login 112progs getty 113progs stty 114progs w 115progs msg 116ln msg dmesg 117progs reboot
|
97progs less 98#ln less more 99#progs more 100special more srcdir /usr/ports/misc/44bsd-more/work
| |
101 102progs sysctl 103progs swapon 104progs pwd_mkdb 105progs umount 106progs du
| 118 119progs sysctl 120progs swapon 121progs pwd_mkdb 122progs umount 123progs du
|
107progs tail 108progs tee
| |
109progs passwd 110 111progs route
| 124progs passwd 125 126progs route
|
112# progs mount_msdosfs 113# progs comcontrol 114#
| 127
|
115# If you want to run natd, remember the alias library 116#progs natd
| 128# If you want to run natd, remember the alias library 129#progs natd
|
117#libs -lalias # natd 118#
| 130#libs_so -lalias # natd 131
|
119# ppp is rather large. Note that as of Jan.01, RELEASE_CRUNCH 120# makes ppp not use libalias, so you cannot have aliasing. 121#progs ppp 122 123# You need an editor. ee is relatively small, though there are 124# smaller ones. vi is much larger. 125# The editor also usually need a curses library. 126progs ee
| 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
|
127libs -lncurses 128# progs vi 129# libs -lcurses # for vi
| |
130
| 140
|
131#progs tcpdump 132special tcpdump srcdir /usr/src/usr.sbin/tcpdump/tcpdump 133
| |
134progs arp 135
| 141progs arp 142
|
136progs bsdlabel 137progs fdisk 138progs mdconfig
| 143# these require libgeom 144# progs bsdlabel fdisk mdconfig
|
139
| 145
|
| 146progs kldload kldunload kldstat 147progs kldxref
|
140#progs grep 141progs date
| 148#progs grep 149progs date
|
142#progs mount_nfs 143ln mount_nfs nfs
| |
144progs ping 145#progs routed 146progs ipfw 147progs traceroute
| 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
|
148# progs mount_cd9660
| 159# progs mount_cd9660
|
149# ln mount_cd9660 cd9660 150# progs newfs
| 160ln mount_nfs nfs 161ln mount_cd9660 cd9660 162#progs newfs
|
151#ln newfs mount_mfs
| 163#ln newfs mount_mfs
|
152ln chown chgrp
| |
153# ln mount_msdosfs msdos 154
| 164# ln mount_msdosfs msdos 165
|
| 166# For a small ssh client/server use dropbear
|
155
| 167
|
156libs -ll # used by sh 157libs -lufs # used by mount 158### ee uses ncurses instead of curses 159libs -ledit -lutil -lmd -lcrypt -lmp -lm -lkvm 160# libs -lmytinfo 161libs -lz -lpcap -lwrap 162libs -ltermcap -lgnuregex # -lcurses 163libs -lgeom 164libs -lsbuf 165libs -lbsdxml # used by ifconfig
| 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
|
| |