From owner-freebsd-small@FreeBSD.ORG Sat Dec 13 02:10:14 2003 Return-Path: Delivered-To: freebsd-small@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D968A16A4CE for ; Sat, 13 Dec 2003 02:10:14 -0800 (PST) Received: from transport.cksoft.de (transport.cksoft.de [62.111.66.27]) by mx1.FreeBSD.org (Postfix) with ESMTP id 138FE43D09 for ; Sat, 13 Dec 2003 02:10:10 -0800 (PST) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from transport.cksoft.de (localhost [127.0.0.1]) by transport.cksoft.de (Postfix) with ESMTP id 540211FF905; Sat, 13 Dec 2003 11:10:08 +0100 (CET) Received: by transport.cksoft.de (Postfix, from userid 66) id A11871FF903; Sat, 13 Dec 2003 11:10:06 +0100 (CET) Received: by mail.int.zabbadoz.net (Postfix, from userid 1060) id B0C1D1538F; Sat, 13 Dec 2003 10:01:52 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.int.zabbadoz.net (Postfix) with ESMTP id A4CFD15380; Sat, 13 Dec 2003 10:01:52 +0000 (UTC) Date: Sat, 13 Dec 2003 10:01:52 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@e0-0.zab2.int.zabbadoz.net To: Cybertime Hostmaster In-Reply-To: <027301c3c106$ef3d91a0$0fce75d8@cybertime.net> Message-ID: References: <028f01c3c064$47a7fcc0$0fce75d8@cybertime.net> <06F0B516-2CB9-11D8-90A6-000393B61F2E@ncsa.uiuc.edu> <001501c3c0e0$c763a730$0fce75d8@cybertime.net> <017001c3c0e8$ccd1c0f0$0fce75d8@cybertime.net> <027301c3c106$ef3d91a0$0fce75d8@cybertime.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by AMaViS cksoft-s20020300-20031204bz on transport.cksoft.de cc: freebsd-small@freebsd.org Subject: Re: Making less X-BeenThere: freebsd-small@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Dec 2003 10:10:15 -0000 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 ---