help with condensing bsd

krad kraduk at gmail.com
Tue Sep 19 09:07:56 UTC 2017


Thats what boot environments are for. Create a blank filesystem and then do
and install with the dest-dir installed. make delete-old etc should take
care of a lot of the issues. You could of course use pkgbase to create your
base image, and you can strip bits off afterward quite easily. However as
you a re doing a custom build there is no getting away from /usr/src, until
pkgbase becomes standard in maybe 12, or 13.

On 11 September 2017 at 14:59, Littlefield, Tyler <tyler at tysdomain.com>
wrote:

> On 9/8/2017 3:03 PM, Anton Yuzhaninov wrote:
> > On 09/08/17 12:04, Littlefield, Tyler wrote:
> >> I wish to create a smaller BSD as I have a vps with a minimal amount of
> >> space.
> > 1. Reducing kernel size.
> >
> > create custom config - add to it all you need (drivers, geom/netgraph
> > modules e. t. c.) and add line
> > makeoptions     NO_MODULES=yes
> >
> > only kernel will be build without modules.
> > Kernel can be compressed using gzip -9
> >
> > 2. World.
> >
> > Simple way - just disable optional stuff via src.conf
> > Read man src.conf and add knobs like
> > WITHOUT_ACCT=yes
> > WITHOUT_ACPI=yes
> > WITHOUT_AMD=yes
> > e.t.c.
> > to you src.conf
> >
> > Not all can be switched off via src.conf, but if you not building image
> > for tiny embedded system a few extra Mb probably doesn't matter.
> >
> >> I know that I can buildworld and cut a lot of things out (does
> >> anyone have a good example from where to start)?
> >> My question is this: Once I buildworld and buildkernel, how do I package
> >> these up? I have a few systems that need this new buildworld and
> >> buildkernel, and i also want to replace the base iocage jail.
> > Different options are possible.
> >
> > I use this way:
> >
> > On build host I run script make-release.sh [1]
> > result of this script: files base.txz kernel.txz e. t. c.
> >
> > /usr/src/release/release.sh can be used instead, but for me it was more
> > easy to write own script than customize release.sh.
> >
> > To upgrade OS on VPS I use shell script [2] which fetches this files and
> > extracts them using tar. To upgrade files in /etc I currently use
> > etcupdate (because mergemaster needs /usr/src).
> >
> > If you already have OS installed in this VPS you can install you custom
> > build (and copy /etc/src.conf used for this build) and then run
> > make delete-old && make delete-old-libs
> > to delete switched off parts (but you will need /usr/src for this task).
>
>
> To bad there's not a way to do this without /usr/src. If you just extract
> this new system over your current system, how does that get rid of things
> you removed? For example I got rid of bluetooth and various other things
> that I don't want installed.
> Thanks,
>
>  Also you can save space by not keeping /usr/ports and installing binary
> packages. If custom options are need you will have to run own package
> repo using poudriere.
>
> 1. http://termbin.com/ad1c
> 2. http://termbin.com/rvd8
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-
> unsubscribe at freebsd.org"
>
>
> --
>
> Take Care,
> Tyler Littlefield
>
> Tyler Littlefield Consulting: website development and business
> solutions. <http://tylerlittlefield.me> My personal site
> <http://tysdomain.com> My Linkedin
> <https://www.linkedin.com/in/ty-lerlittlefield> @Sorressean on Twitter
> <http://twitter.com/sorressean>
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-
> unsubscribe at freebsd.org"
>


More information about the freebsd-questions mailing list