LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > SUSE / openSUSE
User Name
Password
SUSE / openSUSE This Forum is for the discussion of Suse Linux.

Notices


Reply
  Search this Thread
Old 08-09-2014, 11:20 AM   #1
wroom
Member
 
Registered: Dec 2009
Location: Sweden
Posts: 159

Rep: Reputation: 31
openSUSE 13.1 and DELL PERC RAID controllers / install fail


Synopsis:
Installing openSUSE 13.1 on computer with a PERC raid controller fails at firstboot.
Workaround provided in this thread.
Bug was reported 2013-12-05 but they don't seem to bother with handling a critical bug?

I wanted to install openSUSE 13.1 with LXDE desktop on both a DELL PowerEdge 1800 tower server and a DELL PowerEdge 2850 blade server.

After refurbishing them, adding more memory and disks, upgrading firmware and BIOS, and running DELL Diagnostics, Memtest86+ and a simple burn in test being Debian Live PXE booted linux running a script compressing and uncompressing a large number of small files, thus loading both CPU and disk near 100% for some hours to see if anything breaks, it was time for installing openSUSE 13.1.

installing openSUSE from a local repository mirror, (including update mirror), is rather fast.
The installation went well up to the point where the system boots for the first time, after which the Yast first boot configuration should take place.

But then it didn't reboot. GRUB2 loaded as it should. Generic MBR pointing to first active boot partition, where GRUB2 loads and takes over the booting. Then it should fire up the system, but no, no...
It can't find the root partition. In fact it can't find the disks at all. This is despite the fact GRUB2 loaded fine from the same disk.

Since i have the boot option "splash=verbose" i can see it complains about "Could not find /dev/root", and repeatedly tries to find it with no luck.
If the boot option is splash=silent, (default), then pressing left arrow key gets rid of the lizard graphics and shows the console log, complaining about not finding the root partition.

after searching for the solution on the web for a while i found that the issue has to do with the PERC raid controller, and that the issues with "not finding /dev/root" at boot with the PERC controllers is an issue going some ten years back in time. Some different variants, but affecting all Linux distributions.
But what about the Debian Live? Well, the bug seem to be handled some years ago for Debian.

So what's new here for openSUSE 13.1? Well, it seems like the Yast installer trims away lots of stuff when making the initrd image. You know - Where all the necessary driver modules go so the system will boot properly. Earlier variant of this bug stems from the driver module megaraid being replaced by megaraid2. And after that because if was replaced again with megaraid_mbox. Then the installer gets confused by it booting with megaraid2, (or megaraid_mbox), but then udev tells it to put the driver module "megaraid" in the initrd image. Which of course fails, since it is not the proper driver for the hardware.

But in this case with openSUSE 13.1 installer the issue is it simply trims away all the modules from the initrd image when configuring the bootloader for the installed system.


This affects all the LSI/DELL PERC raid controllers. (Possibly also the CERC controllers)?

I have tested this with:
LSI/DELL PERC 4e/Di
LSI/DELL PERC 4/DC
LSI/DELL PERC 4/SC

And they all fail the first boot when installing openSUSE 13.1.

It affects both x86_64 and i586 versions of openSUSE, and no matter if running the install DVDs or by PXE booted net installer which i like to use.


The bug is reported. But doesn't seem to be solved?
https://bugzilla.novell.com/show_bug.cgi?id=853914

A workaround that solves the booting issue with some effort:

First, install openSUSE like usual. After the install is complete it will reboot and fail because it didn't get the driver modules needed for mounting the root partition.

Then reboot the system with a live linux system, like the rescue CD for openSUSE, or as i did, network boot Clonezilla Live and enter the command shell.

Make sure you are logged in as root. For Clonezilla Live, enter "sudo su -" to become root.

mount the root partition like:
Code:
mount /dev/sda2 /mnt
Then modify the file /mnt/etc/sysconfig/kernel.

Personally i hate the vi editor, and prefer using emacs, joe or any other decent editor, or even to use a head/tail/cat combo to modify a file.

There is a line in the file like:
Code:
INITRD_MODULES=""
Wow. It's empty! No modules are selected to be put in the initrd image. Not even the driver for our raid disk controller. (And not any display drivers or filesystems like reiserfs for that matter).

We must manually put in all the required modules to be loaded at boot into this config line.
Considering the PERC raid controller we need to put in megaraid_mbox in there. (Also reiserfs if we have a root partition formatted with reiserfs).

So we need to change the line to be:
Code:
INITRD_MODULES="megaraid_mbox"
Then we want to remake the initrd image to reflect the change we just did to /etc/sysconfig/kernel on our root partition.

Remember we previously mounted the root partition /dev/sda2 on /mnt to work with.
Now we need to "chroot" to be able to make the new, (now complete), initrd image, and also to reinstall the GRUB2 bootloader.

Proceed as follows:
Code:
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
Unless it complains about the above, proceed as follows:
Code:
chroot /mnt
mkinitrd
grub2-install /dev/sda
exit
After this, reboot the system and it should boot properly into the Yast first boot configuration, and thereafter work as it should.

We need to do the "mkinitrd" after changing the /etc/sysconfig/kernel file. Haven't bothered to check if "grub2-install" will do the "mkinitrd" automagically. Better to make sure.

The workaround should be permanent to that particular system since it is a permanent change of sysconfig that is then propagated to the boot code.

Interesting that the thread https://bugzilla.novell.com/show_bug.cgi?id=853914 claims that the bug belong to mkinitrd and then decided to do nothing.
Don't know what they where thinking about, since mkinitrd cannot "imagine" what's needed but not included in the sysconfig file. So the bug is still there, for what i know - In the openSUSE 13.1 installer system preconfiguration pruning away all the modules from the initrd image.

This thread will be marked as solved when the actual bug is taken care of.
 
Old 08-09-2014, 09:22 PM   #2
jefro
Moderator
 
Registered: Mar 2008
Posts: 21,978

Rep: Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624Reputation: 3624
Thanks for the problem and solution.

I've run Suse/Opensuse on a lot of of servers. Never had such trouble.
 
  


Reply

Tags
boot failure, opensuse, perc, raid



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Installing OpenSUSE11.2 on Dell Perc H310 RAID Controller yogesh_attarde Linux - Newbie 2 12-09-2013 05:53 PM
Bypassing RAID on Dell R710 with Perc 710 or 710P controller kayasaman Linux - Hardware 5 05-07-2012 08:03 AM
smartctl reports "DELL PERC controllers are not supported" kenneho Linux - Server 1 08-27-2009 11:08 PM
Dell Poweredge 2550 /Debian Lenny Install using PERC 5i RAID sefarlow Linux - Hardware 2 04-16-2009 03:41 PM
dell 2850 perc raid with 2.6 kernel johnw68 Linux - Hardware 10 08-16-2007 10:46 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > SUSE / openSUSE

All times are GMT -5. The time now is 12:07 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration