1# 2# $FreeBSD: releng/10.3/release/picobsd/bridge/crunch.conf 246932 2013-02-18 02:08:41Z 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 -DWITHOUT_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 less 102ln less more 103progs mount 104progs minigzip 105ln minigzip gzip 106progs kill 107progs df 108progs ps 109progs ns # this is the picobsd version 110ln ns netstat 111progs vm 112progs hostname 113progs login 114progs getty 115progs stty 116progs w 117progs msg 118ln msg dmesg 119progs reboot 120 121progs sysctl 122progs swapon 123progs pwd_mkdb 124progs umount 125progs du 126progs passwd 127 128progs route 129 130# If you want to run natd, remember the alias library 131#progs natd 132#libs_so -lalias # natd 133 134# ppp is rather large. Note that as of Jan.01, RELEASE_CRUNCH 135# makes ppp not use libalias, so you cannot have aliasing. 136#progs ppp 137 138# You need an editor. ee is relatively small, though there are 139# smaller ones. vi is much larger. 140# The editor also usually need a curses library. 141progs ee 142 143progs arp 144 145# these require libgeom 146# progs bsdlabel fdisk mdconfig 147 148progs kldload kldunload kldstat 149progs kldxref 150#progs grep 151progs date 152progs ping 153#progs routed 154progs ipfw 155progs traceroute 156progs mdmfs 157ln mdmfs mount_mfs 158# Various filesystem support -- remember to enable the kernel parts 159# progs mount_msdosfs 160progs mount_nfs 161# progs mount_cd9660 162ln mount_nfs nfs 163ln mount_cd9660 cd9660 164#progs newfs 165#ln newfs mount_mfs 166# ln mount_msdosfs msdos 167 168# For a small ssh client/server use dropbear 169 170# Now the libraries 171libs_so -lc # the C library 172libs_so -ll # used by sh (really ?) 173libs_so -lufs # used by mount 174### ee uses ncurses but as a dependency 175#libs_so -lncurses 176libs_so -lm 177libs_so -ledit -lutil 178libs_so -lcrypt 179libs_so -lkvm 180libs_so -lz 181libs_so -lbsdxml 182libs_so -lsbuf 183libs_so -ljail # used by ifconfig 184