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.