OpenSuse, XFS, Grub and upgrade errors

As many people may know, OpenSuse 10.3 will soon be going away. Many people have updated already to the 11.x series but there are a bunch of us that have been straggling behind.

We have a pretty good reason why we haven’t upgraded. It is also the reason why we are very leary of performing kernel upgrades. Basically, if there is a kernel upgrade, we have to have one of us on site in the data center because there is a good chance, close to 80%, that the box will NOT come back up after updating the kernel due to grub errors. Scary I know.

We’ve filed bugs, provided files, hell, we even have enterprise licenses for some of these boxes. Novell has been very little help. The OpenSuse people have been better, but even then there are 90 different bugs about this same issue that no one seems to be able to solve. The bug is that grub produces an error message during the kernel install that is ignored by Yast and an invalid boot file is produced. And then, the best part is that Yast encourages you to reboot in order for the changes to take affect. This is basically encouraging you to take the gun, point it at your foot and pull the trigger. Yeah you!

So, kernel upgrades go south for us. We know that. But why? We’ve never gotten a solution to this one. We thought it might be a driver issue or something just wrong, very very wrong with opensuse.

Well, I think that I have figured out why it does this and how to resolve it. If you install a fresh install of 11.x and try to format a /boot partition with XFS, you WILL get an error stating that it is not allowed. Ah HA! We used XFS for /boot on a LOT of our 10.x boxes. Maybe this is the key.

I performed the following upgrade tests:

Fresh 10.3 install with XFS /boot partition. Upgrade to 11.1. After reboot of updated packages: grub errors!

Fresh 10.3 install with EXT3 /boot partition. Upgrade to 11.1. After reboot of updated packages: clean boot, NO ERRORS!!!!!! WOOHOO!!!!

So, how can I get the 10.x servers upgraded without doing a fresh install?

Here is what I did.

Log into the box

become a privilidged user.

tar -cvf /boot.tar /boot

Go into Yast -> System -> Partitioner and format /boot to ext3

Exit Yast

cd /

tar -xvf boot.tar

run grub-install

Everything should install for grub with no errors. If it does, you’re golden to reboot your box and it should boot just fine. I did a test run of the reboot before rebooting again for the 11.1 upgrade.

I’ve only done this on a single IBM 3550. But I plan to roll this out to a lot more boxes later on this month as the 10.3 end of line draws near.

Hopefully this helps someone else out as I know that this has been driving me nuts for a while now. Good luck.

Matt Patterson avatar
About Matt Patterson
Husband, Father of 3, Programmer at heart, spends his days running ridiculously large data centers in the midwest.