Date: Sat, 23 Oct 2010 20:16:02 -0700 From: Garrett Cooper <gcooper@FreeBSD.org> To: "sbruno@freebsd.org" <sbruno@freebsd.org> Cc: freebsd-current <freebsd-current@freebsd.org> Subject: Re: Small /etc/src.conf Message-ID: <AANLkTikfE-79gVaaDUYXuTqwW=sg9GVUdSzZs-uQjA9E@mail.gmail.com> In-Reply-To: <AANLkTikYci8WbWEGHierPR6c02MgD6nsAFDN5GuzEYx%2B@mail.gmail.com> References: <1287866401.2580.5.camel@home-yahoo> <AANLkTim7vr%2B6F7=9TX15sojn25HZMEw8PG2U48BCcrjT@mail.gmail.com> <1287873322.2580.16.camel@home-yahoo> <AANLkTikYci8WbWEGHierPR6c02MgD6nsAFDN5GuzEYx%2B@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Oct 23, 2010 at 7:19 PM, Garrett Cooper <gcooper@freebsd.org> wrote: > On Sat, Oct 23, 2010 at 3:35 PM, Sean Bruno <seanbru@yahoo-inc.com> wrote: >> On Sat, 2010-10-23 at 14:21 -0700, Rob Farmer wrote: >>> On Sat, Oct 23, 2010 at 13:40, Sean Bruno <seanbru@yahoo-inc.com> wrote: >>> > Anyone have a src.conf + make.conf that I can steal to build a small >>> > installation of BSD? I've been trying to shrink the installation so I >>> > can cram an ISO of BSD across the network into a remote installation >>> > thing in an HP box. >>> >>> Have you checked this: >>> http://phk.freebsd.dk/misc/build_options/ >>> >>> I'm not sure exactly what you're looking for, but in my experience (I >>> care more about build time than size though, and still want a fairly >>> functional system) these are the most important variables to set: >>> >>> NO_MODULES (stick everything in the kernel - tons of stuff is built >>> twice, like ufs support) >>> WITHOUT_PROFILE >>> WITHOUT_LIB32 >>> WITHOUT_CLANG >>> WITHOUT_KERBEROS >>> WITHOUT_CDDL >>> >>> Some of the options involving src/share like WITHOUT_LOCALES seem to >>> kill a lot of files too. >>> >>> Everything else either just skips a couple files (of course, that can >>> add up) or starts to cut into basic functionality (like no man pages), >>> IMHO. >>> >> >> Thanks for the clue, I've come up with some stuff now that got me down >> to ~100MB, but I think I can go smaller. >> src.conf: >> WITHOUT_AMD=true >> WITHOUT_APM=true >> WITHOUT_BIND=true >> WITHOUT_BSNMP=true >> WITHOUT_BSD_CPIO=true >> WITHOUT_BZIP2=true >> WITHOUT_BLUETOOTH=tree >> WITHOUT_CDDL=true >> WITHOUT_CLANG=true >> WITHOUT_CPP=true >> WITHOUT_CRYPT=true >> WITHOUT_CTM=true >> WITHOUT_CVS=true >> WITHOUT_CXX=true >> WITHOUT_DICT=true >> WITHOUT_EXAMPLES=true >> WITHOUT_FREEBSD_UPDATE=true >> WITHOUT_GAMES=true >> WITHOUT_GDB=true >> WITHOUT_GNU=true >> WITHOUT_GPIB=true >> WITHOUT_GROFF=true >> WITHOUT_GCOV=true >> WITHOUT_HTML=true >> WITHOUT_INET6=true >> WITHOUT_INFO=true >> #WITHOUT_INSTALLLIB=true >> WITHOUT_IPFILTER=true >> WITHOUT_IPFW=true >> WITHOUT_IPX=true >> WITHOUT_IPX_SUPPORT=true >> WITHOUT_JAIL=true >> WITHOUT_LIB32=true >> WITHOUT_LOCATE=true >> WITHOUT_LPR=true >> WITHOUT_MAIL=true >> WITHOUT_MAN=true >> WITHOUT_NCP=true >> WITHOUT_NDIS=true >> WITHOUT_NETGRAPH=true >> WITHOUT_NIS=true >> WITHOUT_NLS=true >> WITHOUT_NLS_CATALOGS=true >> WITHOUT_NS_CACHING=true >> WITHOUT_NTP=true >> WITHOUT_OBJC=true >> WITHOUT_PAM=true >> WITHOUT_PF=true >> WITHOUT_PORTSNAP=true >> WITHOUT_PPP=true >> WITHOUT_PROFILE=true >> WITHOUT_QUOTAS=true >> WITHOUT_RCMDS=true >> WITHOUT_RCS=true >> WITHOUT_RESCUE=true >> WITHOUT_ROUTED=true >> WITHOUT_SHAREDOCS=true >> WITHOUT_SYSINSTALL=true >> WITHOUT_TCSH=true >> WITHOUT_TELNET=true >> WITHOUT_TOOLCHAIN=true >> WITHOUT_WIRELESS=true >> >> make.conf: >> NO_MODULES=true >> NO_SHARE=true > > Looks about right (I don't optimize things that much in all cases, > but I've come close before). Here's a PR I opened that would tune the > rc.d scripts, because you'll probably notice that there's a ton of > noise involved at bootup when you do the above items: > > http://www.freebsd.org/cgi/query-pr.cgi?pr=conf/145344 > > If desired, I can update the patch with latest HEAD for the PR. I > would need for someone to review the item though and help commit it. One thing though: being pedantic and setting true is ok, but just doing: WITHOUT_TCSH= etc is sufficient. Another thing you could do is: FEATURES= \ AMD \ APM \ ... WIRELESS .for feature in ${FEATURES} WITHOUT_${feature}= .endfor (that's what I did in one instance where I source the src.conf file from another Makefile). It's up to you depending on your target audience for the file on what approach you want to take. Cheers, -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikfE-79gVaaDUYXuTqwW=sg9GVUdSzZs-uQjA9E>
