20090720

HOWTO build debian-installer monolithic mini.iso on Debian GNU/kFreeBSD

I assume you are able to build BusyBox package.
If you don't, please refer to this post.

Create a working dir.
$ mkdir sandbox

Download the sources of the kfreebsd debian-installer (d-i) branch. From "sandbox"
$ svn co svn://svn.debian.org/svn/d-i/branches/d-i/kfreebsd
If you already downloaded them, simply update them. From "sandbox/kfreebsd"
$ svn update

Build kernel and modules udebs. From "packages/kernel/kfreebsd-kernel-di-i386"
$ ./debian/rules
$ dpkg-buildpackage -tc
This will create (among other files)
* kernel-image-7.2-1-486-di_0.1_kfreebsd-i386.udeb
* acpi-modules-7.2-1-486-di_0.1_kfreebsd-i386.udeb
Copy them into "installer/build/localudebs".

Build BusyBox (as described in the link above).
Copy the .udeb into "installer/build/localudebs".

Build rootskel udeb. From "packages/rootskel"
$ dpkg-buildpackage -tc
This will create (among others files) rootskel_1.80_kfreebsd-i386.udeb.
Copy it into "installer/build/localudebs".

Build netcfg udeb. From "packages/netcfg"
$ dpkg-buildpackage -tc
This will create (among others files) netcfg_1.50_kfreebsd-i386.udeb.
Copy it into "installer/build/localudebs".

Download
* dhcp3-client-udeb_3.1.2p1-1_kfreebsd-i386.udeb
* freebsd-net-tools-udeb_7.2-5_kfreebsd-i386.udeb
Copy them into "installer/build/localudebs".

Create the mini.iso. From "installer/build/"
$ su
$ make all_clean && make reallyclean && make build_monolithic

Test the resulting mini.iso. From "installer/build/dest/monolithic"
$ qemu -boot d -cdrom mini.iso


Update 20090723:
Reflect current status.

Update 20090723 2:
Link to more up to date udebs.

Update 20090803:
Link udebs of the progress report of week 10.