Can anyone point me to a description of the contents of the first 8 KB of a 
*bootable* SMI labeled x86 disk?  I looked at dklabel.h, but it's not 
especially informative.  A web search just told me things I already know.

I've got three 1 TB disks which form a 3 way mirror on s0 and a 3 disk RAIDZ1 
on s1:


The first 8 KB of  c0d0 and c0d1 disks are identically zeros.  I've run 
installgrub(8m) on all the disks.  However, it still fails to boot if I pull 
c0d0 (bad PBR)  or c1d1 (can't find rootpool).  All of the disks are 100% 
Solaris according to fdisk, so there is no DOS MBR on any disk and nothing at 
all in sector 0 on c0d0 & c0d1. 

The boot semantics imposed by MS-DOS require a bootstrap in the first sector of 
the disk.  I've not disassembled it, but a bootstrap seems clearly present on 
c1d1, but absent from c0d0 and c0d1.  There is the additional complication of 
the HP BIOS which makes a fuss any time any device is added or removed. I have 
no clue what it is up to and do wish I could make it stop.

When building such a configuration on OI, I create a DOS partition the size of 
the desired root pool and install into it.  I then create a 100% Solaris SMI 
label disk with the desired size s0 and the remainder of the disk in s1.  I 
mirror s0, detach the first disk, relabel it, reattach it, label and attach the 
3rd s0.  Then I create a RAIDZ1 pool using the s1 slices and migrate /export to 
the RAIDZ1 pool.  Tedious, but straight forward.  I developed the scheme to 
work around not being able to boot from a RAIDZ pool.

In this instance, the filesystem was migrated from my Ultra 20 4-5 years ago 
and then migrated to the mirror & RAIDZ model about 3 years ago. So a slightly 
different situation than my normal method of setting this up.  However, I've 
never had or simulated losing a disk from this setup.  So it appears that there 
are some details I've overlooked.  It will keep running if a disk fails, but it 
won't reboot.

My inclination is to copy the first two 4k sectors of c1d1 to c0d0 and c0d1, 
but I *really* don't want to make this any more work than it is.  I was quite 
surprised that a mirrored root pool would not boot if a disk was missing.

With regard to Till's comment .  Is there a clean example of starting up X11 
using twm, either using gdm or a console login?   I don't care as I only log 
out if I'm going to be out of town for several days.  But the last time I 
putzed with this, it was a "maze of twisty passages, all alike".  I found the 
same scripts being called multiple times.  I should like to note that I used to 
run dwm on one screen and twm on the other as a compromise with Motif and CDE.  
My reluctance to tackle this is not lack of ability, but a great unwillingness 
to waste so much time.  I just spent 20+ hrs getting VBox to install guests 
properly on Hipster because it just didn't feel like talking to the DVD most of 
the time and being abused as an idiot by the VBox forum admin who doesn't run 
Solaris and probably never has.

I should hope that the fact that I've been effectively booting Solaris 10 u8 
from a RAIDZ disk set is sufficient proof I have some measure of competence.  
It's a damn sight more elegant than adding a separate boot disk.

Color me frustrated and annoyed.


openindiana-discuss mailing list

Reply via email to