Port-sparc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Booting on raid1 rootfs



Julian Coleman a écrit :
Hi,

        Hello,

Sorry for the delay, but I have had to fix some hardware issues before retrying to build this raid1 volume. One of my dual HyperSPARC module was defective.

Based on this output, the machine found the bootblock and second level
bootloader, but the second level bootloader wasn't able to find the
kernel.

On sparc32 (unless someone has changed things over the years) the first
level bootblock is a SPARC C+assembly language executable that has the
disk blocks containing the second level bootloader encoded in it.  It just
reads those disk blocks and jumps to the program it loaded.

The second level boot loader then walks the filesystem structures to find
the kernel.  It's this step that's failing.  My guess is that the sparc
bootloader is missing some bits from libsa that jump over the 64KB empty
space that raidframe leaves when looking for the ufs superblock.

This used to work OK on sun4, sun4c and sun4m [*].  As you point out, the
first level boot loader is working OK, and is loading the second level
boot loader.  Questions that come to mind are:

   how large is the RAID 1 boot partition and where does it start on the disk
   (see man boot for some PROM size limitations).

        I know this kind of limitations.

   is the kernel at the start of this partition (if it's larger than 1, 2, or
   4GB)?

        Yes, of course.

   did this disk previously contain a disklabel for a non-RAID installation
   (the previous disklabel might be confusing things)?

        I have erased previous disklabel with dd.

I have recreated raid1 volume from scratch and reinstalled bootblock on sd0c and sd1c. I don't understand where was my mistake, but now, bootblock can find netbsd kernel on rootfs.

        Best regards,

        JKB


Home | Main Index | Thread Index | Old Index