grub-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]