[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#613899: Prober does not add Grub 2 boot entries for OS's on SW RAID1 filesystems



Package: installation-reports

Boot method: Physical CD and Virtual CD (see below)
Image version: http://mirrors.secution.com/linuxmint.com/stable/9/linuxmint-9-lxde-cd-i386.iso
Date: c. 2/10/2011 to 2/17/2011

Machine: MSI 870-G45
Processor: AM3 Athon II dual core
Memory: 4 GB
Partitions: See below.

Output of lspci -knn (or lspci -nn):
00:00.0 0600: 1002:5957
00:02.0 0604: 1002:5978
00:0a.0 0604: 1002:597f
00:11.0 0106: 1002:4390
00:12.0 0c03: 1002:4397
00:12.1 0c03: 1002:4398
00:12.2 0c03: 1002:4396
00:13.0 0c03: 1002:4397
00:13.1 0c03: 1002:4398
00:13.2 0c03: 1002:4396
00:14.0 0c05: 1002:4385 (rev 3c)
00:14.1 0101: 1002:439c
00:14.2 0403: 1002:4383
00:14.3 0601: 1002:439d
00:14.4 0604: 1002:4384
00:14.5 0c03: 1002:4399
00:18.0 0600: 1022:1200
00:18.1 0600: 1022:1201
00:18.2 0600: 1022:1202
00:18.3 0600: 1022:1203
00:18.4 0600: 1022:1204
01:00.0 0300: 10de:10c3 (rev a2)
01:00.1 0403: 10de:0be3 (rev a1)
02:00.0 0200: 1969:1063 (rev c0)
03:05.0 0180: 105a:4d69 (rev 02)
03:06.0 0200: 168c:0013 (rev 01)


Base System Installation Checklist:
[O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it

Initial boot:           [O]
Detect network card:    [O]
Configure network:      [O]
Detect CD:              [O]
Load installer modules: [E]
Detect hard drives:     [O]
Partition hard drives:  [E]
Install base system:    [O]
Clock/timezone setup:   [O]
User/password setup:    [O]
Install tasks:          [O]
Install boot loader:    [E]
Overall install:        [E]

OVERVIEW

When installing LinuxMint 9, which uses Grub 2 1.98, it failed to generate a grub boot entry for the CentOS 5.5 installation already present on the disk. I attempted this twice in real hardware, and as I explain below, further attempts in virtual machines under VirtualBox.

It is reasonable to expect existing OS's on RAID'd partitions to be detected and included in the grub boot menu. This problem persists even after installation is complete. Further runs of grub-install and update-grub do not generate the missing OS.

Ultimately, I manually added entries for CentOS in 11centos, a script I added. Now CentOS appears on the grub menu. This will not be up to date after future kernel upgrades to CentOS of course.

DETAILS

I had the following real-world hardware configuration:

2 320 GB Hard Disks, with identical partition layouts and no hard errors as per smartmontools:

Partition 1: swap
Partition 2: linuxmint 9
Partition 3: CentOS 5.5 i386 (32bit)
Partition 4: LVM, mainly intended for CentOS, but for various purposes (irrelevant, but included for completeness)

Partitions 3 & 4 are RAID 1, but 1 & 2 are non-RAID. Also, all 4 partitions are primary type, not extended/logical.

I had CentOS 5.5 installed, up and running without any issues. The problem was that when I installed LM9, it did not add the CentOS partition to the grub 2 menu. I went through many fits trying to get CentOS to boot again. I was able to use rescuebootcd to restore the CentOS boot.

PROOF

I've duplicated 2 scenarios under a VirtualBox dualboot VM (very sweet, saved me a lot of headaches trying to get back to my CentOS partition in real hardware), replicating the partitioning more or less in proportion to the real-world hardware, laying out the virtual disk partitions in the same order as above.

The first scenario, I didn't bother with RAID. I installed CentOS 5.5 + VBox guest additions, no problems. CentOS boots. Then I installed VM9 and guest additions, no problems either. CentOS shows up in the grub 2 boot menu that LinuxMint 9 installed. All boot entries in the menu worked.

In the second scenario, I tried the same thing, but this time simulating RAID 1 for CentOS to model what I have in the real hardware world. RAID 1 under VM is rather slow, even on my brand-new AM3 system. With patience, the CentOS 5.5 install completed and I installed the guest additions for VBox with no issues. CentOS booted. Then I installed VM9 with guest additions, no problems. But this time, CentOS did not show up in the grub 2 boot menu.



CONCLUSION

It seems grub 2 WILL not detect other OS's on RAID 1 drives.

SOLUTION/WORKAROUND

Manually created /etc/grub.d/11centos:

------------------------------------8<---------------------------------------------------------

#! /bin/sh -e

echo "Adding CentOS RAID partition entries" >&2

cat << EOF

menuentry "CentOS (2.6.18-194.32.1.el5.centos.plusPAE)" {

insmod mdraid

insmod ext2

set root=(md0)

linux /boot/vmlinuz-2.6.18-194.32.1.el5 root=/dev/md0 ro rhgb quiet crashkernel=128M@16M

initrd /boot/initrd-2.6.18-194.32.1.el5.img

}

menuentry "CentOS (2.6.18-194.el5)" {

insmod mdraid

insmod ext2

set root=(md0)

linux /boot/vmlinuz-2.6.18-194.el5 ro root=/dev/md0 rhgb quiet

initrd /boot/initrd-2.6.18-194.el5.img

}

EOF

------------------------------------8<---------------------------------------------------------

I could not seem to locate instructions on the details of working with the modules, which ones were for what, etc. I experimented, originally using “raid.mod” then discovering I needed dmraid, which is confusing because in the main Linux module configuration, I have found that dmraid and similarly-named tools refer to the older raidtools set. Also found it awkward to use ext2 since I am actually on ext3. I understand that this is work in progress, but some info in obvious, centalized locations would be helpful; help awaits, strewn about the web. A “modinfo” type utility for these modules might be nice as well. Use of “insmod” is confusing as well, since these don't appear to be linux kernel modules, but perhaps I misunderstand.

This is satisfactory for now, but obviously will become an issue again when CentOS updates its kernels. Of course, now I am an expert on this ...

Finally, perhaps there is a very simple solution to this issue utilizing the existing tools – I certainly hope so. This was very difficult to track down, as was exactly where to post the bug. So far, I placed it on LinuxMint's forum, reported it to the grub project as #32525, for which I am now being berated for not realizing this is part of a separate project belonging to one specific distro, and finally reporting to you directly here. I am ready for a nap now.

ADDITIONAL INFORMATION

Of course, if you need me to contribute further by attempting additional tests, I'd be happy to.

[Additional notes just fyi: I carefully checkpointed my VMs after getting CentOS installed so that I could avoid having to do that again. It's fairly simple, and I have it memorized at this point, having done it so many times already, but still it takes a lot of time. Also, I saved both of my multiboot scenarios in case I am requested to supply more information or run further trials, or even export them for developer examination (after changing my passwords...).]




SEPARATE ISSUES RE: INSTALLATION


You will note I checked off the box “Partition Hard Drives.” I was disappointed that the installer is unable to create and install to a RAID drive. This is simple enough to accomplish post-install, but would be very convenient for the Linux desktop user concerned about redundancy.


Reply to: