Subject: Booting has stopped working
To: None <port-i386@netbsd.org>
From: Alaric Snell-Pym <alaric+netbsd@snell-pym.org.uk>
List: port-i386
Date: 07/29/2004 08:54:46
My little NetBSD 1.6.1 system has stopped booting.

I had to reboot it because I was having trouble with a USB external disk 
- it would detect umass0, but not detect the SCSI bus, and I read that 
this was likely to mean that there wasn't enough contiguous memory to 
allocate the large transfer buffer required. This was quite likely, the 
machine having been running for ages.

So I rebooted... and it never got further than the "[ using XXXX bytes 
of netbsd ELF symbol table ]" thing. Which was, admittedly, in the 
colour I had compiled my kernel to use for console messages, so I know 
it's out of the boot loader and into the kernel.

"Ah", thinks I, "I've broken the kernel." So I boot from a boot floppy 
(which works fine), mount /dev/wd0a /mnt, chroot /mnt, and go rebuild 
the kernel and install it.

Exactly the same symptom when I reboot.

So I download a GENERIC kernel, as if installing from scratch.

Still no luck.

"My boot loader must be broken!", thinks I, so I do "installboot 
biosboot.sym /dev/rwd0a", but it's just the same.

I've tried using the boot loader on my boot floppy to load the kernel 
from the hard disk with the same problem.

SO it's a GENERIC kernel, being loaded from a known-good boot loader on 
the floppy (which loads the INSTALL kernel fine). But it won't even get 
to the copyright message.

What can this be? May my machine be having a problem with large kernels? 
Or is it the fact that the kernel is being loaded from disk - might I be 
hitting some limitation about the kernel being in the first N megabytes, 
that wasn't a problem before because my earlier kernels happened to end 
up below that limit, while this one doesn't?

It just freezing without an error message leaves poor me at something of 
  a loss. I've poked around in the kernel sources, but I can't find 
where the function (in ddb/db_elf.c) that prints the ELF symbol table 
message is actually called from, but I've traced from locore.s to the 
main function that ought to be outputting the copyright message (but 
isn't getting there).

Any tips, before I install on a blank disk and copy everything existing 
across?

ABS