Feature changed by: Jeff Mahoney (jeff_mahoney) Feature #308497, revision 84 Title: Update to GRUB v2 openSUSE-11.3: Rejected by Thomas Schmidt (digitaltomm) reject reason: 11.3 is already released Priority Requester: Important openSUSE-11.4: Rejected by Mindaugas Baranauskas (embar-) reject reason: I see, that with openSUSE 11.4rc2 was installed legacy GRUB (0.9x), not GRUB2 (I tested with KDE LiveCD). So I change from "Done" to "Rejected" Priority Requester: Important openSUSE Distribution: Evaluation by engineering manager Priority Requester: Important Info Provider: Jakub Rusinek (liviopl) Requested by: Jeff Mahoney (jeff_mahoney) Partner organization: openSUSE.org Description: Every single bug or feature that anyone has developed for GRUB 0.97 has been rejected by the upstream project in favor of using GRUB 2. There has been resisitence in the distribution community to switching boot loaders, but this stalemate isn't going to go away. The code itself isn't well written or well maintained. Adding a new feature involves jumping through a lot of hoops that may or may not work even if you manage to work around all the runtime limitations. For example, a fs implementation has a static buffer it can use for memory management. It's only 32k. For complex file systems, or even a simple journaled file system, we run into problems (like the reiserfs taking forever to load bug) because we don't have enough memory to do block mapping for the journal so it needs to scan it for every metadata read. (Yeah, really.) GRUB v2 has a cleaner design, is modular, and it has support for multiple architectures including i386, x86-64, and powerpc. Support for ia64 is said to be forthcoming. EFI support is already there. More importantly, it supports far more file systems and has native MD RAID and LVM support. Adding support for a new file system is much easier, cleaner, and has fewer limitations than with GRUB 0.97. Relations: - Support different linux installations in grub (feature/id: 311035) - switch to a UEFI-ready bootloader by default (feature/id: 311043) Business case (Partner benefit): openSUSE.org: * Supportability - upstream bug fixes and development community * Features - better fs support, native RAID and LVM support Discussion: #1: Robert Davies (robopensuse) (2009-12-12 14:11:06) The main issue with GRUB2 (trying it out with Kubuntu-9.10) seems that the simple text config file "/boot/grub/menu.list" is replaced by scripts in /etc/grub.d, so GRUB menu configuration is less obvious and more auto-magical. Changing order of entries, and customising the menu becomes indirect, though it would appear possible to "simply" use the 40_custom script and disable the other scripts, which handle entries for updated kernels. Altering kernel options is done in similar way to /etc/sysconfig files which allow setting of variables. YaST Bootloader module would need reworking to be focussed on option tweaks and listing installed kernels, and other OS's found. #2: Michael Löffler (michl19) (2010-02-10 18:30:51) Would we have a maintainer for GRUB2? #3: Jakub Rusinek (liviopl) (2010-02-10 19:22:36) Better appearance, localization... It's worth it. #6: Stephan Kulow (coolo) (2010-03-03 12:54:43) (reply to #3) are you willing to (co-)maintain it? #7: Jakub Rusinek (liviopl) (2010-03-03 13:54:08) (reply to #6) What do you mean exactly? That I could be in charge of packaging it? This is something I could do. Then it's easy to try using SUSE Studio :) . #8: Andreas Jaeger (a_jaeger) (2010-03-03 14:05:44) (reply to #7) I think Stephan points to http://lists.opensuse.org/opensuse-factory/2010-02/msg00186.html #9: Jakub Rusinek (liviopl) (2010-03-03 14:08:55) (reply to #8) So I have to test on my LiveDVD and if I have time, I will. #12: coly li (colyli) (2010-05-11 06:53:24) (reply to #6) I'd like to maintain or comaintain this package. I mean packaging and bug fixes, or new feature. In GSoC 2008, I have a little experience in GRUB 0.97. For GRUBv2, it's new code, anyway I still can show my love to her :-) #10: Robert H. Williams (robhwill) (2010-04-24 08:12:58) Hooray!! grub 0.97.......bye-bye!!! I look forward to this; I'm willing to type/format/post all documentation for grub2 for openSuSE. (Not a coder, but I'd like to help!) Take care. Have A Healthy, Prosperous Day! --- rob #11: Bayard Coolidge (n1ho) (2010-05-08 02:05:04) I would love to see it made available as long as it can boot existing systems on other drives; I installed Ubuntu to a 1TB USB drive, and it works fine under Ubuntu, but it won't boot Windows XP or openSUSE 11.2 that are already installed on the internal hard drives. #13: hernan thiers (faco84) (2010-06-01 15:37:30) I have seen a lot of people saying how difficult is to manage the boot loader with grub2 with those scripts and config files. Some Ubuntu 10.04 guys are missing grub 0.97. Anyway maybe it is still very new and people have to learn again this new tool. If the new features worths. #21: Nelson Marques (ketheriel) (2010-11-17 18:06:58) (reply to #13) Grub2 syntax is pretty much the same as bind, I don't find it difficult, in fact I find Grub2 far more flexible. But that's just me. The only drawback that I see if most likely YaST integration, that aside, there's no real reason for not using Grub2. #14: Mario Guzman (mgbz) (2010-08-03 00:23:56) GRUB2 FEATURES (beyond grub legacy). I don't bother with the /etc baloney. I have grub2 in it's own partition and edit the grub.cfg file and never have a problem. I don't use grub at all, only grub2. Would love to see the ancient grub replaced in OpenSuse. Check the problems it has solved for me, and there is much more. No need for separate /boot partition. Allows /boot to be in "/" Allows /boot to be in XFS or other non grub legacy filesystem Allows /boot to be in LVM managed space ADVANTAGES------------------------------------------------: Partitioning is far simpler If only using one /boot then no longer worry about filling up due to larger kernels etc. If using only one /boot then no longer an issue with multiple linuxes using the same /boot and getting needed kernels deleted due to yast maintenance of one partition. No need for multiple /boot partitions when multiple linuxes of the same version are on the machine. For instance a main and emergency/maintenance partitiion both using the same kernel. If one is updated the other stops working. Each linux can have customized /boot without worry of affecting other linux partitions. LVM can be used for all partitions. This allows resizing of paritions at any time. Far more flexibility Makes backups simpler since "/" contains /boot. Consider my scenario and see how GRUB2 saves the day-------: Disk 1 /boot (for 1 linux in case needed during install) /grub2 LVM Opensuse 11.2 primary " Opensuse 11.3 emergency/maintenance " Opensuse 11.3 for testing " common data " swap DISK2 /grub2 In case of any disk1 partition failure I can boot here. LVM Opensuse 11.1 BU I handle emergencies so the system must be reliable (I do also have a BU machine) " Opensuse 11.2 BU " Testsys " swap #15: Will Bickerstaff (wdbstaff) (2010-08-03 07:54:08) Grub2 is not particularly difficult to config, sure its more involved than 0.97, but then it is far more capable, if this is the only real concern, why not re-package/implement something like startup manager which handles the most common changes. Over at developerWorks theres a great article on Grub2: http://www.ibm.com/developerworks/linux/library/l-grub2/?ca=drs- #16: a23 d56 (a23d56) (2010-08-31 17:35:05) grub2 fails on my server config. don't force me to use grub2. let users who want grub2, choose it during install. #17: Markus K (kamikazow) (2010-10-28 02:38:44) Is GRUBv2 out of beta, yet? If no: Keep the buggy bleeding edge stuff to Fedora and Ubuntu #19: Nelson Marques (ketheriel) (2010-11-17 18:04:46) (reply to #17) There are tons of precedents (beta)? No? I can remember of nouveau for example. And Fedora most times ships with stabilized versions, not exactly the buggy the buggy stuff. Can't speak for Ubuntu. #20: Nelson Marques (ketheriel) (2010-11-17 18:04:46) (reply to #17) There are tons of precedents (beta)? No? I can remember of nouveau for example. And Fedora most times ships with stabilized versions, not exactly the buggy the buggy stuff. Can't speak for Ubuntu. #18: Glenn Doig (doiggl) (2010-10-29 06:10:12) grub2 is packaged at https://build.opensuse.org/package/show?package=grub2&project=openSUSE%3AFactory (https://build.opensuse.org/package/show?package=grub2&project=openSUSE%3AFactory) #22: Andreas Jaeger (a_jaeger) (2010-11-29 11:24:03) We've added grub2 as an alternative, missing is integration into perl- bootloader and yast. #23: Martin Seidler (pistazienfresser) (2010-12-31 20:28:25) (reply to #22) So in what extend is this feature "Done"? 1) Is it also planned to choose GRUB2 while installation (and maybe to drop LILO as an active alternative there)? If I have not missed anything I was not able to do this with 11.4 Milestone 4. I think it is inconvenient that you are able to see and boot any Microsoft system after 11.3's installation but not an other / most of the other usual Linux based systems if you install openSUSE after them. See also for that: - Andrea Müller: * Die Neuerungen von OpenSuse 11.3 (heise open, 2010/07/15) http://www.heise.de/open/artikel/Die-Neuerungen-von-OpenSuse-11-3-1038912.ht... (de) * What's new in openSUSE 11.3 (The H open, 2010/07/20) http://www.h-online.com/open/features/What-s-new-in-openSUSE-11-3-1039789.ht... (en) - Michael Kofler: Linux 2011 (Addison-Wesley) Page 1089 (de) 2) And to what extend is the integration of LVM and RAID supported (including documented) if I use openSUSE 11.4? (compare Kofler, p. 52, to the status on the end of 2010 with GRUB 0.97 versus GRUB 2 for this see: http://www.addison-wesley.de/media_remote/katalog/bsp/9783827330253bsp.pdf , de) #27: Martin Seidler (pistazienfresser) (2011-02-08 10:07:48) (reply to #23) See also: openFATE #311035 Support different linux installations in grub https://features.opensuse.org/311035 #24: Markus K (kamikazow) (2011-01-02 03:59:35) Grub 2.0 is still not even released. #25: Martin Seidler (pistazienfresser) (2011-01-19 11:43:11) (reply to #24) Nor is Grub 1.0 released (and probably will not ever be as GRUB legacy is not longer been developed). But what has this to do with a decision to use (or not to use) the actually GRUB (GRUB also called GRUB2, GRUB version 2 or today: the stable version GRUB 1.98 or the GRUB 1.99 Release Candidate 1 from 2011/01/16 see ftp://alpha.gnu.org/gnu/grub/) instead of the old and no longer actively developed version of GRUB (GRUB legacy also called GRUB 0.97)? #26: Rafael Belmonte (eaglescreen) (2011-02-04 23:34:09) Hello, I have installed OpenSUSE 11.4 Milestone 6 from the DVD, and grub 0.97 is which has been installed. #28: Glenn Doig (doiggl) (2011-02-12 05:46:40) Hello Just FYI A version grub-1.99~rc1.tar.gz was released [1] but thats for the future. I could not compile it in obs see full log [2] [1] - http://www.gnu.org/software/grub/manual/html_node/Obtaining-and-Building-GRU... - ftp://alpha.gnu.org/gnu/grub/ [2]https://build.opensuse.org/package/live_build_log?arch=x86_64&package=grub2&project=home% 3Adoiggl&repository=openSUSE_Factory {part of the log} mv -f tests/lib/.deps-core/functional_test_module- test.Tpo tests/lib/.deps-core/functional_test_module-test.Po gcc -Os - Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict- prototypes -g -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mno- mmx -mno-sse -mno-sse2 -mno-3dnow -fno-dwarf2-cfi-asm -m32 -fno-stack- protector -mno-stack-arg-probe -Werror -mrtd -mregparm=3 - ffreestanding -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 - fstack-protector -funwind-tables -fasynchronous-unwind-tables -static - m32 -Wl,--build-id=none -nostdlib -Wl,-N,-r,-d -o functional_test. module tests/lib/functional_test_module-functional_test.o tests/lib/functional_test_module-test.o gcc -DHAVE_CONFIG_H -I. - I.. -Wall -W -I../include -I../include -DGRUB_MACHINE_PCBIOS=1 - DGRUB_MACHINE=I386_PC -nostdinc -isystem /usr/lib64/gcc/x86_64-suse- linux/4.5/include -DGRUB_FILE=\"tests/example_functional_test.c\" -I. - I. -I.. -I.. -I../include -I../include -Os -Wall -W -Wshadow - Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict-prototypes -g - falign-jumps=1 -falign-loops=1 -falign-functions=1 -mno-mmx -mno-sse - mno-sse2 -mno-3dnow -fno-dwarf2-cfi-asm -m32 -fno-stack-protector - mno-stack-arg-probe -Werror -mrtd -mregparm=3 -ffreestanding - Wno-format -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack- protector -funwind-tables -fasynchronous-unwind-tables -MT tests/example_functional_test_module-example_functional_test.o -MD -MP -MF tests/.deps-core/example_functional_test_module- example_functional_test.Tpo -c -o tests/example_functional_test_module- example_functional_test.o `test -f 'tests/example_functional_test.c' || echo './'`tests/example_functional_test.c cc1: warnings being treated as errors tests/example_functional_test.c: In function 'example_test': tests/example_functional_test.c:30:3: error: too many arguments for format tests/example_functional_test.c:31:3: error: too many arguments for format make[3]: *** [tests/example_functional_test_module-example_functional_test.o] Error 1 make[3]: Leaving directory `/usr/src/packages/BUILD/grub-1.99rc1/grub- core' make[2]: *** [all] Error 2 make[2]: Leaving directory `/usr/src/packages/BUILD/grub-1.99rc1/grub-core' make[1]: *** [all- recursive] Error 1 make[1]: Leaving directory `/usr/src/packages/BUILD/grub-1.99rc1' make: *** [all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.Q1CvFh (%build) #30: Jeff Mahoney (jeff_mahoney) (2011-02-23 17:24:14) (reply to #28) This is not the place to post giant error logs. You should know that. #29: matthias propst (l1zard) (2011-02-23 16:40:20) Why we havve do make everthing what ubuntu is doing? i mean grub2 doesn't even provide features for most desktop users will ever need and its more complecated to admister. why not making our own improvements instead running after what ubuntu is doing. #31: Jeff Mahoney (jeff_mahoney) (2011-02-23 17:32:24) (reply to #29) What features do you mean? Handwaving doesn't help anyone. I'll address a few things: 1) I proposed the switch to GRUB v2 not because Ubuntu is (I honestly don't follow Ubuntu development), but because it addresses issues I've had with it for years. I will admit I'm not your average desktop user, but I'm pretty sick of having 3 extra partitions just to maintain two LVM-based openSUSE installs on the same desktop. (Two each for /boot, and one for grub chainloader so the installs don't mess with the other's /boot). It supports native RAID and LVM support as well as more file systems. 2) The GRUB maintainers have already stated that GRUB v1 is dead and refuse to continue to support it. Don't believe me? Try submitting a patch to them. I have. Before you suggest that openSUSE continue to support it, I suggest you figure out who is actually going to do the work for it. If any of the the other reasons aren't persuasive, this one had better be. 3) It offers a real pluggable infrastructure with better memory management. Ever try adding a file system to GRUBv1? It's a nightmare. The "memory management" is hard coding addresses and then assigning variables as pointers into offsets of those addresses. This makes bnc#538795 completely unresolvable using GRUBv1. 4) I believe the "more complicated" configuration will actually be less complicated in the end. AFAIK it allows for including files, etc, so things like perl-Bootloader will be drastically simplified. #32: Tim Edwards (tk83) (2011-03-22 12:43:04) (reply to #31) Exactly, grub1 is buggy and unmaintained and does not support features common on modern computers, such as the use of LVM partitions for booting. It's got nothing to do with whether Ubuntu does it or not. #35: Robert Davies (robopensuse) (2011-06-28 13:45:48) (reply to #29) Desktop users will care about the points mentioned - "EFI support is already there. More importantly, it supports far more file systems and has native MD RAID and LVM support". Maintaining a seperate /boot with files from multiple distro's using "exotic" filesystems becomes unnecessary. Mobo's with UEFI are now common. btrfs is one important filesystem, with it's copy on write & auto- defragmentation features, that are hard to support with alternative boot loaders. Finally GRUB2 is not Ubuntu distro project, because they use something does not mean Fedora & openSUSE should not also use it; suffering "Not Invented Here" syndrome would hold openSUSE back. #33: Felix Miata (mrmazda) (2011-04-25 12:47:11) I've been subscribing to bug-grub and help-grub mailing lists for several years. Grub2 remains usable only by Grub2 devs, a small handful of others who know how to read source code, and monobooters. Others familiar with Grub Legacy, multibooters mostly, who have had it foisted on them via *buntu routinely make their systems unbootable to anything but *buntu, if bootable at all. Grub2's documentation is virtually non- existent, very unfriendly to multibooters. Grub2 is so different from Grub Legacy it ought to have a different name. It's its own not-so-mini operating system, dependent on the OS from which it was installed, unlike Grub Legacy, which once copied to a partition on which "installed", never need reference any other partition for setup and configuration purposes. I like having a separate /boot partition, so much so that for each system I create one that never actually gets mounted as /boot, so that no installation or upgrade scripts will corrupt it. I maintain its menu.lst manually, copying stanzas from menu. lsts created by installers in /boot/grub directories on / partitions. Now I can do that, as well as use configfile stanzas. Once an OS gets Grub2 on its /, I will only be able to chainload to it, no more copy & paste stanzas or use configfile. I never much cared for the *buntu way of doing things. Grub2 makes me like it even less. I'm glad openSUSE tends to lag behind *buntu and Fedora WRT new technologies (e.g. 11.3's infant KMS), leaving others to suffer from development bugs and paradigm shifts until their number is greatly reduced. Let Grub2 get past v2.0, _and_ decently documented, before being abandoned by openSUSE, please! #37: hou ghi (houghi) (2011-07-03 08:27:19) (reply to #33) I think that a lot of people here will be not your average user. Easy use of menu.lst is very important to me and probably others as well. I would even say that if it becomes very hard to edit/change with grub2, it should be a no-no for openSUSE as one of their goals is to have easy configuration. So before this becomes default, a solution of easy of changing should be found. Otherwise going back to lilo sounds like a better solution. #34: Robert Xu (bravoall1552) (2011-04-25 19:12:29) I noticed that openSUSE's grub Legacy implementation is limited compared to Fedora's. For instance, Fedora already supports latest gcc and x86_64 arch in their grub patch. Maybe openSUSE should take some of these to remove already existing limitations? #36: Robert Davies (robopensuse) (2011-06-28 13:55:04) Perhaps it would be interesting to build Fedora flavour GRUB legacy and see if it integrates cleanly. Fedora however, installed by default with a seperate /boot partition and a large LVM partition; though they are changing this now I have read. Checking Fedora project, I find targetted for Fedora 16 - http://fedoraproject.org/wiki/Features/Grub2 The writer seems to make very similar case, as made by Jeff Mahoney in Fate here. #38: Ralph Ulrich (ulenrich) (2011-07-17 12:54:01) grub2 works for me on an efi mac mini using gpt-hybrid MBR with openSUSE-12.1-factory. I didn't try grub2-efi yet. Caveat: - There is yet a Perl:Bootloader script failing at every new kernel upgrade. That Perl package I am not able to purge off my system due to dependency issues. It is not necessary at all to update grub, if you have a correctly working /etc/grub.d/40Custom script using the boot/vmlinuz link. #39: Leonard Soukup (zeterian) (2011-07-31 06:18:23) Grub2 works fine for me with Sabayon. I have a tri-boot system with opensuse and win7 on separate disks. Just updated to the new 3.0 kernel in Tumbleweed, waiting for a grub2 update. Time to get it out there and fix any remaining issues. #40: Dinar Valeev (k0da) (2011-08-03 15:34:49) Just enabled ppc for Factory For me grub2 means common bootloader config for x86 and ppc (KIWI) + #41: Jeff Mahoney (jeff_mahoney) (2011-08-03 10:40:10) + This is set eval me, but I haven't had the time to work on it. If + someone can volunteer to do the integration and testing, I'll push to + 'ready.' Until then, it's in a holding pattern. -- openSUSE Feature: https://features.opensuse.org/308497