On Friday 08 September 2006 15:21, Karsten Künne wrote:
Hi,
I try to configure the bootloader for SUSE 10.1 on a Sunfire X4100 with the following disk configuration:
2 SAS drives combined as a mirror via the SAS controller on SCSI id 0 2 other SAS drives on SCSI ids 2 and 3
[...]
Is that intentional behaviour and how can I get around it? Or is it just broken, in which case I can file a bug on bugzilla?
Answering my own mail. I believe I found a workaround. The problem seems to be that grub and the kernel don't agree on the device order. That means, grub booted from the disk and grub started from the system (the grub-shell) have different ideas which device the mirror should be. For grub booted from disk it's (hd0) but for the grub-shell it's (hd2). It's a mess and I don't know who's to blame for that. I tend to blame the mptsas driver by not numbering devices in the order of the SCSI-id.
Anyway, the following small chroot-script fixed the autoyast blunder for me:
<script> <chrooted config:type="boolean">true</chrooted> <filename>fixgrub</filename> <interpreter>shell</interpreter> <source><![CDATA[#!/bin/bash /usr/sbin/grub --batch <<EOT root (hd2,4) setup (hd2) quit EOT
]]></source> </script>
And in addition I had to create a menu.lst file which looks kinda sick but it works:
.... <section config:type="list"> <section_entry> <key>title</key> <value>Linux</value> </section_entry> <section_entry> <key>kernel</key> <value>(hd0,4)/vmlinuz root=/dev/sdc7 vga=normal console=ttyS0,9600 console=tty0 noresume showopts</value> </section_entry> <section_entry> <key>initrd</key> <value>(hd0,4)/initrd</value> </section_entry> </section> ....
It specifies (hd0,*) for grub but /dev/sdc* for the kernel.
Karsten.