On 06/07/12 18:56, Gary Dale wrote:
On 06/07/12 01:43 PM, Tom H wrote:
On Fri, Jul 6, 2012 at 2:24 AM, Alan
Chandler<a...@chandlerfamily.org.uk>
wrote:
On 05/07/12 23:10, Tom H wrote:
On Wed, Jul 4, 2012 at 7:22 PM, Alan Chandler
<a...@chandlerfamily.org.uk> wrote:
I am trying to figure out how to move my current rootfs to raid1 (its
just a partition at the moment).
The plan is to make a a raid device, copy the current root fs in
to it -
but I then need to tell grub to set up this up as the root for the
boot.
grub-install /dev/sdX
Reading the man page for this doesn't say how it finds out where the
root
filesystem is. Thats the bit that is confusing me.
I currently have a root filesystem on /dev/sdb1. I am not sure which
disk
contains the mbr - but it boots and then loads the root from there.
I have created a partially degraded mdadm raid array /dev/md0
comprising
/dev/sda1 and an empty slot. My desire is to install grub on both
/dev/sda
and /dev/sdb to boot up from /dev/md0. When that is working I will
retire
/dev/sdb1 and add it as the second component of /dev/md0.
The magic appears to be in grub-mkconfig (wrapped with update-grub).
But I
am also confused as to whether I need to do anything about an
initramfs.
"grub-install /dev/sdX" uses grub-probe to find "/" and "/boot".
"grub-install /dev/sdX" installs grub in the MBR of sdX and
"grub-install -f /dev/sdXY" installs grub in the PBR of of sdXY. The
latter's not recommended in general and isn't necessarily possible
when using mdraid.
You have to install grub in the MBR of both drives in order to be able
to boot from a degraded array.
> From a system of mine:
=> Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at
sector 34
of the same hard drive for core.img. core.img is at this
location and
looks for (mduuid/801256bc800752eab5118583d15c4689)/boot/grub on
this
drive.
=> Grub2 (v1.99) is installed in the MBR of /dev/sdb and looks at
sector 34
of the same hard drive for core.img. core.img is at this
location and
looks for (mduuid/801256bc800752eab5118583d15c4689)/boot/grub on
this
drive.
update-grub calls "grub-mkconfig -o /boot/grub/grub.cfg" and creates
the grub menu configuration. It doesn't install grub on a disk.
You shouldn't have to worry about the initramfs. It's built with md
scripts and hooks in "/usr/share/initramfs-tools". You can check that
it's been done with "lsinitramfs /boot/<INITRAMFS> | grep md | grep -v
modules".
Grub-install is generally pretty good at installing on both drives in
a RAID1 array or all drives in other RAID arrays. Update-grub also
manages to find OS partitions in just about everything - including
non-Linux partitions.
When in doubt, if you've changed things, just run update-grub and
update-initramfs -u. They only take a few seconds to run.
I think you are simplifying things. update-grub needs to locate a root
filesystem and seems to do that based on what it is running on at the
moment. I you are changing that then you have to do all this is the
"context" of that new root. This means setting up the environment as
described in the link I left elsewhere in this thread
--
Alan Chandler
http://www.chandlerfamily.org.uk
--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4ff72eea.9010...@chandlerfamily.org.uk