Wandering Thoughts archives


My feelings about GRUB 1 versus GRUB 2

I have been dealing with CentOS 6 recently (since I didn't give in to temptation), which has been an interesting experience. In many ways CentOS 6 is a real blast from the past, with all sorts of packages that I just don't use any more. One of those is that CentOS 6 still uses GRUB 1 (which is really just plain 'GRUB') instead of GRUB 2, which basically all of our other Linux systems use.

Boy was fiddling with the machine's boot configuration an eye-opening experience, in a good way. I've become so used to GRUB 2's insane level of complications and opacity that I'd forgotten how pleasant and simple GRUB 1 is by comparison. You have menu entries. They say things. Normally it boots the first menu entry. Your entire GRUB file probably fits on a screen (certainly if you have only one or two kernels and a 50-line xterm window). There is not a shell language in sight.

GRUB 2? Well, I was going to quote a bit of the start of one of our grub.cfgs, but it's way too long. You don't edit GRUB 2 config files, or even look at them; they are simultaneously verbose and opaque, generated by scripts (often scripts that leave you lies in comments). GRUB 2 has an entire Bourne shell like programming language (and the Bourne shell is not a good programming language), for what I'm sure is reasons that makes sense to the GRUB 2 maintainers. The result is the traditional new Linux pile of mud where you make any changes (very) indirectly, magic happens, everything is supposed to work, and if it doesn't you are up the creek.

In case it's not obvious, I don't particularly like GRUB 2. No doubt it helps someone, but on all of our machines it just complicates my life (and this includes my desktops and my laptop). Using the original GRUB again was a breath of fresh air, one that I'll now be sad to give up when I work on our other machines.

(I was going to say that some of the complexity of GRUB 2 grub.cfg files was partly the fault of distributions but no, this appears to be from a standard config builder that's part of GRUB 2 itself.)

PS: Even if GRUB 1 is still available and supported on our Linux distributions and our hardware, it is not worth fighting city hall on this issue (and then finding out all of the things that are undoubtedly broken despite GRUB 1 theoretically being supported). This nicely illustrates how you lose by an inch at a time and then wind up with an entire collection of sprawling mudpiles.

linux/Grub1VsGrub2 written at 00:02:14; Add Comment

Page tools: See As Normal.
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.