Devin.Teske at fisglobal.com
Thu Aug 1 18:20:38 UTC 2013
On Aug 1, 2013, at 10:58 AM, Teske, Devin wrote:
> On Aug 1, 2013, at 9:56 AM, Amitabh Kant wrote:
>> On Thu, Aug 1, 2013 at 10:13 PM, Teske, Devin <Devin.Teske at fisglobal.com> wrote:
>> 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...
>> 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?
>> Do you have any idea if there have an changes to bsdinstall process (on scripting side) in the upcoming 9.2 ?
> Beyond that... ( ok that's enough for this e-mail ).
More includes (for the advanced scripting -- again, tapping into what /usr/share/bsdconfig/script.subr provides), there are sub-directories in /usr/share/bsdconfig (but again, script.subr brings them all in):
media/ -- one file for each type of media (FTP, HTTP, HTTP Proxy, NFS, ... etc.)
networking/ -- scripts for getting, setting, and interactively modifying network
packages/ -- package management
password/ -- root password
startup/ -- rc.conf(5) and startup services
timezone/ -- like tzsetup
usermgmt/ -- user management stuff
Each of those includes a lot of low-level functionality but it's all documented very well.
That being said... there's one more avenue of scripting.
All of the bsdconfig(8) modules that act as front-ends to the above libraries.
Those are in /usr/libexec/bsdconfig -- and you can call those from your bsdinstall ``/etc/installerconf'' too.
# Example A
However, it's far easier to just say:
# Example B
For a list of keywords to the modules, say either:
Peruse the diagram (which is generated by "bsdconfig dot"):
The green parallelograms are the bsdconfig keywords, and the blue rectangles represent the modules (mousing over it will show the /usr/libexec/bsdconfig path in a tooltip).
> 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.
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