Bug 7307

Summary: Install uses wrong HDD for GRUB in USB stick install
Product: Mageia Reporter: Frank Griffin <ftg>
Component: InstallerAssignee: Mageia Bug Squad <bugsquad>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Normal Keywords: NEEDINFO
Version: Cauldron   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: CVE:
Status comment:

Description Frank Griffin 2012-09-03 14:02:21 CEST
If I install cauldron to a USB stick on a machine that has an internal HD, diskdrake correctly identifies the internal drive as sda and the stick as sdb.  However, the part of the install that creates the bootloader writes the GRUB menu.lst and install.sh with the "hd0" device in spite of the fact that I select "/dev/sdb" in drakboot during Summary.

The resulting system won't boot, as GRUB goes looking on the internal HD rather than the stick.

If you manually change the menu.lst and install.sh to use "hd1" in a rescue boot with a chroot to the USB stick /dev/sdb1, install.sh fails when run because the rescue environment disk number assignment doesn't match the eventual runtime environment.  However, with the source changes alone, the system installed on the stick will now boot fine.

The obvious solution is to use "hd1" in GRUB if the boot sector is being written on /dev/sdb(X), but the above introduces some doubt that the resulting install.sh will run correctly.  I'm not sure if GRUB has a "do as I say don't do as I do" option that would make this work.

I imagine this isn't specific to a USB stick, but would occur with multiple HDDs as well.
Comment 1 Manuel Hiebel 2012-12-09 13:05:45 CET
related to https://bugs.mageia.org/show_bug.cgi?id=7913 ?
Comment 2 Samuel Verschelde 2015-05-03 15:25:35 CEST
Is this still valid in Mageia 5RC?

Keywords: (none) => NEEDINFO

Comment 3 Frank Griffin 2015-05-20 14:29:51 CEST
I haven't tried this since.  It was part of an experiment to put a full working MGA system on a stick for use as a rescue tool.  I'm going to say it's probably fixed.  If it's not, and I ever get back to it, I'll open another bug.

Status: NEW => RESOLVED
Resolution: (none) => FIXED