Subject: Re: kernels on the restore CD
To: None <firstname.lastname@example.org>
From: Rowdy <email@example.com>
Date: 01/01/2006 11:42:38
> While trying to create a restore CD for 3.0, I have started poking
> around in the install scripts, and found an oddity.
> The script I am looking at is
> /nfsroot/install/scripts/install-core.sh. There is a function therein
> install_boot() that looks like this:
> It mounts /dev/wd0e, copies from the restore CD boot.gz (this is the
> one from Dennis' original restore CD), netbsd.gz (from the version of
> NetBSD being installed, in my case 3.0) and netbsd-GENERIC.gz (also
> from 3.0).
> Then it iterates thru the $RAQ_KERNELS list (vmlinux.gz
> vmlinux-nfsroot.gz vmlinux_RAQ.gz vmlinux_raq-2800.gz) and links each
> one to boot.gz.
> In the instructions.txt file, it notes that if the installation
> fails, you should manually boot, manually mount /dev/wd0e, and link
> each of the alternative names to netbsd.gz.
> Which is correct?
> After restoring from Dennis' restore CD, it seems that all kernels
> are linked to boot.gz, and the Qube boots. After restoring from my
> 3.0 restore CD, all the files are still linked to boot.gz (as per the
> install-core.sh script, above) but it does not boot.
> If I manually link all the alternative names to netbsd.gz, the Qube
> does boot (albeit tries to mount root from tlp0, but that is another
> To aid my understanding of the files in the /boot directory, is the
> following correct:
> boot.gz - created by Dennis(?) to boot a kernel called netbsd.gz
> vmlinux.gz - booted automatically by the Qube's firmware
> netbsd.gz - the NetBSD kernel
> If that is correct, then vmlinux.gz should be linked to boot.gz, and
> when the firmware loads vmlinux.gz (i.e. when it loads boot.gz),
> boot.gz should take over and start netbsd.gz.
Answering my own questions ...
boot.gz is the NetBSD cobalt bootloader that should be linked from
vmlinux.gz etc. and, when booted by the Qube firmware, attempts to load
/netbsd from wd0a (and then tries a few other names if that file could
not be found) (thanx to Dennis and manpage boot(8) circa Jan-2004).
The netbsd.gz in wd0e:/boot is just for convenience and is not actually
used, unless you interrupt the boot process and specify 'bfd
/boot/netbsd.gz', in which case it must conform to the firmware's size
So in theory the netbsd-GENERIC.gz should be able to be booted by the
boot.gz bootloader, and should be copied to /.
netbsd-INSTALL.gz is a stripped-down kernel intended for
installation/recovery purposes (comments by Tsutsui-san somewhere), and
for the purpose of a restore CD should not be required (but it might be
nice to copy it to wd0e:/boot as a sort of proto-emergency resort).
I suspect that the restore CD's suggestion to link vmlinux.gz to
netbsd.gz in wd0e:/boot is in case the boot loader fails for some
reason, then provided netbsd.gz in /boot is within the size limit (and
also matches wd0a:/netbsd) the Qube should boot.