Bug 769949

Summary: Perl-Bootloader problem during live installation
Product: [openSUSE] openSUSE 12.2 Reporter: Ismail Dönmez <ismail>
Component: YaST2Assignee: Michael Chang <mchang>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Critical    
Priority: P1 - Urgent CC: coolo, snwint
Version: FactoryFlags: coolo: SHIP_STOPPER+
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Screenshot of the error

Description Ismail Dönmez 2012-07-04 11:31:32 UTC
Created attachment 497395 [details]
Screenshot of the error

Tried to install from 12.2-HEAD KDE Live CD. Got the error in the attached screenshot.
Comment 1 Steffen Winterfeldt 2012-07-05 06:01:40 UTC
fixed in rc1

*** This bug has been marked as a duplicate of bug 769350 ***
Comment 2 Stephan Kulow 2012-07-05 19:22:14 UTC
I can reproduce this with openSUSE-DVD-x86_64-Build0016-Media.iso, which has the fix for #769350
Comment 3 Steffen Winterfeldt 2012-07-06 08:02:57 UTC
Now it fails here:

GRUB2.pm:
  sub InitializeBootloader {
      my $self = shift;
      my %glob = %{$self->{"global"}};
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Comment 4 Michael Chang 2012-07-06 08:32:45 UTC
Hi,

I checked download.opensuse.org, Where can I find the openSUSE-DVD-x86_64-Build0016-Media.iso?
Comment 5 Michael Chang 2012-07-06 08:38:05 UTC
Btw .. I did factory installation a couple of days ago on my UEFI testing, didn't see the issue (this should be common on grub2 and grub2-efi ) .. anyway I'll try to figure out why asap.
Comment 6 Michael Chang 2012-07-06 08:57:58 UTC
I think I know why .. grub2 2.0 had ditched device.map when running grub2-install
Comment 7 Michael Chang 2012-07-06 09:09:30 UTC
No! device.map completely gone, and grub2-mkdevicemap not found in grub2 2.0 anymore. :(

In perl-bootloader (me) made a decision to let grub2 generate device.map for us and disable the YAST to do that .. I'll try to enable it.

I'm wondering why can't find the issue ahead when upgrading 2.0 .. No idea .. perhaps my environment is not really clean. (Sigh) Sorry.
Comment 8 Steffen Winterfeldt 2012-07-06 09:11:43 UTC
Cloning grub1-test.pl for grub2 gives me the same error message when running the test suite:

# make test
cd perl-Bootloader-testsuite/tests/test_interface/ && make
make[1]: Entering directory `/wrk/git/pbl/master/perl-Bootloader-testsuite/tests/test_interface'
rm -rf fake_root*
cp -rf backup/fake_root1 .
cp -rf backup/fake_root2 .
mkdir -p Bootloader
cp -rf backup/fake_root1 .
cp -rf backup/fake_root2 .
perl -w grub2-test.pl
1..90
ok 1
Can't use an undefined value as a HASH reference at Bootloader/Core/GRUB2.pm line 1060.
# Looks like you planned 90 tests but ran 1.
Comment 9 Michael Chang 2012-07-06 09:47:32 UTC
Hi Steffen,

Is the issue cured by "touch /boot/grub2/device.map" ?
Comment 10 Steffen Winterfeldt 2012-07-06 10:35:33 UTC
Not sure. At least adding that file to the test suite doesn't help.
Comment 11 Michael Chang 2012-07-06 10:47:48 UTC
I'm quite convinced the cause is device.map missing, upstream has changed to not use them at all.

However our grub2 module still count on it to know, for example, native os device. I'm not trying if there's any other way to avoid them.
Comment 12 Steffen Winterfeldt 2012-07-06 11:11:25 UTC
I've done a real installation and creating device.map indeed helps.
Comment 13 Michael Chang 2012-07-06 11:19:03 UTC
Re-enable the code that receive and create the device.map proposed from yast, the test went fine. device.map

I'll sent the pull request to you later.
Comment 14 Michael Chang 2012-07-06 11:19:31 UTC
(In reply to comment #12)
> I've done a real installation and creating device.map indeed helps.

Thanks.
Comment 16 Stephan Kulow 2012-07-18 14:26:26 UTC
Ismail, do you still have the issue? I haven't heard from RC1 users with it
Comment 17 Ismail Dönmez 2012-08-22 10:06:21 UTC
This works now, closing as fixed.