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