Subject: Re: Removing SILO From A SPARCStation LX
To: None <port-sparc@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: port-sparc
Date: 05/21/2004 00:41:32
> I've got a SPARCstation LX which in a previous life had RedHat 5.2
> for SPARC installed on it.

> Alas, fool that I am, I also installed SILO on the MBR of the first
> SCSI drive.

Um, Sun disks - at least on Suns of that era - don't have MBRs.  They
don't even have anything very much like peecee MBRs (though for all I
know sparclinux may try to pretend they do).

Where SILO is hiding is a question I can't easily answer.  But I can
explain the boot process of a Sun (of that era), and you may be able to
figure out where SILO is hiding from that.

When you tell the machine to boot (perhaps implicitly), you must tell
it which partition to boot from (though this is often defaulted).  The
ROM code in the machine reads the first sector of the disk.  This is
the pack's label, and in particular it contains a partition table.  The
ROM code then reads sectors 1 through 15 of the partition you're
booting from (skipping sector 0, presumably in case the partition
begins at offset 0, since in that case sector 0 is the label sector).
The 7½K of data read from the disk is dumped into memory and called.
It is then responsible for loading anything further.  Under NetBSD,
this code loads the next stage boot program out of the root partition,
either by walking the filesystem to find it or by loading block numbers
hardwired at bootblock installation time, depending on the OS version.
Under NetBSD, this next-stage boot program is the first part that
normally prints anything; it loads the kernel and invokes it, and away
you go.

My guess would be that your boot blocks (sectors 1-15 of your boot
drive) are untouched from the sparclinux install, and either they
contain SILO themselves or they're loading SILO from elsewhere, some
"elsewhere" that didn't get overwritten during the NetBSD install.

I have a hazy memory that the installer didn't install bootblocks at
some revision about that time; that would very neatly explain the
symptoms you're seeing.  I'd suggest you boot to the installer, break
out of sysinst, and installboot the bootblocks by hand.  (I'd give
specific commands except that I don't know them for 1.6.2.  Once you're
up under the installer, you can mount your installed root filesystem
and chroot to it, and then use things like man(8) to read docs.)

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B