View previous topic :: View next topic |
Author |
Message |
darkphoenix16 n00b
Joined: 23 Apr 2003 Posts: 71 Location: Nova Scotia, Canada
|
Posted: Wed Mar 20, 2013 6:48 pm Post subject: Grub w/ EFI and LVM |
|
|
Hello all,
It has been quite a while since I last used Gentoo. After a long switch to debian, I'm back but technology has progressed to the point where I don't know how to properly set up GRUB anymore. Been looking at tutorials but it seems I need a piece from each but I am not sure which pieces.
I have one disc with the following structure
/dev/sda1 EFI partition
/dev/sda2 /boot
/dev/sda3 lvm
lvm looks like
/dev/fedora/root
/dev/fedora/swap
/dev/fedora/home
(I was trying fedora out but wasn't happy with RPM's)
So I take it I need to enable EFI in the kernel and then manually set root=/dev/sda# in it, which seems messy, but the problem is I don't know what I should be pointing to.
Then I need to set up GRUB, but I am not sure what my grub.conf needs to look like. Here is what I have
Code: |
title Gentoo
root (hd0,1)
kernel /boot/kernel root=/dev/fedora/root
initrd /boot/initramfs
|
I'm not sure what root is supposed to be. The boot device? The lvm partition? the logical partitions inside the lvm?
I think I have lvm set to start on boot (used rc-update add)
Any help would be appreciated! _________________ I really wish I could put something witty here. |
|
Back to top |
|
|
srs5694 Guru
Joined: 08 Mar 2004 Posts: 434 Location: Woonsocket, RI
|
Posted: Thu Mar 21, 2013 2:55 am Post subject: Re: Grub w/ EFI and LVM |
|
|
darkphoenix16 wrote: | I have one disc with the following structure
/dev/sda1 EFI partition
/dev/sda2 /boot
/dev/sda3 lvm |
From this, it seems that your computer uses EFI firmware rather than BIOS. I'll proceed under that assumption. If it's incorrect, ignore everything I write below....
Quote: | lvm looks like
/dev/fedora/root
/dev/fedora/swap
/dev/fedora/home
(I was trying fedora out but wasn't happy with RPM's)
So I take it I need to enable EFI in the kernel and then manually set root=/dev/sda# in it, which seems messy, but the problem is I don't know what I should be pointing to. |
Yes, you need EFI support in the kernel. You'd set "root=/dev/fedora/root", though, or you could probably do it via the filesystem's UUID value. If you change the volume group's name to something more sensible for a non-Fedora system, you'd need to change the "root=" value to match.
Quote: | Then I need to set up GRUB, but I am not sure what my grub.conf needs to look like. Here is what I have
Code: |
title Gentoo
root (hd0,1)
kernel /boot/kernel root=/dev/fedora/root
initrd /boot/initramfs
|
I'm not sure what root is supposed to be. The boot device? The lvm partition? the logical partitions inside the lvm? |
You'd probably want to remove the "/boot" part from the kernel and initrd lines, since these refer to the locations on the /boot partition, rather than on the Linux filesystem. The "root=" part of the kernel line refers to the device that holds the Linux root filesystem.
That said, it looks like you've got a GRUB Legacy setup here, but on EFI that will only work with Fedora's patched GRUB Legacy. AFAIK, the version of GRUB Legacy available via Portage doesn't include Fedora's EFI patches. If you've got this version of GRUB already installed from Fedora, it will probably continue to work with Gentoo, but you'll need to maintain it manually, and there aren't likely to be future updates, since Fedora has switched to GRUB 2.
Personally, I prefer to use the kernel's built-in EFI stub loader on EFI-based systems. This works best in conjunction with a separate boot loader program, such as my rEFInd or gummiboot. If you've gotten Gentoo to boot, you should be able to install rEFInd by running the install.sh script that comes in the binary .zip file. If you're working from an emergency system, though, you'd be better off using the manual installation procedure described in the rEFInd documentation. Given a default refind.conf file, you can create a file called refind_linux.conf in /boot and install an EFI driver for the filesystem you use on /boot to have rEFInd detect and boot your kernels automatically. This is all described in the rEFInd documentation, on the sub-page on booting Linux. |
|
Back to top |
|
|
darkphoenix16 n00b
Joined: 23 Apr 2003 Posts: 71 Location: Nova Scotia, Canada
|
Posted: Thu Mar 21, 2013 4:31 pm Post subject: |
|
|
Thank you very much for the post. After 10 years I thought I would be an expert by now
I followed *some* of your instructions, trying to change as few things as possible so that I don't get myself into a bigger mess. I got Grub2 installed, generated a kernel with a efi stub (although I am fairly certain I am not using it) and got the system to boot.
however, grub cannot find /dev/fedora/root because the volume group hasn't been loaded. So on boot failure (root isn't found) I drop to a shell and use
Code: |
lvm vgchange -ay fedora
|
Then allow grub to search again by pressing ENTER after exiting the shell, and continue on my merry way.
I've found references to scripts so I created /boot/init which does what I described above, but it does not appear to be running. How do I get grub to run this script before trying to boot root? Can I do this in grub.cfg?
thanks!
COLIN _________________ I really wish I could put something witty here. |
|
Back to top |
|
|
srs5694 Guru
Joined: 08 Mar 2004 Posts: 434 Location: Woonsocket, RI
|
Posted: Thu Mar 21, 2013 4:37 pm Post subject: |
|
|
You may need to generate an initramfs with the LVM features active and/or add "dolvm" to the kernel options. For the former, you'd use genkernel:
Code: |
genkernel initramfs --lvm
|
|
|
Back to top |
|
|
darkphoenix16 n00b
Joined: 23 Apr 2003 Posts: 71 Location: Nova Scotia, Canada
|
Posted: Fri Mar 22, 2013 12:19 am Post subject: |
|
|
Thanks, but I this wasn't it. There is probably something I missed during set up that has caused this, but for now I can live with it. I'll update the thread if/when I find the cause. _________________ I really wish I could put something witty here. |
|
Back to top |
|
|
darkphoenix16 n00b
Joined: 23 Apr 2003 Posts: 71 Location: Nova Scotia, Canada
|
Posted: Sat Mar 23, 2013 3:40 pm Post subject: |
|
|
I've gotten a little further. I changed root= to real_root= in the generated grub.cfg and also added dolvm. Now the system boots by / is in read-only mode. Must be a simple mistake that I am looking into now _________________ I really wish I could put something witty here. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|