[Bug 978593] New: EFI fails to load up the grub2 image erroring out on snapshot path
http://bugzilla.suse.com/show_bug.cgi?id=978593 Bug ID: 978593 Summary: EFI fails to load up the grub2 image erroring out on snapshot path Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Bootloader Assignee: jsrain@suse.com Reporter: tchvatal@suse.com QA Contact: jsrain@suse.com Found By: --- Blocker: --- After current clean Tumbleweed install efi fails to load up the grub2 menu. It tries to load it somewhere from snapshot and such file is not present. This computer has direct access to efi files and if I by hand select grub.efi file on the drive it loads up properly. (screenshot of the error will be attached). Fstab of the system: UUID=42ef9dda-9378-4c69-bbb9-540d8b8128db swap swap defaults 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 / btrfs defaults 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /boot/grub2/i386-pc btrfs subvol=@/boot/grub2/i386-pc 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /boot/grub2/x86_64-efi btrfs subvol=@/boot/grub2/x86_64-efi 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /opt btrfs subvol=@/opt 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /srv btrfs subvol=@/srv 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /tmp btrfs subvol=@/tmp 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /usr/local btrfs subvol=@/usr/local 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /var/crash btrfs subvol=@/var/crash 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /var/lib/libvirt/images btrfs subvol=@/var/lib/libvirt/images 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /var/lib/mailman btrfs subvol=@/var/lib/mailman 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /var/lib/mariadb btrfs subvol=@/var/lib/mariadb 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /var/lib/mysql btrfs subvol=@/var/lib/mysql 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /var/lib/named btrfs subvol=@/var/lib/named 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /var/lib/pgsql btrfs subvol=@/var/lib/pgsql 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /var/log btrfs subvol=@/var/log 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /var/opt btrfs subvol=@/var/opt 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /var/spool btrfs subvol=@/var/spool 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /var/tmp btrfs subvol=@/var/tmp 0 0 UUID=5a0b5b07-f0da-40f4-9993-1cf094d5c7b7 /.snapshots btrfs subvol=@/.snapshots 0 0 UUID=5312-C90E /boot/efi vfat umask=0002,utf8=true 0 0 UUID=005d3151-b79e-435c-bcad-9d0304f53a9a /home xfs defaults 1 2 elitebook:~ # efibootmgr BootCurrent: 0000 Timeout: 0 seconds BootOrder: 0000,0001 Boot0000* Notebook Upgrade Bay Boot0001* Notebook Hard Drive Boot0002* Notebook Hard Drive Boot0003* USB Hard Drive 1 - Alcor Micro Mass Storage Device Boot0004* SD Card Boot0005* opensuse -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c1 --- Comment #1 from Tomáš Chvátal <tchvatal@suse.com> --- Created attachment 675706 --> http://bugzilla.suse.com/attachment.cgi?id=675706&action=edit grub-error.jpg -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 Tomáš Chvátal <tchvatal@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|jsrain@suse.com |mchang@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c3 --- Comment #3 from Tomáš Chvátal <tchvatal@suse.com> --- grub2-install does not report any errors either. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c4 Michael Chang <mchang@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tchvatal@suse.com Flags| |needinfo?(tchvatal@suse.com | |) --- Comment #4 from Michael Chang <mchang@suse.com> --- Would you please help providing these files 1. yast2 logs 2. /etc/default/grub 3. /boot/grub2/grub.cfg 4. /boot/grub2/x86_64-efi/load.cfg Thanks. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c5 --- Comment #5 from Tomáš Chvátal <tchvatal@suse.com> --- Created attachment 675741 --> http://bugzilla.suse.com/attachment.cgi?id=675741&action=edit etc-default-grub -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c6 --- Comment #6 from Tomáš Chvátal <tchvatal@suse.com> --- Created attachment 675742 --> http://bugzilla.suse.com/attachment.cgi?id=675742&action=edit grub.cfg -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c7 --- Comment #7 from Tomáš Chvátal <tchvatal@suse.com> --- Created attachment 675743 --> http://bugzilla.suse.com/attachment.cgi?id=675743&action=edit load.cfg -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c8 Tomáš Chvátal <tchvatal@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(tchvatal@suse.com | |) | --- Comment #8 from Tomáš Chvátal <tchvatal@suse.com> --- Created attachment 675744 --> http://bugzilla.suse.com/attachment.cgi?id=675744&action=edit yast-logs.tar.bz2 Hopefully thats all you need :) -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c9 --- Comment #9 from Michael Chang <mchang@suse.com> --- Hi Thmas. Thanks I am now investigating .. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c10 Alexander Graf <agraf@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |agraf@suse.com, | |glin@suse.com, | |ihno@suse.com, | |jeffm@suse.com, | |ohering@suse.com, | |snwint@suse.com --- Comment #10 from Alexander Graf <agraf@suse.com> --- We've stumbled over an issue that looks very similar to this one, so let's hijack this bug in the hope that it really is the same problem. I see 2 issues overlapping themselves here. 1) Btrfs naming --------------- I had a quick chat with Olaf who ran into a similar issue with Xen's pvgrub. The basic problem boils down to difference between upstream grub2 btrfs handling and SUSE grub2 btrfs handling. While upstream uses full path names including the subvolume id: /@/boot/grub2 we omit the subvolume id and directly use a relative path into some default subvolume: /boot/grub2 This leads to a number of problems. In this case, it means that grub2-install puts the upstream style path into the prefix template in grubaa64.efi while our btrfs driver code expects the downstream style path. In the pvgrub case, it means that grub2 compiled from upstream sources can't read our grub.cfg properly, since the paths don't match. I guess this warrants a new bug id though and we should leave this bug to the yast2-bootloader issue that secure boot should be disabled on AArch64. 2) removable media binary To support systems that don't have working NVRAM to store EFI boot entries, I added code that determines we're running on such a system and in that case writes grub2 in the default EFI\BOOT\BOOTAA64.efi path: https://github.com/openSUSE/perl-bootloader/commit/bfd36e38188ccfbb737ffe57d... That code however gets invoked during installation without /sys mounted, so the heuristics fail and we always create a removable fallback binary. The net result of this is that you get a removable media bootaa64.efi (or bootx64.efi) which has a default btrfs path embedded that doesn't work because our btrfs paths look different. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c11 --- Comment #11 from Michael Chang <mchang@suse.com> --- I think the major reason contributed the issue here is that you have to make sure grub2-install running after /etc/default/grub settings are all set. It's not only for btrfs path scheme but also for the disk cryto and distributor settings (yes, grub2-install actually some read settings from /etc/default/grub). The pbl script may get run from package post script before /etc/default/grub is written by yast. And yast did not install the loader with the same '--no-nvram --removable' so that it didn't get corrected by yast. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c12 --- Comment #12 from Michael Chang <mchang@suse.com> ---
That code however gets invoked during installation without /sys mounted, so the heuristics fail and we always create a removable fallback binary.
It's likely efivarfs.ko not there ..
The net result of this is that you get a removable media bootaa64.efi (or bootx64.efi) which has a default btrfs path embedded that doesn't work because our btrfs paths look different.
I think yast2 bootloader should also put that pbl logic to invoke grub2-install to get everything consistent. That pbl script may invoke too early before /etc/default/grub get correctly written by yast. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c13 --- Comment #13 from Alexander Graf <agraf@suse.com> --- (In reply to Michael Chang from comment #12)
That code however gets invoked during installation without /sys mounted, so the heuristics fail and we always create a removable fallback binary.
It's likely efivarfs.ko not there ..
I'm definitely happy to receive ideas on how to find out :)
The net result of this is that you get a removable media bootaa64.efi (or bootx64.efi) which has a default btrfs path embedded that doesn't work because our btrfs paths look different.
I think yast2 bootloader should also put that pbl logic to invoke grub2-install to get everything consistent. That pbl script may invoke too early before /etc/default/grub get correctly written by yast.
Yes, but that won't fix everything just yet. If we implement the same logic in yast2-bootloader, then we fix up the removable case. But for "normal" EFI systems that have working NVRAM, we would still be as broken as before. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c14 --- Comment #14 from Michael Chang <mchang@suse.com> --- (In reply to Alexander Graf from comment #10)
1) Btrfs naming ---------------
(Sigh) This is actually bothering me all the time, and I think even we need a new bug separated from this one.
I had a quick chat with Olaf who ran into a similar issue with Xen's pvgrub.
The basic problem boils down to difference between upstream grub2 btrfs handling and SUSE grub2 btrfs handling. While upstream uses full path names including the subvolume id:
/@/boot/grub2
Yes, upstream use this relatively straight path scheme so that btrfs could be treated like any other filesystems as if no subvolumes there ..
we omit the subvolume id and directly use a relative path into some default subvolume:
/boot/grub2
We need to support booting into snapshots and also rollback via btrfs-set-default so that relative path in a subvol is more straightforward as you could switch different subvols to boot without changing the grub.cfg. But the downside is also it's boot file could be varied by your subvol which is ambiguous to know where it really located from the config at times (unlike the absolute path scheme is always obvious). And also to access files outside the subvol is an issue, currently we use btrfs-mount-subvol to get a subvol in a path. In short it's more headache to get your config correct than absolute path. It's hard really hard, because upstream has settled with absolute path scheme and wouldn't allow it to break. :(
This leads to a number of problems. In this case, it means that grub2-install puts the upstream style path into the prefix template in grubaa64.efi while our btrfs driver code expects the downstream style path.
The path is controlled by SUSE_BTRFS_SNAPSHOT_BOOTING="true|false" (default false) and will affect grub2-install and grub2-mkconfig.
In the pvgrub case, it means that grub2 compiled from upstream sources can't read our grub.cfg properly, since the paths don't match.
My only suggestion is disable btrfs snapshot booting and SUSE_BTRFS_SNAPSHOT_BOOTING=false to use upstream path scheme. Sorry I don't have solution to satisfy both ends. Thanks -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c15 --- Comment #15 from Michael Chang <mchang@suse.com> --- (In reply to Alexander Graf from comment #13)
But for "normal" EFI systems that have working NVRAM, we would still be as broken as before.
Why? Wouldn't the "normal" EFI systems covered by that check as well ? (ie it will not append --no-nvram --removable) -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c16 --- Comment #16 from Alexander Graf <agraf@suse.com> --- (In reply to Michael Chang from comment #15)
Why? Wouldn't the "normal" EFI systems covered by that check as well ? (ie it will not append --no-nvram --removable)
Exactly, so for the "normal" systems nothing changes over today's state. We still have a broken removable file because pbl installed it, so if we end up in the fallback case for whatever reason (nvram invalidated in between executions, wrong boot order configured manually, etc) we still boot the wrong one. In my case, I usually end up with the removable fallback because I use qemu's -bios option which treats all nvram variables as volatile, so after a reset they're gone. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c17 --- Comment #17 from Michael Chang <mchang@suse.com> --- (In reply to Alexander Graf from comment #13)
(In reply to Michael Chang from comment #12)
I'm definitely happy to receive ideas on how to find out :)
On installed system I see efivarfs.ko was loaded as module, but during installation it was just not there (lsmod |grep efi). And /sys/firmware/efi/efivars is emtpy folder. Maybe should check for /sys/firmware/efi/vars instead? This old interface seems to be kernel builtin .. (but I am no kernel knowledge to tell that), -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c18 --- Comment #18 from Michael Chang <mchang@suse.com> --- (In reply to Alexander Graf from comment #16)
(In reply to Michael Chang from comment #15)
Why? Wouldn't the "normal" EFI systems covered by that check as well ? (ie it will not append --no-nvram --removable)
Exactly, so for the "normal" systems nothing changes over today's state. We still have a broken removable file because pbl installed it, so if we end up in the fallback case for whatever reason (nvram invalidated in between executions, wrong boot order configured manually, etc) we still boot the wrong one.
Maybe as a temporary fix we should check for ARM patform in that pbl patch (or even yast in the future), we should leave that default efi loader in x86 hanldled by shim's fallback mode (ie shim-install). It's even more hard to say as an analogy to mbr whether we should "update" that file or not from our system. It maybe owned by other distro, much more likely on x86.. It should really be an option for x86 but I think ARM is fine with that.
In my case, I usually end up with the removable fallback because I use qemu's -bios option which treats all nvram variables as volatile, so after a reset they're gone.
The vars are store in ESP, IIRC, as file name /NvVars to be restore during OVMF booting. But that's a hack indeed. (And I don't know whether it's also the case for ARM). -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c19 --- Comment #19 from Alexander Graf <agraf@suse.com> --- (In reply to Michael Chang from comment #18)
(In reply to Alexander Graf from comment #16)
(In reply to Michael Chang from comment #15)
Why? Wouldn't the "normal" EFI systems covered by that check as well ? (ie it will not append --no-nvram --removable)
Exactly, so for the "normal" systems nothing changes over today's state. We still have a broken removable file because pbl installed it, so if we end up in the fallback case for whatever reason (nvram invalidated in between executions, wrong boot order configured manually, etc) we still boot the wrong one.
Maybe as a temporary fix we should check for ARM patform in that pbl patch (or even yast in the future), we should leave that default efi loader in x86 hanldled by shim's fallback mode (ie shim-install).
I think if what you say is true, the best solution would be to just include efivars.ko in the installer system. Then the rest should resolve itself automatically, because we will detect the correct type of system again. Also, whether we use shim or grub2-install is completely orthogonal over whether we want to install the bootloader as --removable or not. Shim vs grub2-install is a software concept, NVRAM available or not is a hardware problem - some systems simply don't have any storage for it.
It's even more hard to say as an analogy to mbr whether we should "update" that file or not from our system. It maybe owned by other distro, much more likely on x86.. It should really be an option for x86 but I think ARM is fine with that.
In my case, I usually end up with the removable fallback because I use qemu's -bios option which treats all nvram variables as volatile, so after a reset they're gone.
The vars are store in ESP, IIRC, as file name /NvVars to be restore during OVMF booting. But that's a hack indeed. (And I don't know whether it's also the case for ARM).
Hm, if it's intended to work, it definitely did not work for me :). -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c20 --- Comment #20 from Michael Chang <mchang@suse.com> --- (In reply to Alexander Graf from comment #19)
(In reply to Michael Chang from comment #18)
(In reply to Alexander Graf from comment #16)
(In reply to Michael Chang from comment #15)
I think if what you say is true, the best solution would be to just include efivars.ko in the installer system. Then the rest should resolve itself automatically, because we will detect the correct type of system again.
There may be some misunderstanding here, the "efivars" seen already built-in in kernel while "efivarsfs" is a kernel module and not available in install system. At least from my test ls /sys/firmware/efi/efivars outputs nothing but ls /sys/firmware/efi/vars outputs plenty of files. In your patch it's testing /sys/firmware/efi/efivars ...
Also, whether we use shim or grub2-install is completely orthogonal over whether we want to install the bootloader as --removable or not. Shim vs grub2-install is a software concept, NVRAM available or not is a hardware problem - some systems simply don't have any storage for it.
OK. I think you're right here. I just want to highlight that shim also provide a similar "fallback" feature that will "restore" the boot entries if it was placed under default boot path (eg /boot/efi/BOOTX64.efi) to restore the missing boot entries after a firmware upgrade which may erase all entries. It will only get installed there if that path is not occupied. I am not really into this part of work (Gary did it) so wouldn't be able to say more about it so basically JFYI. :) Thanks. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c21 --- Comment #21 from Alexander Graf <agraf@suse.com> --- (In reply to Michael Chang from comment #20)
(In reply to Alexander Graf from comment #19)
(In reply to Michael Chang from comment #18)
(In reply to Alexander Graf from comment #16)
(In reply to Michael Chang from comment #15)
I think if what you say is true, the best solution would be to just include efivars.ko in the installer system. Then the rest should resolve itself automatically, because we will detect the correct type of system again.
There may be some misunderstanding here, the "efivars" seen already built-in in kernel while "efivarsfs" is a kernel module and not available in install system.
At least from my test
ls /sys/firmware/efi/efivars
outputs nothing but
ls /sys/firmware/efi/vars
outputs plenty of files.
In your patch it's testing /sys/firmware/efi/efivars ...
Yes, but the person pulling a change to perl-bootloader is the same person that would pull a change to the list of modules we include during the install phase. So changing it to efi/vars doesn't allow us to proceed any faster. The reason I chose efivars over efi/vars is that it's easier to identify that there are no variables. The efivars directory is simply empty if you don't have any efi variables available. The efi/vars directory always contains special files to modify entries. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c22 --- Comment #22 from Michael Chang <mchang@suse.com> --- Thanks .. so my understanding is To fix this bug, include efivarfs.ko in install system. To fix bsc#978157 (aarch64), fix yast2 bootloader by the same pbl logic. Is it correct ? Thanks. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c23 --- Comment #23 from Alexander Graf <agraf@suse.com> --- (In reply to Michael Chang from comment #22)
Thanks .. so my understanding is
To fix this bug, include efivarfs.ko in install system.
I think so, yes. At least for x86_64. For AArch64 we need to also put the pbl logic into yast2-bootloader.
To fix bsc#978157 (aarch64), fix yast2 bootloader by the same pbl logic.
To fix the other bug, we simply need to deactivate secure boot support for AArch64, since there we don't have any shim to install.
Is it correct ?
I think we're getting close: https://github.com/agraf/yast-bootloader/commit/3c5219575796c9316ab8d74f0638... https://github.com/agraf/yast-bootloader/commit/a133a4c66409a3174dc37f8b1818... What's left is the installer change. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c24 --- Comment #24 from Michael Chang <mchang@suse.com> --- (In reply to Alexander Graf from comment #23)
(In reply to Michael Chang from comment #22)
I think we're getting close:
https://github.com/agraf/yast-bootloader/commit/ 3c5219575796c9316ab8d74f06381308ee0feedd
https://github.com/agraf/yast-bootloader/commit/ a133a4c66409a3174dc37f8b18188a0fc38ed00e
What's left is the installer change.
Wow. You are really amazing quick! :) -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 Matthias Brugger <mbrugger@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mbrugger@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=978593 http://bugzilla.suse.com/show_bug.cgi?id=978593#c27 Josef Möllers <josef.moellers@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |josef.moellers@suse.com Resolution|--- |FIXED --- Comment #27 from Josef Möllers <josef.moellers@suse.com> --- Fixed, see comment#25 and comment#26. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com