On installation of OpenSuse 12.2 RC 2, the root filesystem was on /dev/sda1, which changed to /dev/sde1 after connecting all my 6 harddisks.
(I had to do that, because the installer hangs if I have all harddisks connected, but disconnecting all other harddisks than the one I will install to, allowed me to install it.) So far, so good.
However, attemting to install the fglrx blob resulted in boot failure: I noticed that that installation failed because mkinitrd failed. On next boot, grub failed to read the initrd file - as I found out, it does not exist.
I am able to chroot into my root filesystem and run mkinitrd, but this fails:
# rootdev=/dev/sde1 mkinitrd -d /dev/sde1
Kernel image: /boot/vmlinuz-3.4.2-1-default'
Initrd image: /boot/initrd-3.4.2-1-default
Root device: /dev/sde1 (mounted on / as ext4)
Kernel Modules: thermal_sys thermal processor fan pata_sil1680 scsi_dh scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh_hp_sw usb-common usbcore pcmcia_core pcmcia mmc_core ssb ohci-hcd uhci-hcd ehci-hcd usbhid hid-logitech-dj
Features: acpi block usb resume.userspace resume.kernel
Perl-Bootloader: 2012-07-17 02:37:21 ERROR: Command '/usr/sbin/grub2-install --force --skip-fs-probe /dev/sda1 >/var/log/YaST2/y2log_bootloader 2>&1' failed with code 256 and output: /usr/sbin/grub2-setup: warn: Attempt to install GRUB to a partitionless disk or to a partition. This is a BAD idea..
Since /dev/sda1 is on the wrong harddisk, I assume that that’s the problem.
- How to persuade mkinitrd to install grub2 on /dev/sde1 instead, so I can boot my computer? (it didn’t honor my environment override, nor the -d option)
- How to permanently correct that setting, so mkinitrd will work automatically? ("/dev/sda" is not mentioned in any file under /etc, and
man 8 mkinitrd
does not mention config files)
PS: I am thankful that grub2 failed to install to the wrong harddisk.