OpenSuSE GRUB version, YAST, scripting

  • As recently as a month ago and long after 11.3 had been released, I’m finding Forum posts that state OpenSuSE is still using “Legacy GRUB” and not GRUB2. Supposedly any GRUB version later than 1.9 is supposed to be GRUB2.
  1. Is the current OpenSuSE GRUB (installed in 11.3) fully GRUB2 compliant or some kind of hybrid?
  • YAST has a reputation of over-writing manually modified configuration files. Reading the OpenSuSE GRUB documentation, I see at least a few files where manual configuration is mentioned as an option.
  1. Will YAST over-write GRUB manual configurations in general, especially where not explicitly mentioned in the OpenSuSE documentation?
    2a. Will YAST pick up and display manual configuration edits when the YAST GRUB Boot Configuration Utility reloads?
  • On other systems (notably Ubuntu), it looks like GRUB can be modified by files in a configuration directory similar to udev, where individual files are created to support specific functionality and are read into and executed in the order of the filename. On Ubuntu, the directory is located in /etc/grub.d/
  1. I don’t see a grub.d directory anywhere in OpenSuSE and the OpenSuSE documentation does not mention a similar architecture. Does this mean that a scripting environment needs to be manually invoked somehow? **Specifically, I’m trying to invoke the loopback command to mount a non-SCSI device before menu.lst is read. If anyone has an idea how to approach this I’d be grateful. ** I do see an “options” field in the YAST GRUB Boot configuration utility but nowhere is there documentation when such commands are executed (again, I need to invoke the Loopback command very early).

TIA,
Tony

openSUSE 11.3 still uses legacy grub. If you search on grub in your YaST / Software Management, you will find grub2, but you would be on your own in getting it to work. I would do lots of reading on how it works. There are grub2 recovery disks out there that can be helpful and I would download and make one to use.

Just a couple of other thoughts here. You can’t normally boot or load openSUSE from any drive not viewable or selectable from your BIOS setup. If a driver must be loaded first say from the kernel or even initrd, you must wait to use it until after openSUSE and your present kernel has loaded. An example of this would be USB 3 support. You can use a USB 3 drive in openSUSE 11.3, but you can’t boot from it or load any of the normal folders on it like / or /home or boot from this drive because it is not yet selectable from your BIOS.

Thank You,

Thx.

  1. IMO someone really dropped the ball with the SuSE GRUB versioning. It’s hard to unring a bell, but the current default version (1.97) universally (of course not including SuSE apparently) is considered GRUB2.

  2. According to my research, GRUB2 has been the official bootloader for a number of distros including Ubuntu since at least Sept 09 (15 months as of this writing). Would be curious why the reluctance with so much history and track record. It looks like some distros decided upgrading can be too risky and painful, so decided to make a clean break but carry forward support for legacy GRUB, the 11.3 release seems to have been a good opportunity if that strategy is adopted.

  3. I see now that a “Developmental Snapshot” GRUB2 is now available in the OSS repository that doesn’t replace legacy GRUB, but likely chainloads (first legacy, then points to v2). I guess I’ll have to install that and see what is in it, but I really wonder if I can expect complete documentation for a Developmental Snapshot.

Some of the reasons why I’m interested in GRUB2 is that it introduces a highly capable CLI environment, the ability to dynamically load LKM (Linux Kernel Modules) which otherwise would have to be precompiled (necessitating distributing custom kernels), the ability to load custom device drivers (although it seems to still be a tricky thing to load non-SCSI storage).

Tony

You might be interested in this
https://features.opensuse.org/308497

Right now, I have no reason to switch to grub2 or suggest to anyone to use grub2. Let Ubuntu work out the bugs and such and maybe it will be easier to use than it is now. And by that I mean to configure different OS’ to be loaded. At this point and time, there is only one thing that would cause a major shift and that is the usage of hard drives larger than two terabytes. Windows 7 does support a whole new partition that can use such drives and grub legacy does not. Until 3 TB drives become the norm I am not losing any sleep over it. Like all things, the grub legacy time will come to an end sooner or later. I am hoping for later right now. The decision by openSUSE to continue using grub legacy has been a good move in my opinion. Any thoughts otherwise suggests you do not understand what is going on with grub2.

Thank You,

Cool. Thx for the very interesting link. I wholeheartedly agree with everything mentioned in the posts. As for obsoleting menu.lst, everyone is going to have to start getting used to the fact that the single configuration file is going away. As I noted, udev already implements the same config architecture and there are several other examples in /etc/. Curiously, the same pain exists in the Windows world which with the introduction of Vista obsoleted the text boot menu file and introduced the bootloader database (Try that, you can’t get at a database without a database utility).

BTW - I just installed the OSS GRUB2 package, interesting according to the link the package has been available for only 3 weeks as of this writing… And, after briefly skimming the new files and directories I’m encouraged to find likely sufficient embedded comments to make it work – Kudos always to developers who write well-commented code.

Tony

Hi James,
I think after using GRUB2’s new features, you’re going to change your mind. It will open up new vistas in PXE, probably the first and most common benefit people will realize is the ability to dyanamically download (or otherwise access) needed hardware drivers and configure resources for I/O, networking, storage, memory and more without the need to precompile and distribute custom kernels for each and every varied piece of hardware. Those are all the kinds of things you want to have setup before the OS properly loads, not discover, re-compile and reconfigure later.

GRUB2 might be considered as much a step up as the move from x32 to x64, the question might have been when, not if the move to GRUB2.

IMO,
Tony