Subject: learning lots of stuff ... Install Kernels
To: None <port-vax@netbsd.org>
From: Chuck McManis <cmcmanis@mcmanis.com>
List: port-vax
Date: 03/27/2000 21:32:13
Well I'm certainly learning lots of things, that is pretty fun.

This is what I've learned about the install process and the 1.4V system.

First, the INSTALL kernel file is woefully behind the times. It probably 
worked well on 1.4.x but isn't ok for 1.4n (aka 1.5 alpha). I copied the 
GENERIC file, modified it to have all the necessary INSTALL bits (like the 
ram disk) and built that kernel. Then I went off to /usr/src/distrib and 
did a make.

The first bug I encountered is that the top level miniroot directory is 
expecting netbsd.ram.gz but doesn't know how to make it. The vax/miniroot 
makefile at least knows how to make this file out of the install kernel. 
(which it expects in /usr/src/sys/arch/vax/compile/INSTALL).

I faked out the miniroot by copying netbsd from the INSTALL directory to a 
compressed file in $BSDOBJDIR/distrib/miniroot and that completed, although 
it creates a bogus miniroot.fs. I'm guessing that things are influx there.

Then the interesting stuff happens. We drop into vax/ramdisk and build a 
ram disk image. This initially fails because the old /etc/disktab doesn't 
have a 'ramdisk' type entry. Copied it from the new disktab and continued. 
Then it failed again because the new kernel with SCSI support and the new 
boot with SCSI support are too big to fit with the other stuff there. So I 
started upping the size until it fit.

I got close enough to an RX33 that I just set the size to 2400 blocks. Back 
to the INSTALL directory to modify the config file to set the ramdisk size 
to 2400 blocks.

I also discovered that the path to makeobsolete is busted, it has four 
(../) sequences and it needs only three. Simple fix.

Ok so the ramdisk built, the install kernel built, the ramdisk got stuffed 
into the kernel, the kernel got compressed and renamed to netbsd.ram.gz and 
put over on the miniroot.

Now vax/miniroot goes to create miniroot.fs by using vnconfig, which it 
does and it uses the 'rx33' type in the disktab file, but fails the newfs 
because, you guessed it, the rx33 disktab entry doesn't specify 'ta=4.2BSD' 
in it (preset the type to 4.2BSD) so you get 'device not configured' (which 
is a bogus error message anyway, are we sending ENXIO or something?) 
anyway, I fix that and it copies boot and this netbsd.gz into the 
miniroot.fs and it stops.

So for grins I try copying miniroot.fs to a TK70 tape and booting it. That 
doesn't work. I'm not sure why but the ROM just bombs out with a timeout 
error. So I decide to test the kernel with NFS/MOP and I put just netbsd.gz 
(the ramdisk version) and boot into a directory, point my DHCP server at 
it, and then netboot my VaxStation 3200. Nice as you please it boots and 
comes up in Sysinstall. Very cool. Everything seems to work too.

I'm still not sure how I'd make a bootable tape yet. Perhaps my block size 
or something is screwed up. I'll try rewriting the tape and see if it helps.

--Chuck

P.S. Todd, if you want me to ask CVS what files I've changed I can...