Bug#706112: debian-installer: Wheezy installer always install bootloader in /dev/sda
On Thu, Apr 25, 2013 at 09:33:01AM +0200, Gaudenz Steinlin wrote:
> Hi Vince
> > Please see my working (for me), tested, waiting-for-review patch 
> > sent to the -boot list yesterday.
> Do you know how the problem can be triggerd. As far as I remember only
> some installation from USB are affected and I don't know if the
> difference between those affected and those unaffected has ever been
> identified. If I know that I'm testing the right test case, I'm willing
> to try your patch.
As I try to explain in the patch it seems to me that the issue is this:
- the program tries to make an intelligent guess about which device the
installer is mounted on and avoid that device. But in the case of USB
sticks it is quite difficult to tell. There is discussion of this in
- in the 'while' loop starting at line 593 it typically asks the question
grub-installer/only-debian or grub-installer/with-other-os.
If it gets a 'true' ('yes') answer, it sets bootdev=$default_bootdev
and exits the loop with no further questions to the user.
If it gets a 'false' ('no') answer it should ask grub-installer/bootdev
ie give the user a chance to input the device name they want.
I'm assuming that this affects some installs and not others because there
are different enumeration orders on different systems.
It's entirely possible this patch is not the full resolution of the various
issues people have reported but I'm posting it to get feedback on the
approach and get some help with correctly integrating it into d-i.
It also needs tests on arches other than amd64/i386 and probably with
systems that require EFI.
Hope you can find time to apply the patch, build grub-installer and test.
I didn't rebuild the entire installer image when testing. I built the udeb
and after tasksel was done I scp'd it onto the test machine and installed
it with udpkg. I ran 'sh /usr/bin/grub-installer /target' on tty2, for some
reason I could not get it to work with the main menu on tty1.