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