Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Jul 2002 10:47:20 -0400
From:      W Gerald Hicks <gehicks@gehicks.dyndns.org>
To:        "Manuel Kasper" <mk@neon1.net>
Cc:        freebsd-small@freebsd.org
Subject:   Re: Guide to reducing FreeBSD (a.k.a miniBSD :)
Message-ID:  <9C7B3796-8DCA-11D6-BBF1-0030657B5F1E@gehicks.dyndns.org>
In-Reply-To: <000201c221d2$4c50d5d0$8c7da8c0@CNMKA>

next in thread | previous in thread | raw e-mail | index | archive | help

On Tuesday, July 2, 2002, at 10:11 AM, Manuel Kasper wrote:

> Hey Jerry,
>
>> Very cool stuff!
>
> Thanks! I'll try your chroot method as soon as I get the time (so I will
> know what I'm talking about before I add it as an optional step to the
> guide ;). I did not yet bother to do anything like that because so far I
> have done all the hacking on my "miniBSD" on a separate hard disk.

I've got a work in progress here (-current based) that completely 
rethinks
the way a small BSD is built and moves the whole build process out of 
src/.

It patches config(8) in its local tree to provide a CONFDIR variable for 
the
kernel Makefile allowing us to replace any of the kernel build policies
implemented by kern.pre.mk, kern.post.mk, et al.

Also, a change to md(4) gets rid of the fixed-size character array 
hardcoded
into the kernel for an MD_ROOT image and allocates only as much space as
the filesystem actually requires.

PR kern/40017 and kern/40021 were the first versions of those patches;
I've done a few fixes and tweaks since they were posted for comments a
couple of days ago.

To make everything convenient, incremental linking of kernel+filesystem
is provided by a Makefile-driven build process.

If you like I can give you a preliminary snap.  It'll be ready for public
consumption as soon as I document it a bit (and incorporate your MiniBSD
setup :-).

> You mean I just
> make release PREFIX=/usr/local/release
> in my /usr/src and get a full installation in there? What do you think,
> would it also be possible to use the FreeBSD installation CD-ROM to do
> an installation in that subdirectory (by setting "Install Root" in
> sysinstall)? That would save the time of make world'ing...

The Makefile in /usr/src/release spells out the details of how to do it 
from
scratch.  Hm!  I've never used that nifty "Install Root" option.. Thanks!

(I build releases daily here on a cron job so I've always got one ready 
to go).

The Makefile I'm using alternatively allows the tactic of creating and 
using
a symlinked src/ directory to achieve much of the same effect without the
space requirements of a chroot system image.  Patches applied to a 
symlink
tree do not effect the "real" files behind the links.

Check out the symlink-tree script in src/*/binutils for a gadget to help 
with
creating such a tree.

Cheers,

Jerry Hicks

>
> Sorry for sending this to the list and not directly to Jerry -
> Jerry, I think your mail server does not like me:
>
>   gehicks@gehicks.dyndns.org
>     SMTP error from remote mailer after MAIL FROM:<mk@neon1.net>:
>     host gehicks.dyndns.org [66.20.181.84]: 550 5.0.0 Access denied

It's a dodgy replacement for my real system which finally died last week.
Guess I need to fiddle with the new setup a bit maybe :-)


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-small" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9C7B3796-8DCA-11D6-BBF1-0030657B5F1E>