[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to fix grub-install for IBM powerpc
From: |
Lennart Sorensen |
Subject: |
Re: How to fix grub-install for IBM powerpc |
Date: |
Wed, 22 Feb 2012 18:40:48 -0500 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Wed, Feb 22, 2012 at 02:11:34PM -0500, Lennart Sorensen wrote:
> There is still a small bit of an issue with grub-install on IBM powerpc.
>
> I run 'grub-install /dev/sda1' where /dev/sda1 is my prep boot partition.
>
> Unfortunately grub-install runs this:
>
> # Get the Open Firmware device tree path translation.
> dev="`echo $grub_device | sed -e 's/\/dev\///' -e 's/[0-9]\+//'`"
> partno="`echo $grub_device | sed -e 's/.*[^0-9]\([0-9]\+\)$/\1/'`"
> ofpath="`$ofpathname $dev`" || {
> gettext_printf "Couldn't find IEEE1275 device tree path for
> %s.\nYou will have to set \`boot-device' variable manually.\n" "$dev" 1>&2
> exit 1
> }
>
> Which fails, because grub_device is /dev/md0, which the code turns into
> dev=md, partno=0, which is of course wrong.
>
> If I change it to $install_device instead, then it correctly determines
> the path to the install partition which is the one that should be getting
> set in the nvram.
>
> So if the user specifies an install location, then that is what this
> should be looking at, not the device grub has determined itself.
>
> So any idea what the best way to fix this is?
>
> Of course another issue I have is that really I want to specify multiple
> install targets since I am running software raid, and I want to install
> grub to all the disks and add all the disks to the nvram's boot-device
> list so that I can still boot if a device fails. grub-install seems
> very much designed with one boot device only in mind.
Another problem that might be related is this:
address@hidden:~/grub2-1.99+20120222# /usr/sbin/grub-probe --device /dev/md1
--target=abstraction
/usr/sbin/grub-probe: error: Couldn't find physical volume `(null)'. Check your
device.map.
address@hidden:~/grub2-1.99+20120222# /usr/sbin/grub-probe --device /dev/md0
--target=abstraction
diskfilter mdraid1x
address@hidden:~/grub2-1.99+20120222# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md1 : active raid5 sdc3[3] sda3[0] sdb3[1]
284773376 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
md0 : active raid1 sda2[0] sdb2[1]
976884 blocks super 1.2 [2/2] [UU]
unused devices: <none>
So it works for raid1 but not raid5. I previously thought this was
caused by having a missing device, but I fixed that and it now has all
its devices present and has no excuse not to work as far as I can tell.
--
Len Sorensen