# HG changeset patch # User Pascal Bellard # Date 1252094867 -7200 # Node ID 1a703730ac71cfcdd64da17389658ed13b087094 # Parent ae53586561c80d36fccb697419a9faa19ef963df dmraid: add grub-dmraid diff -r ae53586561c8 -r 1a703730ac71 dmraid/receipt --- a/dmraid/receipt Fri Sep 04 13:38:12 2009 +0200 +++ b/dmraid/receipt Fri Sep 04 22:07:47 2009 +0200 @@ -28,5 +28,6 @@ { mkdir -p $fs/usr/sbin cp -a $src/tools/dmraid $fs/usr/sbin + cp -a stuff/grub-dmraid $fs/usr/sbin } diff -r ae53586561c8 -r 1a703730ac71 dmraid/stuff/grub-dmraid --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dmraid/stuff/grub-dmraid Fri Sep 04 22:07:47 2009 +0200 @@ -0,0 +1,36 @@ +#!/bin/sh + +grub_part=0 +[ -n "$1" ] && case "$1" in +[0-9]*) grub_part=$1;; +*) cat 1>&2 < /dev/null | grep ^name | awk '{ print $3 }') +if [ "$dev" == "/dev/mapper/" ]; then + echo "No dmraid device found." 1>&2 + exit 1 +fi + +geometry="$(fdisk -l $dev | grep heads | sed \ +'s|\(.*\) heads, \(.*\) sectors/track, \(.*\) cylinders|\3 \1 \2|')" + +# Grub bug workaround +for i in ${dev}p* ; do + n=${i#${dev}p} + [ -e $i -a ! -e ${dev}$n ] && ln -s $(basename $dev)p$n ${dev}$n +done + +# Let's go +grub --device-map=/dev/null --batch <