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