crunch.conf revision 156905
175899Sjoe#
275899Sjoe# $FreeBSD: head/release/picobsd/bridge/crunch.conf 156905 2006-03-20 14:24:58Z ru $
375899Sjoe#
475899Sjoe# configuration file for "bridge" floppy.
575899Sjoe# Depending on your needs, almost surely you will need to
675899Sjoe# modify your configuration to add/remove/change programs used in
775899Sjoe# the floppy image. Remember that some programs also require
875899Sjoe# matching kernel options to enable device drivers etc.
975899Sjoe#
1075899Sjoe# Next to most of the programs i have tried to indicate the approximate
1175899Sjoe# space consumed, but beware that these values change from release
1275899Sjoe# to release, and might depend on the presence of other programs which
1375899Sjoe# share the same libraries.
1475899Sjoe#
1575899Sjoe# NOTE: the string "/usr/src" will be automatically replaced with the
1675899Sjoe# correct value set in 'build' script - you should change it there
1775899Sjoe
1875899Sjoe# Default build options. Basically tell the Makefiles which understand
1975899Sjoe# that to use the most compact possible version of the code.
2075899Sjoe#
21139126Srubuildopts -DNO_PAM -DRELEASE_CRUNCH -DPPP_NO_NETGRAPH -DTRACEROUTE_NO_IPSEC -DNO_INET6
22156905Srubuildopts -DWITHOUT_IPX
2375899Sjoe
2475899Sjoe# directories where to look for sources of various binaries.
25102344Sluigi# @__CWD__@ is a magic keyword in the picobsd's (Makefile.conf)
26102344Sluigi# which is replaced with the picobsd directory.
27102344Sluigisrcdirs @__CWD__@/src
28102344Sluigi
2984312Sluigi# Some programs are especially written for PicoBSD and reside here
3084312Sluigi# Make this first in the list so we can override standard programs
3184312Sluigi# with the picobsd-specific ones.
3284312Sluigisrcdirs /usr/src/release/picobsd/tinyware
33102344Sluigi
34102344Sluigi#
35102344Sluigi# standard locations
36102344Sluigi#
3775899Sjoesrcdirs /usr/src/bin
3875899Sjoesrcdirs /usr/src/sbin/i386
3975899Sjoesrcdirs /usr/src/sbin
4075899Sjoesrcdirs /usr/src/usr.bin
4175899Sjoesrcdirs /usr/src/gnu/usr.bin
4275899Sjoesrcdirs /usr/src/usr.sbin
4375899Sjoesrcdirs /usr/src/libexec
4475899Sjoe#
4575899Sjoe# And there are others (mostly ports) which reside in their specific
4675899Sjoe# directories. For them, we use the "special" commands to tell
4775899Sjoe# crunchgen where to look for sources, objects, which Makefile
4875899Sjoe# variables contain the list of sources and objects, and so on.
4975899Sjoe
5075899Sjoe# init is almost always necessary.
5175899Sjoeprogs init # 4KB.
5275899Sjoe# fsck is almost always necessary, unless you have everything on the
5375899Sjoe# image and use 'tar' or something similar to read/write raw blocks
5475899Sjoe# from the floppy.
5575899Sjoeprogs fsck # 24KB.
5675899Sjoe# ifconfig is needed if you want to configure interfaces...
5775899Sjoeprogs ifconfig # 4KB.
5875899Sjoe#
5975899Sjoe# You will also need a shell and a bunch of utilities.
6075899Sjoe# The standard shell is not that large, but you need many
6175899Sjoe# external programs. In fact most of them do not take much space
6275899Sjoe# as they merely issue a system call, and print the result; the
6375899Sjoe# libraries are already needed anyways, so they end up using almost
6475899Sjoe# no additional memory.
6575899Sjoe# There are a few exceptions such as 'less', which in 4.x is
6675899Sjoe# rather large.
6775899Sjoeprogs sh # 36KB.
6875899Sjoeln sh -sh
6975899Sjoeprogs echo # 0KB.
7075899Sjoeprogs pwd
7175899Sjoeprogs mkdir rmdir
7275899Sjoeprogs chmod chown
7375899Sjoeprogs mv ln # 0KB.
7475899Sjoeprogs mount
7575899Sjoeprogs minigzip # 0KB.
7675899Sjoeln minigzip gzip
7775899Sjoeprogs cp # 0KB.
7875899Sjoeprogs rm
7975899Sjoeprogs ls
8075899Sjoeprogs kill
8175899Sjoeprogs df # 0KB.
8275899Sjoeprogs ps # 4KB.
8375899Sjoeprogs ns # 4KB.
8475899Sjoeln ns netstat
8575899Sjoeprogs vm # 0KB.
8675899Sjoeprogs cat # 0KB.
8775899Sjoeprogs test # 0KB.
8875899Sjoeln test [
8975899Sjoeprogs hostname # 0KB.
9075899Sjoeprogs login # 4KB.
9175899Sjoeprogs getty # 4KB.
9275899Sjoeprogs stty # 4KB.
9375899Sjoeprogs w # 0KB.
9475899Sjoeprogs msg # 0KB.
9575899Sjoeln msg dmesg
9675899Sjoeprogs reboot # 0KB.
9775899Sjoe#progs less # 36KB
9875899Sjoe#ln less more
9983086Sluigi#progs more # 12KB
10090661Sluigispecial more srcdir /usr/ports/misc/44bsd-more/work
10175899Sjoe
10275899Sjoeprogs sysctl
10375899Sjoeprogs swapon # 0KB.
10475899Sjoeprogs pwd_mkdb # 0KB.
10575899Sjoeprogs umount
10675899Sjoeprogs mount_std
10775899Sjoeprogs du # 0KB.
10875899Sjoeprogs tail # 0KB.
10975899Sjoeprogs tee # 0KB.
11075899Sjoeprogs passwd # 0KB.
11175899Sjoe
11275899Sjoeprogs route # 8KB
11377579Sru# progs mount_msdosfs
11475899Sjoe# progs comcontrol
11575899Sjoe#
11675899Sjoe# If you want to run natd, remember the alias library
11775899Sjoe#progs natd # 20KB
11875899Sjoe#libs -lalias	# natd
11975899Sjoe#
12075899Sjoe# ppp is rather large. Note that as of Jan.01, RELEASE_CRUNCH
12175899Sjoe# makes ppp not use libalias, so you cannot have aliasing.
12275899Sjoe#progs ppp # 112KB
12375899Sjoe
12475899Sjoe# You need an editor. ee is relatively small, though there are
12575899Sjoe# smaller ones. vi is much larger.
12675899Sjoe# The editor also usually need a curses library.
12775899Sjoeprogs ee # 32KB.
12875899Sjoelibs -lncurses
12975899Sjoe# progs vi # ??
13075899Sjoe# libs -lcurses # for vi
13175899Sjoe
13278544Sluigi#progs tcpdump # 100KB.
13375899Sjoespecial tcpdump srcdir /usr/src/usr.sbin/tcpdump/tcpdump
13475899Sjoe
13575899Sjoeprogs arp # 0KB.
13675899Sjoe
137155140Sluigiprogs bsdlabel # 4KB.
13875899Sjoeprogs fdisk # 4KB.
13975899Sjoeprogs vnconfig # 0KB.
14075899Sjoe
14191938Sluigi#progs grep # 16KB.
14275899Sjoeprogs date # 4KB.
14383086Sluigi#progs mount_nfs # 0KB.
14475899Sjoeln mount_nfs nfs
14575899Sjoeprogs ping # 4KB.
14675899Sjoe#progs routed # 32KB.
14775899Sjoeprogs ipfw # 12KB.
14875899Sjoeprogs traceroute # 0KB.
14975899Sjoe# progs mount_cd9660 # 4KB.
15075899Sjoe# ln mount_cd9660 cd9660
15175899Sjoe# progs newfs # 12KB.
15275899Sjoe#ln newfs mount_mfs
15375899Sjoeln chown chgrp
15477579Sru# ln mount_msdosfs msdos
15575899Sjoeln mount_std procfs
15675899Sjoeln mount_std mount_procfs
15775899Sjoe
15875899Sjoe# If you need to access the box remotely, and maybe copy files
15975899Sjoe# from/to it, you can use telnet, rsh or ssh.
16075899Sjoe# inetd is only needed for telnet and rshd
16190661Sluigi#progs inetd # 12KB.
16290661Sluigi#progs telnet # 20KB.
16390661Sluigi#progs telnetd # 12KB.
16475899Sjoe#progs ftp # 28KB.
16575899Sjoe#progs tar # 32KB.
16675899Sjoe
16775899Sjoe# Check the ssh license! If you want to use this,
16875899Sjoe# go to /usr/ports/security/ssh-picobsd, do a make extract configure
169102344Sluigi# You also need to install /usr/ports/math/libgmp-freebsd
170116688Sluigi#progs sshd	# includes ssh and scp
17175899Sjoespecial sshd objvar SSHD_OBJS
17275899Sjoespecial sshd srcdir /usr/ports/picobsd/ssh-picobsd/work/ssh-1.2.27
17375899Sjoespecial sshd objdir /usr/ports/picobsd/ssh-picobsd/work/ssh-1.2.27
17484171Sluigiln sshd ssh
17584171Sluigiln sshd ssh1
17684171Sluigiln sshd scp
177116688Sluigi#libs /usr/local/lib/libgmp.a
17875899Sjoe
179127350Sluigilibs -ll       # used by sh
180127350Sluigilibs -lufs     # used by mount
18175899Sjoe### ee uses ncurses instead of curses
182102344Sluigilibs -ledit -lutil -lmd -lcrypt -lmp -lm -lkvm
183156905Srulibs -lmytinfo -lz -lpcap -lwrap
18495047Srulibs -ltermcap -lgnuregex # -lcurses
185155140Sluigilibs -lgeom
186