mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-19 19:40:37 +02:00
'added more raid fixes'
This commit is contained in:
parent
0fca45b51b
commit
c7a4c2ae6f
1 changed files with 16 additions and 10 deletions
|
@ -175,7 +175,7 @@ finddisks() {
|
|||
# returns: nothing
|
||||
getuuid()
|
||||
{
|
||||
if [ "${1%%/[hs]d?[0-9]}" != "${1}" ]; then
|
||||
if [ "${1%%/[hs]d?[0-9]}" != "${1}" -o "${1%%/md[0-9]}" != "${1}" ]; then
|
||||
echo "$(blkid -s UUID -o value ${1})"
|
||||
fi
|
||||
}
|
||||
|
@ -222,7 +222,7 @@ findpartitions() {
|
|||
fi
|
||||
}
|
||||
|
||||
findgrubpartitions() {
|
||||
findbootloaderpartitions() {
|
||||
block=/sys/block
|
||||
for devpath in $(finddisks); do
|
||||
disk=$(echo $devpath | sed 's|.*/||')
|
||||
|
@ -1233,8 +1233,13 @@ getrootfs() {
|
|||
ROOTFS="$(blkid -c /dev/null $PART_ROOT -o value -s TYPE)"
|
||||
}
|
||||
|
||||
getraidarrays() {
|
||||
RAIDARRAYS="$(echo -n $(cat /proc/mdstat | grep ^md | sed -e 's#\[[0-9]\]##g' -e 's# :.* raid[0-9]##g' -e 's#md#md=#g' -e 's# #,/dev/#g'))"
|
||||
}
|
||||
|
||||
dolilo() {
|
||||
getrootfs
|
||||
getraidarray
|
||||
if [ ! -f $DESTDIR/etc/lilo.conf ]; then
|
||||
DIALOG --msgbox "Error: Couldn't find $DESTDIR/etc/lilo.conf. Is LILO installed?" 0 0
|
||||
return 1
|
||||
|
@ -1249,13 +1254,13 @@ dolilo() {
|
|||
if [ -n "${_uuid}" ]; then
|
||||
_rootpart="/dev/disk/by-uuid/${_uuid}"
|
||||
fi
|
||||
sed -i "s|root=.*$|append=\"root=${_rootpart} rootfstype=$ROOTFS\"|g" $DESTDIR/etc/lilo.conf
|
||||
sed -i "s|root=.*$|append=\"root=${_rootpart} rootfstype=$ROOTFS $RAIDARRAYS\"|g" $DESTDIR/etc/lilo.conf
|
||||
else
|
||||
sed -i "s|root=.*$|append=\"root=${PART_ROOT} rootfstype=$ROOTFS\"|g" $DESTDIR/etc/lilo.conf
|
||||
sed -i "s|root=.*$|append=\"root=${PART_ROOT} rootfstype=$ROOTFS $RAIDARRAYS\"|g" $DESTDIR/etc/lilo.conf
|
||||
fi
|
||||
fi
|
||||
DEVS=$(finddisks _)
|
||||
DEVS="$DEVS $(findpartitions _)"
|
||||
DEVS="$DEVS $(findbootloaderpartitions _)"
|
||||
if [ "$DEVS" = "" ]; then
|
||||
DIALOG --msgbox "No hard drives were found" 0 0
|
||||
return 1
|
||||
|
@ -1285,6 +1290,7 @@ dogrub() {
|
|||
bootdev=""
|
||||
grubdev=""
|
||||
getrootfs
|
||||
getraidarrays
|
||||
get_grub_map
|
||||
if [ ! -f $DESTDIR/boot/grub/menu.lst ]; then
|
||||
DIALOG --msgbox "Error: Couldn't find $DESTDIR/boot/grub/menu.lst. Is GRUB installed?" 0 0
|
||||
|
@ -1340,9 +1346,9 @@ dogrub() {
|
|||
echo "title Arch Linux" >>$DESTDIR/boot/grub/menu.lst
|
||||
echo "root $grubdev" >>$DESTDIR/boot/grub/menu.lst
|
||||
if [ "$UUIDPARAMETER" = "yes" ]; then
|
||||
echo "kernel $subdir/$VMLINUZ root=${_rootpart} rootfstype=$ROOTFS ro" >>$DESTDIR/boot/grub/menu.lst
|
||||
echo "kernel $subdir/$VMLINUZ root=${_rootpart} rootfstype=$ROOTFS $RAIDARRAYS ro" >>$DESTDIR/boot/grub/menu.lst
|
||||
else
|
||||
echo "kernel $subdir/$VMLINUZ root=$PART_ROOT rootfstype=$ROOTFS ro" >>$DESTDIR/boot/grub/menu.lst
|
||||
echo "kernel $subdir/$VMLINUZ root=$PART_ROOT rootfstype=$ROOTFS $RAIDARRAYS ro" >>$DESTDIR/boot/grub/menu.lst
|
||||
fi
|
||||
if [ "$VMLINUZ" = "vmlinuz26" ]; then
|
||||
echo "initrd $subdir/kernel26.img" >>$DESTDIR/boot/grub/menu.lst
|
||||
|
@ -1354,9 +1360,9 @@ dogrub() {
|
|||
echo "title Arch Linux Fallback" >>$DESTDIR/boot/grub/menu.lst
|
||||
echo "root $grubdev" >>$DESTDIR/boot/grub/menu.lst
|
||||
if [ "$UUIDPARAMETER" = "yes" ]; then
|
||||
echo "kernel $subdir/$VMLINUZ root=${_rootpart} rootfstype=$ROOTFS ro" >>$DESTDIR/boot/grub/menu.lst
|
||||
echo "kernel $subdir/$VMLINUZ root=${_rootpart} rootfstype=$ROOTFS $RAIDARRAYS ro" >>$DESTDIR/boot/grub/menu.lst
|
||||
else
|
||||
echo "kernel $subdir/$VMLINUZ root=$PART_ROOT rootfstype=$ROOTFS ro" >>$DESTDIR/boot/grub/menu.lst
|
||||
echo "kernel $subdir/$VMLINUZ root=$PART_ROOT rootfstype=$ROOTFS $RAIDARRAYS ro" >>$DESTDIR/boot/grub/menu.lst
|
||||
fi
|
||||
if [ "$VMLINUZ" = "vmlinuz26" ]; then
|
||||
echo "initrd $subdir/kernel26-fallback.img" >>$DESTDIR/boot/grub/menu.lst
|
||||
|
@ -1377,7 +1383,7 @@ dogrub() {
|
|||
$EDITOR ${DESTDIR}/boot/grub/menu.lst
|
||||
|
||||
DEVS=$(finddisks _)
|
||||
DEVS="$DEVS $(findgrubpartitions _)"
|
||||
DEVS="$DEVS $(findbootloaderpartitions _)"
|
||||
if [ "$DEVS" = "" ]; then
|
||||
DIALOG --msgbox "No hard drives were found" 0 0
|
||||
return 1
|
||||
|
|
Loading…
Reference in a new issue