Subject: step 3 towards boot and install CDs
To: None <tech-install@NetBSD.org>
From: Hubert Feyrer <hubert@feyrer.de>
List: tech-install
Date: 02/17/2006 00:54:48
As I've already outlined[1], NetBSD needs some better definition of what a 
"release" (or 'building a release') actually does/should do. Until we get 
there: I've tarred up my latest work on creating bootable ISOs with 
ramdisk-kernels (just as we have floppies right now) for i386 and amd64.

To prepare using:
  * cd .../src
  * build.sh release (not absolutely needed, see below)
  * ftp http://www.feyrer.de/Misc/bootcdV3.tgz
  * tar plzvxf bootcdV3.tgz

To build the kernel+ramdisk ISOs (similar to the boot*.fs we make 
now; doesn't need full 'build.sh release', but INSTALL_* kernels and 
$DESTDIR need to be there):
  * cd src/distrib/{amd64,i386}/floppy/bootcd* ; make obj ; make

To build a full "install" CD that has all the install sets (needs 
'build.sh release' done!):
  * cd src/distrib/{amd64,i386}/floppy/installcd ; make obj ; make

This has the separation that I've talked in [1], the bootcd*s can be 
done easily during 'build.sh release' (probably after some shuffling of 
directories :-), and the installcds can be done after a 'build.sh 
release'.

Future work that I see:
  * Share "make bootable ISO"-code between src/distrib/cdrom and
    src/distrib/${MACHINE}
  * Integrate building of src/distrib/${MACHINE}/bootcd* in 'build.sh
    release' (trivial)
  * Think more about the stuff that needs to be done after 'build.sh
    release' as outlined in [1], and make 'build.sh after-one-release'
    build either the single-arch install-CD from src/distrib/cdrom or
    from what's in src/distrib/{amd64,i386}/installcd right now
    (needs at least blessing from releng)
  * After that, either nuke src/etc's iso-image target from heaven,
    or make it run whatever the way to make an install-CD as described
    above does
  * Come up with a framework that builds a FULL release (including
    after-one-release stuff, and for ALL archs!), and make it wrap
    up sources and add a pkgsrc tarball (bits of this were discussed with
    releng before, with no real result; pie in the sky)

Way to go, NetBSD!


  - Hubert


[1] http://mail-index.netbsd.org/tech-install/2006/02/16/0002.html