When booting opensuse via rEFInd, the kernel options are wrong (the root device name is incorrect).
Where do the kernel arguments that rEFInd is using come from, and how do I modify them? The line I'm looking for is of the form
ro root=/dev/disk/by-id/ata-APPLE_SSD_SM768E_S119NYAC612 initrd=boot\initrd-3.7.xxx-default
The root
argument should be
ata-APPLE_SSD_SM768E_S119NYAC612130-part7
as that is where the SUSE root partition is. If I edit the boot options from the rEFInd menu (higlight the SUSE entry, hit F2, hit F2 again on the default entry) and modify the options to include the 130-part7
suffix, everything works fine. If not, Linux asks me:
Could not find /dev/disk/by-id/ata-APPLE_SSD_SM768E_S119NYAC612.
Want me to fall back to /dev/disk/by-id/ata-APPLE_SSD_SM768E_S119NYAC612130-part7? (Y/n)
I'd happily hit "Y" here and move on but, unfortunately, the keyboard doesn't work at this stage in the boot process. If I attach a USB keyboard, it works, but I really don't want to carry one around with me. (Perhaps there is a market for a one-key USB keyboard that can be programmed for these things. Dear God...)
So, I am left changing the options via the rEFInd menu every time I boot Linux.
I'd thought about adding a symlink directing ...612
to ...612130-part7
, but the links in /dev/disk/by-id/
are stored in tempfs (ie, not persistent). Also, that is a crappy solution.
Help?!