Feature changed by: Jeff Mahoney (jeff_mahoney) Feature #308497, revision 57 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: Done Priority Requester: Important Info Provider: Jakub Rusinek (liviopl) Requested by: Jeff Mahoney (jeff_mahoney) Product Manager: (Novell) Project Manager: (Novell) Engineering Manager: (Novell) 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: - switch to a UEFI-ready bootloader by default (feature/id: 311043) - Support different linux installations in grub (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. -- openSUSE Feature: https://features.opensuse.org/308497