Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Dec 2003 10:01:52 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
To:        Cybertime Hostmaster <hostmaster@cybertime.net>
Cc:        freebsd-small@freebsd.org
Subject:   Re: Making less
Message-ID:  <Pine.BSF.4.53.0312130939290.1245@e0-0.zab2.int.zabbadoz.net>
In-Reply-To: <027301c3c106$ef3d91a0$0fce75d8@cybertime.net>
References:  <028f01c3c064$47a7fcc0$0fce75d8@cybertime.net> <06F0B516-2CB9-11D8-90A6-000393B61F2E@ncsa.uiuc.edu> <001501c3c0e0$c763a730$0fce75d8@cybertime.net> <Pine.BSF.4.53.0312121909180.1245@e0-0.zab2.int.zabbadoz.net> <017001c3c0e8$ccd1c0f0$0fce75d8@cybertime.net> <Pine.BSF.4.53.0312122016210.1245@e0-0.zab2.int.zabbadoz.net> <027301c3c106$ef3d91a0$0fce75d8@cybertime.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 12 Dec 2003, Cybertime Hostmaster wrote:

> MiniBSD has the issue of compile everything, then remove what you do not
> need.  As noted before, my prototyping system has a 2 GB HD, and this
> process runs it out of space.

when you do da make buildowrld you can use a /etc/make.conf with
things excluded you do not need. Or if you want a different make.conf
than fr your base system you may use

	make buildworld __MAKE_CONF=/path/to/another/make.conf

This is undocumented (I guess) but works on current.

You will still need about 450 MB for in /usr/obj for building.

depending on your needs you should be able to tune something. I think
the script from phk passes options on comamnd line.

I have once started with the one at the end of the mail by coping the
one from my base system and adjusted it to my needs (leaving a lot of
unneeded things like perl and papersize, ...)

It will still give you about 40 MB w/o a kernel and /etc installed;
about 58MB with.

You then need to remove the things mentioned p.ex. in phk's script.
I am using a Makefile hierachie framework to be more selective and
also replace things like master.passwd ssh keys etc ....
Also easily doable with a shell script.

After installing a kernel do not forget to remove all unneeded kernel
modules (will save about 10 MB depending on what you need).

Last you may also want to strip kernel etc which is not stripped.

After that with all pam*, far to many programms and postifx, racoon and
dhcprelay loader and pxeboot ,...... I can easily get down to 22MB.
(postfix raccon and dhcprelay make about 4.5MB of those).

Being a bit more selective you should be able to easily get it down to
12-16 MB.

-- 
Bjoern A. Zeeb				bzeeb at Zabbadoz dot NeT
56 69 73 69 74				http://www.zabbadoz.net/

--- another/make.conf ---
# -- use.perl generated deltas -- #
# Created: Sun Sep 14 09:18:45 2003
# Setting to use base perl from ports:
PERL_VER=5.6.1
PERL_VERSION=5.6.1
PERL_ARCH=mach
NOPERL=yo
NO_PERL=yo
NO_PERL_WRAPPER=yo


################################################################################

CPUTYPE?=i586

# To avoid building various parts of the base system:
NO_CVS=         true    # do not build CVS
NO_CXX=         true    # do not build C++ and friends
NO_BIND=        true    # do not build BIND
NO_FORTRAN=     true    # do not build g77 and related libraries
NO_GDB=         true    # do not build GDB
NO_I4B=         true    # do not build isdn4bsd package
NO_IPFILTER=    true    # do not build IP Filter package
NO_KERBEROS=    true    # do not build and install Kerberos 5 (KTH Heimdal)
NO_LPR=         true    # do not build lpr and related programs
#NO_MAILWRAPPER=true    # do not build the mailwrapper(8) MTA selector
#NO_MODULES=    true    # do not build modules with the kernel
NO_OBJC=        true    # do not build Objective C support
#NO_OPENSSH=    true    # do not build OpenSSH
#NO_OPENSSL=    true    # do not build OpenSSL (implies NO_KERBEROS and
#                         NO_OPENSSH)
NO_SENDMAIL=    true    # do not build sendmail and related programs
NO_SHAREDOCS=   true    # do not build the 4.4BSD legacy docs
#NO_TCSH=       true    # do not build and install /bin/csh (which is tcsh)
NO_X=           true    # do not compile in XWindows support (e.g.  doscmd)
#NOCRYPT=       true    # do not build any crypto code
NOGAMES=        true    # do not build games (games/ subdir)
NOINFO=         true    # do not make or install info files
#NOLIBC_R=      true    # do not build libc_r (re-entrant version of libc)
#                       # we need this for pppctl *sigh*
NOMAN=          true    # do not build manual pages
NOPROFILE=      true    # Avoid compiling profiled libraries
NOSHARE=        true    # do not go into the share subdir


# collected somewhere else
#NO_YP_LIBC=    yes     # mknetid in libexec failes
NO_USB=         yes
NO_RESCUE=      yes
NO_PORTSUPDATE= yes
NO_MAN_BUILD=   yes
NO_IPX=         yes
NO_C4B=         yes     # experimental Capi4BSD support
NO_FLOPPIES=    yes
NO_DOCUPDATE=   yes
NO_ACPI=        yes
NO_AFS=         yes
NO_NLS=         yes
NOHTML=         yes
NO_GCOV=        yes
NOLIBPTHREAD=   yes
NOLIBTHR=       yes
NO_HESIOD_LIBC= yes
NOATM=          yes
NO_TOOLCHAIN=   yes

# do not build /bin and /sbin staticly linked
# this is the default in HEAD starting about 2003-11-16
WITH_DYNAMICROOT=       YES
NOSHARED=               NO

# If you want the "compat" shared libraries installed as part of your
# normal
# builds, uncomment these:
#
#COMPAT1X=      yes
#COMPAT20=      yes
#COMPAT21=      yes
#COMPAT22=      yes
#COMPAT3X=      yes
#COMPAT4X=      yes

# By default, the system will always use the keyboard/video card as system
# console.  However, the boot blocks may be dynamically configured to use a
# serial port in addition to or instead of the keyboard/video console.
#
# By default we use COM1 as our serial console port *if* we're going to use
# a serial port as our console at all.  Alter as necessary.
#
#   COM1: = 0x3F8, COM2: = 0x2F8, COM3: = 0x3E8, COM4: = 0x2E8
#
BOOT_COMCONSOLE_PORT=   0x3F8
#
# The default serial console speed is 9600.  Set the speed to a larger value
# for better interactive response.
#
#BOOT_COMCONSOLE_SPEED= 115200
#
# By default the 'pxeboot' loader retrieves the kernel via NFS. Defining
# this and recompiling /usr/src/sys/boot will cause it to retrieve the kernel
# via TFTP.  This allows pxeboot to load a custom BOOTP diskless kernel yet
# still mount the server's '/' (i.e. rather than load the server's kernel).
#
LOADER_TFTP_SUPPORT= YES

# The list of languages and encodings to build and install
#
DOC_LANG=       en_US.ISO8859-1

# ==============================================================================

# enable IPFW2
IPFW2=          yes

# local stuff
WITHOUT_X11=    yes
WITHOUT_XPM=    yes

USA_RESIDENT=   NO
PAPERSIZE=      a4

# End;
--- cut ---



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