Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Mar 2009 18:48:46 +0000 (UTC)
From:      Luigi Rizzo <luigi@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r190421 - head/release/picobsd/bridge
Message-ID:  <200903251848.n2PImkxk084540@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: luigi
Date: Wed Mar 25 18:48:46 2009
New Revision: 190421
URL: http://svn.freebsd.org/changeset/base/190421

Log:
  This config file uses dynamically linked binaries, which is more
  convenient when you want to import other programs because the
  libraries will not be replicated.
  
  Given that there are no floppies around anymore, I have bumped
  the fd size to 4MB (which is more than reasonable even for
  embedded platforms) and gives some room for other utilities.
  
  MFC after:	3 days

Modified:
  head/release/picobsd/bridge/PICOBSD
  head/release/picobsd/bridge/config
  head/release/picobsd/bridge/crunch.conf

Modified: head/release/picobsd/bridge/PICOBSD
==============================================================================
--- head/release/picobsd/bridge/PICOBSD	Wed Mar 25 17:56:28 2009	(r190420)
+++ head/release/picobsd/bridge/PICOBSD	Wed Mar 25 18:48:46 2009	(r190421)
@@ -3,8 +3,8 @@
 #
 # Line starting with #PicoBSD contains PicoBSD build parameters
 #marker         def_sz  init    MFS_inodes      floppy_inodes
-#PicoBSD	3200	init	8192		32768
-options MD_ROOT_SIZE=3200      # same as def_sz
+#PicoBSD	8000	init	8192		32768
+options MD_ROOT_SIZE=8000      # same as def_sz
 
 hints	"PICOBSD.hints"
 
@@ -45,6 +45,7 @@ options		DUMMYNET
 device		if_bridge
 options		HZ=1000
 
+device		random			# used by ssh
 device		pci
 
 # Floppy drives
@@ -64,7 +65,6 @@ device		atkbd
 device		vga			# VGA screen
 
 # syscons is the default console driver, resembling an SCO console
-
 device		sc
 
 # Serial (COM) ports
@@ -88,14 +88,9 @@ device		uart
 # The following Ethernet NICs are all PCI devices.
 #
 device	miibus 
-#device		de		# DEC/Intel DC21x4x (``Tulip'')
-#device		lnc
 device		fxp		# Intel EtherExpress PRO/100B (82557, 82558)
-#device		xl		# 3Com
 device		rl		# RealTek 8129/8139
 device		sis		# National/SiS
-#device		vx		# 3Com 3c590, 3c595 (``Vortex'')
-#device		wx		# Intel Gigabit Ethernet Card (``Wiseman'')
 device		dc		# DEC/Intel 21143 and various workalikes
 device		ed
 
@@ -109,8 +104,6 @@ device		md		# Memory "disks"
 #device		faith	1	# IPv6-to-IPv4 relaying (translation)
 device		tap
 
-#options		DEVICE_POLLING
-
 # The `bpf' device enables the Berkeley Packet Filter.
 # Be aware of the administrative consequences of enabling this!
 device		bpf		# Berkeley packet filter

Modified: head/release/picobsd/bridge/config
==============================================================================
--- head/release/picobsd/bridge/config	Wed Mar 25 17:56:28 2009	(r190420)
+++ head/release/picobsd/bridge/config	Wed Mar 25 18:48:46 2009	(r190421)
@@ -3,4 +3,4 @@
 # it should only contain variable definitions -- it is sourced
 # by the shell much like rc.conf* files
 
-fd_size="2880"
+fd_size="4096"

Modified: head/release/picobsd/bridge/crunch.conf
==============================================================================
--- head/release/picobsd/bridge/crunch.conf	Wed Mar 25 17:56:28 2009	(r190420)
+++ head/release/picobsd/bridge/crunch.conf	Wed Mar 25 18:48:46 2009	(r190421)
@@ -1,39 +1,55 @@
 #
 # $FreeBSD$
 #
-# configuration file for "bridge" floppy.
-# Depending on your needs, almost surely you will need to
-# modify your configuration to add/remove/change programs used in
-# the floppy image. Remember that some programs also require
-# matching kernel options to enable device drivers etc.
-#
-# Next to most of the programs i have tried to indicate the approximate
-# space consumed, but beware that these values change from release
-# to release, and might depend on the presence of other programs which
-# share the same libraries.
+# Configuration file for "bridge" images..
 #
-# NOTE: the string "/usr/src" will be automatically replaced with the
-# correct value set in 'build' script - you should change it there
+# Depending on your needs, you will almost surely need to
+# add/remove/change programs according to your needs.
+# Remember that some programs require matching kernel options to
+# enable device drivers etc.
+#
+# To figure out how much space is used by each program, do
+#
+#	size build_dir-bridge/crunch/*lo
+#
+# Remember that programs require libraries, which add up to the
+# total size. The final binary is build_dir-bridge/mfs.tree/stand/crunch
+# and you can check which libraries it uses with
+#
+#	ldd build_dir-bridge/mfs.tree/stand/crunch
 
-# Default build options. Basically tell the Makefiles which understand
-# that to use the most compact possible version of the code.
+# crunchgen configuration to build the crunched binary, see "man crunchgen"
+# We need to specify generic build options, the places where to look
+# for sources, and the list of program and libraries we want to put
+# in the crunched binary.
 #
-buildopts -DNO_PAM -DRELEASE_CRUNCH -DPPP_NO_NETGRAPH -DTRACEROUTE_NO_IPSEC -DNO_INET6
+# NOTE: the string "/usr/src" below will be automatically replaced with
+# the path set in the 'build' script.
+
+# Default build options. Basically tell the Makefiles
+# that to use the most compact possible version of the code.
+
+buildopts -DNO_PAM -DRELEASE_CRUNCH -DPPP_NO_NETGRAPH
+buildopts -DTRACEROUTE_NO_IPSEC -DNO_INET6
 buildopts -DWITHOUT_IPX
 
-# directories where to look for sources of various binaries.
+# Directories where to look for sources of various binaries.
 # @__CWD__@ is a magic keyword in the picobsd's (Makefile.conf)
-# which is replaced with the picobsd directory.
+# which is replaced with the directory with the picobsd configuration
+# corresponding to your image. This way you can have custom sources
+# in that directory overriding system programs.
+
 srcdirs @__CWD__@/src
 
-# Some programs are especially written for PicoBSD and reside here
-# Make this first in the list so we can override standard programs
-# with the picobsd-specific ones.
+# Some programs are especially written for PicoBSD and reside in
+# release/picobsd/tinyware.
+# Put this entry near the head of the list to override standard binaries.
+
 srcdirs /usr/src/release/picobsd/tinyware
 
-#
-# standard locations
-#
+# Other standard locations for sources.
+# If a program uses its own source directory, add
+
 srcdirs /usr/src/bin
 srcdirs /usr/src/sbin/i386
 srcdirs /usr/src/sbin
@@ -41,51 +57,56 @@ srcdirs /usr/src/usr.bin
 srcdirs /usr/src/gnu/usr.bin
 srcdirs /usr/src/usr.sbin
 srcdirs /usr/src/libexec
-#
-# And there are others (mostly ports) which reside in their specific
-# directories. For them, we use the "special" commands to tell
-# crunchgen where to look for sources, objects, which Makefile
-# variables contain the list of sources and objects, and so on.
 
-# init is almost always necessary.
+# For programs that reside in different places, the best option
+# is to use the command "special XXX srcdir YYY" where XXX is the
+# program name and YYY is the directory path.
+# "special XXX ..." can be used to specify more options, see again
+# the crunchgen manpage.
+
+#--- Basic configuraton
+# init is always necessary (unless you have a replacement, oinit)
 progs init
+
 # fsck is almost always necessary, unless you have everything on the
 # image and use 'tar' or something similar to read/write raw blocks
 # from the floppy.
+
 progs fsck
-# ifconfig is needed if you want to configure interfaces...
+
+# ifconfig is needed if you want to configure interfaces.
 progs ifconfig
-#
+
 # You will also need a shell and a bunch of utilities.
 # The standard shell is not that large, but you need many
 # external programs. In fact most of them do not take much space
-# as they merely issue a system call, and print the result; the
-# libraries are already needed anyways, so they end up using almost
-# no additional memory.
-# There are a few exceptions such as 'less', which in 4.x is
-# rather large.
+# as they merely issue a system call, and print the result.
+# For a more compact version of shell and utilities, you could
+# try busybox, however most system management commands in busybox
+# will not work as they use linux-specific interfaces.
+
 progs sh
 ln sh -sh
+
+# the small utilities
 progs echo
-progs pwd
-progs mkdir rmdir
+progs pwd mkdir rmdir
 progs chmod chown
-progs mv ln
+ln chown chgrp
+progs mv ln cp rm ls
+progs cat tail tee
+progs test
+ln test [
+
 progs mount
 progs minigzip
 ln minigzip gzip
-progs cp
-progs rm
-progs ls
 progs kill
 progs df
 progs ps
-progs ns
+progs ns	# this is the 
 ln ns netstat
 progs vm
-progs cat
-progs test
-ln test [
 progs hostname
 progs login
 progs getty
@@ -94,28 +115,20 @@ progs w
 progs msg
 ln msg dmesg
 progs reboot
-progs less
-#ln less more
-#progs more
-special more srcdir /usr/ports/misc/44bsd-more/work
 
 progs sysctl
 progs swapon
 progs pwd_mkdb
 progs umount
 progs du
-progs tail
-progs tee
 progs passwd
 
 progs route
-# progs mount_msdosfs
-# progs comcontrol
-#
+
 # If you want to run natd, remember the alias library
 #progs natd
-#libs -lalias	# natd
-#
+#libs_so -lalias	# natd
+
 # ppp is rather large. Note that as of Jan.01, RELEASE_CRUNCH
 # makes ppp not use libalias, so you cannot have aliasing.
 #progs ppp
@@ -124,42 +137,44 @@ progs route
 # smaller ones. vi is much larger.
 # The editor also usually need a curses library.
 progs ee
-libs -lncurses
-# progs vi
-# libs -lcurses # for vi
-
-#progs tcpdump
-special tcpdump srcdir /usr/src/usr.sbin/tcpdump/tcpdump
 
 progs arp
 
-progs bsdlabel
-progs fdisk
-progs mdconfig
+# these require libgeom
+# progs bsdlabel fdisk mdconfig
 
+progs kldload kldunload kldstat
+progs kldxref
 #progs grep
 progs date
-#progs mount_nfs
-ln mount_nfs nfs
 progs ping
 #progs routed
 progs ipfw
 progs traceroute
+progs mdmfs
+ln mdmfs mount_mfs
+# Various filesystem support -- remember to enable the kernel parts
+# progs mount_msdosfs
+progs mount_nfs
 # progs mount_cd9660
-# ln mount_cd9660 cd9660
-# progs newfs
+ln mount_nfs nfs
+ln mount_cd9660 cd9660
+#progs newfs
 #ln newfs mount_mfs
-ln chown chgrp
 # ln mount_msdosfs msdos
 
+# For a small ssh client/server use dropbear
 
-libs -ll       # used by sh
-libs -lufs     # used by mount
-### ee uses ncurses instead of curses
-libs -ledit -lutil -lmd -lcrypt -lmp -lm -lkvm
-# libs -lmytinfo
-libs -lz -lpcap -lwrap
-libs -ltermcap -lgnuregex # -lcurses
-libs -lgeom
-libs -lsbuf
-libs -lbsdxml  # used by ifconfig
+# Now the libraries
+libs_so	-lc		# the C library
+libs_so -ll		# used by sh (really ?)
+libs_so -lufs		# used by mount
+### ee uses ncurses but as a dependency
+#libs_so -lncurses
+libs_so -lm
+libs_so -ledit -lutil
+libs_so -lcrypt
+libs_so -lkvm
+libs_so -lz
+libs_so -lbsdxml
+libs_so -lsbuf



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903251848.n2PImkxk084540>