shithub: docs.9front.org

ref: 816cd76cbdfe5ac1b4caeb85f0231ef4a36294ef
dir: /kernel-iso.md/

View raw version
Building a kernel-only 9front ISO
=================================

In situations where PXE booting is not possible it can be useful to have
an ISO file containing just the 9front kernel for booting the machine and
having it continue with TLS/TCP mount of the file server.

It is assumed that file and auth servers have already been set up.

Start with a `plan9.ini` with parameters suitable for the target machine
and network.

`/tmp/plan9.ini`

	cdboot=yes
	bootfile=/amd64/9pc64
	auth=192.168.1.6
	fs=192.168.1.5
	user=moody
	bootargs=tls
	#
	mouseport=ps2
	monitor=vesa
	vgasize=1024x768x16

Create a `proto(2)` file describing the resultant ISO file tree:

`/tmp/9boottree`

	uid=sys
	gid=sys
	386	d775
		9bootfat	664
		9boothyb	664
		9bootiso	664
		mbr		664
		pbs		664

	cfg	d775
		plan9.ini	664

	amd64	d775
		9pc64	664

Populate the source file tree.  This could be done by copying only the
needed files into a temporary directory, but it is easier to reuse the
root filesystem, replacing any files that need replacing — `plan9.ini`
in this case:

	bind /tmp/plan9.ini /root/cfg/plan9.ini

Finally, build the ISO file with `disk/mk9660(8)`:

	disk/mk9660 -c9j \
		-B /386/9bootiso \
		-s /root -p /tmp/9boottree \
		-v 'Plan 9' kern.iso

Burn the resulting `kern.iso` to a suitable drive.