Home_greyopenFATE - openSUSE feature tracking > #308497
Dashboard | Search | Sign up | Login

Please login or register to be able to edit or vote this feature.

Update to GRUB v2

Feature state

openSUSE Distribution
Done
openSUSE-11.3
Rejected Information
openSUSE-11.4
Rejected Information

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.

Current status:

  • grub2 is available as package in openSUSE 11.4 and newer. It can be used and tested.
  • TODO: perl-bootloader does not know about grub2 and thus after each kernel update a manual run of "grub2-mkconfig -o /boot/grub2/grub.cfg" is needed
  • TODO: yast2 does not know to setup grub2 as bootloader
  • TODO: Enhance grub2 package to make bootloader look nice (currently it's text only)
  • TODO: Is the above really all? If not add more ;)

Once all the above TODOs are done, we can make grub2 the default, volunteers for each step are welcome.

User benefit:

  • Supportability - upstream bug fixes and development community
  • Features - better fs support, native RAID and LVM support
  • Features - boot from iso files

Relations

Discussion


icons/user_comment.png R. D. wrote: (4 years ago)

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.

icons/user_comment.png M. L. wrote: (4 years ago)

Would we have a maintainer for GRUB2?

icons/user_comment.png J. R. wrote: (4 years ago)

Better appearance, localization... It's worth it.

icons/user_comment.png S. K. wrote: (4 years ago)

are you willing to (co-)maintain it?

icons/user_comment.png J. R. wrote: (4 years ago)

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 :) .

icons/user_comment.png A. J. wrote: (4 years ago)
icons/user_comment.png J. R. wrote: (4 years ago)

So I have to test on my LiveDVD and if I have time, I will.

icons/user_comment.png c. l. wrote: (4 years ago)

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 :-)

icons/user_comment.png R. H. wrote: (4 years ago)

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

icons/user_comment.png B. C. wrote: (4 years ago)

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.

icons/user_comment.png h. t. wrote: (4 years ago)

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.

icons/user_comment.png N. M. wrote: (3 years ago)

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.

icons/user_comment.png M. G. wrote: (3 years ago)

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

icons/user_comment.png W. B. wrote: (3 years ago)

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-

icons/user_comment.png a. d. wrote: (3 years ago)

grub2 fails on my server config. don't force me to use grub2. let users who want grub2, choose it during install.

icons/user_comment.png M. K. wrote: (3 years ago)

Is GRUBv2 out of beta, yet? If no: Keep the buggy bleeding edge stuff to Fedora and Ubuntu

icons/user_comment.png N. M. wrote: (3 years ago)

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.

icons/user_comment.png N. M. wrote: (3 years ago)

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.

icons/user_comment.png A. J. wrote: (3 years ago)

We've added grub2 as an alternative, missing is integration into perl-bootloader and yast.

icons/user_comment.png M. S. wrote: (3 years ago)

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.html (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.html (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)

icons/user_comment.png M. S. wrote: (3 years ago)

See also:
openFATE #311035
Support different linux installations in grub
https://features.opensuse.org/311035

icons/user_comment.png M. K. wrote: (3 years ago)

Grub 2.0 is still not even released.

icons/user_comment.png M. S. wrote: (3 years ago)

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)?

icons/user_comment.png R. B. wrote: (3 years ago)

Hello, I have installed OpenSUSE 11.4 Milestone 6 from the DVD, and grub 0.97 is which has been installed.

icons/user_comment.png G. D. wrote: (3 years ago)

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-GRUB.html#Obtaining-and-Building-GRUB
- 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)

icons/user_comment.png J. M. wrote: (3 years ago)

This is not the place to post giant error logs. You should know that.

icons/user_comment.png m. p. wrote: (3 years ago)

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.

icons/user_comment.png J. M. wrote: (3 years ago)

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 Bug #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.

icons/user_comment.png T. E. wrote: (3 years ago)

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.

icons/user_comment.png R. D. wrote: (2 years ago)

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.

icons/user_comment.png F. M. wrote: (3 years ago)

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!

icons/user_comment.png h. g. wrote: (2 years ago)

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.

icons/user_comment.png R. X. wrote: (3 years ago)

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?

icons/user_comment.png R. D. wrote: (2 years ago)

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.

icons/user_comment.png R. U. wrote: (2 years ago)

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.

icons/user_comment.png L. S. wrote: (2 years ago)

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.

icons/user_comment.png D. V. wrote: (2 years ago)

Just enabled ppc for Factory

For me grub2 means common bootloader config for x86 and ppc (KIWI)

icons/user_comment.png J. M. wrote: (2 years ago)

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.

icons/user_comment.png A. J. wrote: (2 years ago)

It's actually in the state "Marketplace" which means anybody can grab it. Sorry, we had to redefine this state somehow..

icons/user_comment.png J. B. wrote: (2 years ago)
icons/user_comment.png A. V. wrote: (2 years ago)

Even though I am far less interested in Ubuntu than in openSUSE I definitely keep it around in my multi-boot as it provides in a simple way grub 2 as the bootloader (skipping the use of grub 0.97 from openSUSE). One of the great features of grub 2 is using iso-files as a boot target. Let's hope grub 2 makes it into 12.2 so Ubuntu will become an option in stead of a prerequisite.

icons/user_comment.png A. J. wrote: (2 years ago)

grub2 will be in 12.1 - just not be the default.

icons/user_comment.png J. B. wrote: (2 years ago)

will it just work (tm)?
or will it come with stern warnings that users shouldn't use it?

cheers for the update.

icons/user_comment.png L. K. wrote: (2 years ago)

The main part is change yast bootloader module to support GRUB2. But i don't know if anyone is working on that.

icons/user_comment.png J. B. wrote: (2 years ago)

cheers for the update.

icons/user_comment.png I. N. wrote: (2 years ago)

The
12.1 portal currently lists "Grub2" under "Revamped Boot System", should this request be updated to reflect this?

icons/user_comment.png J. B. wrote: (2 years ago)

i sincerely hope so, if only because I am assuming that future upgrades to 12.2 would probably keep Grub1 if that is what was selected on 12.1.

icons/user_comment.png A. A. wrote: (2 years ago)

Does GFX support GRUB 2?

icons/user_comment.png R. B. wrote: (2 years ago)

Yast requires the "simplest default template" for Grub2 so even a new user can work with it.

Then, a user can edit the file like they can with Grub 1 using the KISS method.

icons/user_comment.png M. S. wrote: (2 years ago)

GRUB2 will be added as the default option for installation to factory (and so to the next snapshots and milestones).
Thanks a lot to Michael and all involved so far!

So let's test it to make it be part of the next release openSUSE 12.2!
Compare:
forums.opensuse.org/english/other-forums/news-announcements/tech-news/473140-opensuse-factory-grub2-default-bootloader-installation.html and
Michael Chang:
lists.opensuse.org/opensuse-factory/2012-03/msg00024.html

Regards
Martin

icons/user_comment.png M. S. wrote: (2 years ago)

Hopefully according to the messages in the mailing lists commit and factory I changed the status too: Validation. Regards Martin

icons/user_comment.png A. J. wrote: (2 years ago)

There's still work to do - let's set the state to implementation.

icons/user_comment.png M. S. wrote: (2 years ago)

Thanks, Andreas. Sorry.
By the way:
As far as I have followed the linked discussion on the mailinglist it is still not sure *if* GRUB2 will be implemented in openSUSE 12.2 (Final)
(or is it only unsure if it will be the *default* option ???).
http://lists.opensuse.org/opensuse-factory/2012-03/msg00027.html
Is there any definition to read that said what is the meaning of that states and which state follows which? For example
http://en.opensuse.org/openSUSE:Openfate_documentation#Detailed_definition_of_feature_attributes
does not mention these states and so gives me no clue about the meaning and workflow of these states.

Martin

icons/user_comment.png S. u. wrote: (2 years ago)

I hope this will resolve the boot loader below 128 GB issue.

icons/user_comment.png E. A. wrote: (22 months ago)

I personally find the benefits of grub2 overrated, compared to its unnecessarily complicated configuration. Just compare your mileage for booting into text console (runlevel 3 in old days) or SU-mode with grub and grub2. Then tell me, when your (or someone else's whom you need to help) PC is in trouble and won't boot because {X won't load, disc needs checkup, whatever} and you think it would help to boot to a simpler mode - you need to go through several pages of config file. If flexibility comes at cost of complexity its use is at least doubtful. Just my personal feeling. 99% of user cases wouldn't actually need grub2 or could easily(!) work its limitations around. Having an extra /boot partition is no big deal, all distros learned to create one at install time.

Last change: 17 months ago
Voting
Score: 201
  • Negative: 31
  • Neutral: 6
  • Positive: 232
Feature Export
Application-xmlXML   Text-x-logPlaintext   PrinterPrint