175899Sjoe# 275899Sjoe# $FreeBSD$ 375899Sjoe# 4190421Sluigi# Configuration file for "bridge" images.. 575899Sjoe# 6190421Sluigi# Depending on your needs, you will almost surely need to 7190421Sluigi# add/remove/change programs according to your needs. 8190421Sluigi# Remember that some programs require matching kernel options to 9190421Sluigi# enable device drivers etc. 1075899Sjoe# 11190421Sluigi# To figure out how much space is used by each program, do 12190421Sluigi# 13190421Sluigi# size build_dir-bridge/crunch/*lo 14190421Sluigi# 15190421Sluigi# Remember that programs require libraries, which add up to the 16190421Sluigi# total size. The final binary is build_dir-bridge/mfs.tree/stand/crunch 17190421Sluigi# and you can check which libraries it uses with 18190421Sluigi# 19190421Sluigi# ldd build_dir-bridge/mfs.tree/stand/crunch 2075899Sjoe 21190421Sluigi# crunchgen configuration to build the crunched binary, see "man crunchgen" 22190421Sluigi# We need to specify generic build options, the places where to look 23190421Sluigi# for sources, and the list of program and libraries we want to put 24190421Sluigi# in the crunched binary. 25190421Sluigi# 26190421Sluigi# NOTE: the string "/usr/src" below will be automatically replaced with 27190421Sluigi# the path set in the 'build' script. 28190421Sluigi 29190421Sluigi# Default build options. Basically tell the Makefiles 3075899Sjoe# that to use the most compact possible version of the code. 31190421Sluigi 32246932Sluigibuildopts -DWITHOUT_PAM -DRELEASE_CRUNCH -DPPP_NO_NETGRAPH 33190421Sluigibuildopts -DTRACEROUTE_NO_IPSEC -DNO_INET6 34156905Srubuildopts -DWITHOUT_IPX 3575899Sjoe 36190421Sluigi# Directories where to look for sources of various binaries. 37102344Sluigi# @__CWD__@ is a magic keyword in the picobsd's (Makefile.conf) 38190421Sluigi# which is replaced with the directory with the picobsd configuration 39190421Sluigi# corresponding to your image. This way you can have custom sources 40190421Sluigi# in that directory overriding system programs. 41190421Sluigi 42102344Sluigisrcdirs @__CWD__@/src 43102344Sluigi 44190421Sluigi# Some programs are especially written for PicoBSD and reside in 45190421Sluigi# release/picobsd/tinyware. 46190421Sluigi# Put this entry near the head of the list to override standard binaries. 47190421Sluigi 4884312Sluigisrcdirs /usr/src/release/picobsd/tinyware 49102344Sluigi 50190421Sluigi# Other standard locations for sources. 51190421Sluigi# If a program uses its own source directory, add 52190421Sluigi 5375899Sjoesrcdirs /usr/src/bin 5475899Sjoesrcdirs /usr/src/sbin/i386 5575899Sjoesrcdirs /usr/src/sbin 5675899Sjoesrcdirs /usr/src/usr.bin 5775899Sjoesrcdirs /usr/src/gnu/usr.bin 5875899Sjoesrcdirs /usr/src/usr.sbin 5975899Sjoesrcdirs /usr/src/libexec 6075899Sjoe 61190421Sluigi# For programs that reside in different places, the best option 62190421Sluigi# is to use the command "special XXX srcdir YYY" where XXX is the 63190421Sluigi# program name and YYY is the directory path. 64190421Sluigi# "special XXX ..." can be used to specify more options, see again 65190421Sluigi# the crunchgen manpage. 66190421Sluigi 67190421Sluigi#--- Basic configuraton 68190421Sluigi# init is always necessary (unless you have a replacement, oinit) 69190385Sluigiprogs init 70190421Sluigi 7175899Sjoe# fsck is almost always necessary, unless you have everything on the 7275899Sjoe# image and use 'tar' or something similar to read/write raw blocks 7375899Sjoe# from the floppy. 74190421Sluigi 75190385Sluigiprogs fsck 76190421Sluigi 77190421Sluigi# ifconfig is needed if you want to configure interfaces. 78190385Sluigiprogs ifconfig 79190421Sluigi 8075899Sjoe# You will also need a shell and a bunch of utilities. 8175899Sjoe# The standard shell is not that large, but you need many 8275899Sjoe# external programs. In fact most of them do not take much space 83190421Sluigi# as they merely issue a system call, and print the result. 84190421Sluigi# For a more compact version of shell and utilities, you could 85190421Sluigi# try busybox, however most system management commands in busybox 86190421Sluigi# will not work as they use linux-specific interfaces. 87190421Sluigi 88190385Sluigiprogs sh 8975899Sjoeln sh -sh 90190421Sluigi 91190421Sluigi# the small utilities 92190385Sluigiprogs echo 93190421Sluigiprogs pwd mkdir rmdir 9475899Sjoeprogs chmod chown 95190421Sluigiln chown chgrp 96190421Sluigiprogs mv ln cp rm ls 97190421Sluigiprogs cat tail tee 98190421Sluigiprogs test 99190421Sluigiln test [ 100190421Sluigi 101200299Sluigiprogs less 102200299Sluigiln less more 10375899Sjoeprogs mount 104190385Sluigiprogs minigzip 10575899Sjoeln minigzip gzip 10675899Sjoeprogs kill 107190385Sluigiprogs df 108190385Sluigiprogs ps 109200299Sluigiprogs ns # this is the picobsd version 11075899Sjoeln ns netstat 111190385Sluigiprogs vm 112190385Sluigiprogs hostname 113190385Sluigiprogs login 114190385Sluigiprogs getty 115190385Sluigiprogs stty 116190385Sluigiprogs w 117190385Sluigiprogs msg 11875899Sjoeln msg dmesg 119190385Sluigiprogs reboot 12075899Sjoe 12175899Sjoeprogs sysctl 122190385Sluigiprogs swapon 123190385Sluigiprogs pwd_mkdb 12475899Sjoeprogs umount 125190385Sluigiprogs du 126190385Sluigiprogs passwd 12775899Sjoe 128190385Sluigiprogs route 129190421Sluigi 13075899Sjoe# If you want to run natd, remember the alias library 131190385Sluigi#progs natd 132190421Sluigi#libs_so -lalias # natd 133190421Sluigi 13475899Sjoe# ppp is rather large. Note that as of Jan.01, RELEASE_CRUNCH 13575899Sjoe# makes ppp not use libalias, so you cannot have aliasing. 136190385Sluigi#progs ppp 13775899Sjoe 13875899Sjoe# You need an editor. ee is relatively small, though there are 13975899Sjoe# smaller ones. vi is much larger. 14075899Sjoe# The editor also usually need a curses library. 141190385Sluigiprogs ee 14275899Sjoe 143190385Sluigiprogs arp 14475899Sjoe 145190421Sluigi# these require libgeom 146190421Sluigi# progs bsdlabel fdisk mdconfig 14775899Sjoe 148190421Sluigiprogs kldload kldunload kldstat 149190421Sluigiprogs kldxref 150190385Sluigi#progs grep 151190385Sluigiprogs date 152190385Sluigiprogs ping 153190385Sluigi#progs routed 154190385Sluigiprogs ipfw 155190385Sluigiprogs traceroute 156190421Sluigiprogs mdmfs 157190421Sluigiln mdmfs mount_mfs 158190421Sluigi# Various filesystem support -- remember to enable the kernel parts 159190421Sluigi# progs mount_msdosfs 160190421Sluigiprogs mount_nfs 161190385Sluigi# progs mount_cd9660 162190421Sluigiln mount_nfs nfs 163190421Sluigiln mount_cd9660 cd9660 164190421Sluigi#progs newfs 16575899Sjoe#ln newfs mount_mfs 16677579Sru# ln mount_msdosfs msdos 16775899Sjoe 168190421Sluigi# For a small ssh client/server use dropbear 16975899Sjoe 170190421Sluigi# Now the libraries 171190421Sluigilibs_so -lc # the C library 172190421Sluigilibs_so -ll # used by sh (really ?) 173190421Sluigilibs_so -lufs # used by mount 174190421Sluigi### ee uses ncurses but as a dependency 175190421Sluigi#libs_so -lncurses 176190421Sluigilibs_so -lm 177190421Sluigilibs_so -ledit -lutil 178190421Sluigilibs_so -lcrypt 179190421Sluigilibs_so -lkvm 180190421Sluigilibs_so -lz 181190421Sluigilibs_so -lbsdxml 182190421Sluigilibs_so -lsbuf 183197119Sluigilibs_so -ljail # used by ifconfig 184