On Fri, Jul 25, 2008 at 09:08:52PM -0400, Pavel Roskin wrote: > > As for single drive installs, we could also encode the prefix in the > text form, like "(hd0,5)/boot/grub" and obsolete the numerical partition > data. That would make make_install_device() unnecessary.
On single drive installs we don't encode equivalent information; we set some variable to 5 and some variable to -1 (or was it -2?) which basicaly means: "partition 5, drive is the same you used to boot (and bios told you via %dx)" If we do that, it could happen that what we see as hd0 in userland is seen by BIOS as 0x81 -> hd1, hence breakage. > The only problem is that we should avoid hardcoding the drive. We need > a notation for partitions on the boot or the current drive, perhaps by > removing the drive name e.g. "(,5)/boot/grub" Ah; well, as explained above we do this already, just in a different way. > We could also use UUID for single-drive installs and fallback to the > partition prefix only if UUID is unsupported or the user requests not to > use UUID. Then it won't be a big deal if we hardcode the drive. Based on the rest of your mail I assume the goal you're pursuing here is deleting make_install_device(). The problem I see is that if you fallback when UUIDs are unsupported, you still need to have the code to handle the fallback case, even if it's rarely used. OTOH, since UUIDs are supported in all major FSs we have, I don't think it'd be such a big deal if we abort the install when they can't be probed. But then, this would need to be carefuly discussed IMHO, as it's a more radical change. -- Robert Millan <GPLv2> I know my rights; I want my phone call! <DRM> What good is a phone call… if you are unable to speak? (as seen on /.) _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel