Subject: custom sysinst and iso building
To: None <tech-install@netbsd.org>
From: Eric Auge <eau@phear.org>
List: tech-install
Date: 06/01/2005 18:39:41
Hello tech-install,

I'm trying to build some custom installation CD, to allow me to 
build/use some "company-internal-release" of a minimized netbsd OS 
(having custom sets, custom partitioning, custom kernel, without all 
questions about partitions, etc..)

I'm currently hacking into sysinst, I'm starting to have some results, 
but more than this, I wish to do it the "standard","netbsd" way, clean 
and without "dirtying" the /usr/src/distrib machinery like i'm about to 
do/already done... any advices, docs ?

I'm also looking into doing some customized build process
that would only use my little changes (in sets, install program etc.) 
without altering the standard src building process...

I have seen some *.conf and *.mk files in /usr/src/distrib/cdrom/,
but don't really understand how to make use of them since that it
seems they provide a way to build some customized sets and isos

release building is a big engine, I'm discovering a bit,
and i wish to do well and good changes for my own needs,
that could be also used by the project (if possible, time,
clean enough of course, etc..).

here are my changes :

* FILE: i386/floppies/common/Makefile.ramdisk
[...]
.if defined(USE_MYINST)
.if ${USE_MYINST} != yes
LISTS+=	${DISTRIBDIR}/common/list.myinst.${USE_MYINST}
.else
LISTS+=	${DISTRIBDIR}/common/list.myinst
.endif
MAKEFS_FLAGS+= -f 14

* FILE: i386/floppies/common/dot.profile
if [-x /myinst ]; then
	myinst

* FILE: i386/floppies/ramdisk-big/Makefile
* FILE: i386/floppies/ramdisk-small/Makefile
* FILE: i386/floppies/ramdisk-tiny/Makefile
[...replaced...]
USE_SYSINST=yes
by
USE_MYINST=yes

* FILE: distrib/common/list.myinst
cp distrib/common/list.sysinst distrib/common/list.myinst
/usr/src/distrib/common/list.myinst :
[...]
PROG     myinst
SPECIAL  myinst srcdir distrib/utils/myinst/arch/${MACHINE}

# COPY ...
# COPY ...
# COPY ...


 From what I'm doing now :

cd /usr/src

./build.sh -u -R myrelease release

cd /usr/src/myrelease

mkisofs -o myrelease.iso -b i386/installation/floppy/boot-big.fs -c \
boot.catalog -l -J -R -L /usr/src/myrelease/

then qemu to test the freshly done ISO

hope you can enlighten me,
Best Regards,
Eric.