Subject: Re: boot block help
To: Kelly Hornsby <hornsbyk@worldnet.att.net>,
From: Chuck McManis <cmcmanis@mcmanis.com>
List: port-vax
Date: 07/06/2000 18:09:45
Assuming you are using the 'cdimage.iso' image from the ftp.netbsd.org site 
then your technique is not flawed, the product is. The CD, while it does do 
an install, doesn't produce a usable system. I've tried it on four 
different configurations and they have all failed.

To "recover" you can, if you choose, get 'boot' and 'netbsd' from the 1.5A 
snapshot (netbsd is in kern.tgz and boot is in base.tgz) put these on a CD, 
and then boot the CD, mount the hard disk, put the CD with the new versions 
of boot/netbsd in it, then copy them on to the hard disk and reboot.

1.5A appears to be really buggy so far. Things have been breaking left and 
right and even the build won't work. I'm hoping we haven't entered a state 
yet where the system needed to build the system can't be run on all 
configurations. I just finished re-installing NetBSD 1.4V on my 3100/M76 
and am now setting up a "local cross compile" (building the 1.5 tool chain 
into their own directory and then building the system with that tool 
chain). It will be a day or two before I know if it will work.

In 1.5A and friends the new booter looks for 'netbsd.vax' first (that is 
why you get the 'nfs_mount: not mounted' error the first time when it 
doesn't exist.

At 08:50 PM 7/6/00 -0400, Kelly Hornsby wrote:
>Where is a good tutorial on how to write miniroot and boot blocks under
>NetBSD?

If you find one let me know, I've figured out most of it the hard way. 
Matt's changes to the system to even _build_ the miniroot have been great. 
This is what I do know:
         1) The miniroot is build in src/distrib/vax
         2) the install kernel (src/sys/arch/vax/conf/INSTALL) is built to 
mount
            root from an internal ram disk.
         3) When 'netbsd.ram' is built, the install kernel is used and the
            miniroot fs is "injected" into it. When this kernel boots it
            runs completely from memory.

The thing that loads stuff off disk (the "second stage boot") is in 
'xxboot' which is built in src/sys/arch/vax/boot.

>  Or what files to store there, for that matter?

Actually the miniroot consists mostly of a "super command" and a bunch of 
links to it.

>    I want to try to
>write the miniroot and boot blocks to see if I can debug this thing.  I get
>the banner just fine (>>NetBSD/vax boot[DATE] and autoboot timer) which is
>miniroot (I think), but I cannot figure out how to tell the OS to use netbsd
>on dka0 and to start up completely.

The problem in this case is that boot and netbsd won't boot. You can fix it 
as above, however don't let me dissuade you from going this route, it is 
very instructive.

>Help!  Any wizards in this list to give some advice or pointers?

Not a wizard, but I am starting to have a few scars of note :-)

--Chuck