Google Groups

Installing Funtoo on a machine with Fake Raid and GPT partition table


Alexandre Pereira Dec 11, 2011 7:07 AM
Posted in group: Funtoo
Hi all,

Currently i installed Funtoo into my Desktop PC.

There were some hurdles i had to overcome, and would like to report
them :

* GRUB2 issues
* Genkernel issues


GRUB2 issues :

Currently with grub2 on funtoo , if i am using dmraid and gpt
partition scheme, grub2 fails to work.
Talking on #grub2 on freenode, advice was given to try the following :
( quoting )

[01:58] <Jordan_U> pereira_alex: I may a a vegue idea of what's wrong.
Either boot the desktop and run "ls" from the rescue shell and tell me
the output, or run "grub-install --modules=part_gpt /dev/mapper/foo --
boot-directory=/path/to/boot/directory/" and try booting again, or
(best) do both.

[02:05] <Jordan_U> phcoder: Do you think it's possible that somehow
grub-probe is thinking that the partition containing /boot/ is
actually a drive, and therefore setting up a cross disk install with
no partmap module much like what happens with (non kpartx) loopback
installs?

After following the advice to include --modules=part_gpt on the grub-
install command line, it installed grub properly.

Note : ( which i still have to test ) It might be possible that this
bug is known, and should be fixed on grub 1.99.


Genkernel issues :

After booting from grub, the initramfs cannot find the device for my
Fake Raid GPT partition.
This is because of one issue that DMRAID does not auto detect GPT
partitions.
I do have the devices on /dev/mapper/ but only the disk, not the
partition.

For this to work , something like what has been done to fedora needs
to be done :
http://git.fedorahosted.org/git/?p=mkinitrd;a=commitdiff;h=b625d07cb873e7c148442dd03c5b43263a20bf12

here it adds support for kpartx discovery of the partitions right
after creating the disks with DMRAID.

so ...  i hacked the initrd script on genkernel and added that
support.

But another problem with genkernel is that upon adding multipath
support ( to have kpartx ), it doesnt work.
It fails to copy the necessary libs for kpartx to work, leaving me
with at boot prompt with "missing libudev.so.0" for kpartx.

I managed to solve this i creating an overlay to initramfs with the
necessary libs into it.

So after all this, it works :) it boots.

Summary :

Grub2 issues : 1.98 seems to have a problem with GPT Fake RAID
partitions. Could be solved with Grub2 1.99. Could it be updated ?

Genkernel issues :
Genkernel seems to fail at creating multipath support ( making a
usable kpartx).
Also needs to add to script initrd on initramfs to do a kpartx -a /dev/
mapper/$device after each GPT device discovered.

Thank You