Make Release

Teske, Devin Devin.Teske at fisglobal.com
Thu Aug 1 16:43:49 UTC 2013


On Aug 1, 2013, at 9:14 AM, Sam Fourman Jr. wrote:

> one specific question I have, that I can't find in the handbook...
> To make a FreeBSD release, that is to build the install images... you build
> world, and kernel.. then go to /etc/src/release and type make release...
> after this, the release images show up in /usr/obj/usr/src/release
> 
> What I WANT to know.. is what shell script  or file can I edit, to modify
> the install image BEFORE its created... for example say I wanted to add a
> line to /etc/rc.conf on the memstick.img file that gets created
> 
> I understand that there may be better ways to accomplish this, but editing
> /etc/rc.conf is ONLY a example, im trying to find a simple way to create a
> "slightly" modified install media for my own internal purposes...
> eg: ssh enabled and the ethernet card set to DHCP, so I can remote
> install... I am aware of mfsBSD, as well as DruidBSD, however i'm looking
> for something simple that I can script.
> any help or thoughts is appreciated

I'm hoping that my very open development documentation on customizing the release(7) process for producing DruidBSD releases can help you out here.

I've documented much of the internals of the release(7) process (albeit, relevant to the RELENG_8 release(7) Makefile; in RELENG_9 it's still relevant to /usr/src/release/Makefile.sysinstall ... but I gather that much of the knobs may still exist in HEAD).

Have a read through this revision-controlled text file...

http://druidbsd.cvs.sf.net/viewvc/druidbsd/druidbsd/druid/dep/freebsd/patches/README?revision=1.2&view=markup

ALSO NOTE: Yes, the file is dated... it talks about cvsup instead of svn. My hope is that the doco can be a good starting point (even if the data is a bit dated).

In there, you'll find things like (relevant to RELENG_9):

make -f Makefile.sysinstall release \
                MAKE="/usr/bin/env CFLAGS=-DDRUID make" \
                CHROOTDIR=/usr/release EXTSRCDIR=/usr/src KERNELS_BASE= \
                NODOC=YES NO_FLOPPIES=YES NOCDROM=YES NOPORTS=YES \
                WORLD_FLAGS=-DWITHOUT_OPENSSL PATCH_FLAGS=-N \
                LOCAL_PATCHES=/tmp/druid.patches \
                LOCAL_SCRIPT=/tmp/local_script.sh |& tee release.log

Take special note of the "LOCAL_SCRIPT=" option.

Maybe, just maybe, the bsdinstall-specific release(7) process supports LOCAL_SCRIPT too. If it doesn't... why not?
-- 
Devin

_____________
The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you.


More information about the freebsd-questions mailing list