From deb176ea16a39029f1b075f5e2a6b03582357db8 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 11 Jun 2013 15:50:40 +0200 Subject: [PATCH] bootrecover: remove other O.S. partiton selection, rely on grub-install + os-prober for automatic configuration --- bootrecover/bootrecover.kmdr | 207 +++++++---------------------------- bootrecover/bootrecover.sh | 2 +- 2 files changed, 42 insertions(+), 167 deletions(-) diff --git a/bootrecover/bootrecover.kmdr b/bootrecover/bootrecover.kmdr index aa512b1..d806752 100755 --- a/bootrecover/bootrecover.kmdr +++ b/bootrecover/bootrecover.kmdr @@ -732,6 +732,25 @@ function get_udisks_key() { Bootloader configuration + + + Label29_2 + + + + 10 + 20 + 531 + 40 + + + + Please select where you want to install the boot manager. + + + WordBreak|AlignVCenter + + Layout5_2 @@ -739,7 +758,7 @@ function get_udisks_key() { 10 - 330 + 60 530 26 @@ -811,94 +830,27 @@ function get_udisks_key() { - - - Label3_2_2_2 - - - - 10 - 70 - 290 - 24 - - - - Please select the boot menu options: - - - - - Label28 - - - - 10 - 30 - 540 - 40 - - - - Below is a list of other operating systems found on this computer, you may configure them to appear as a choice when the computer starts. - - - WordBreak|AlignTop - - - - - chainloadbox - - - - 10 - 100 - 540 - 170 - - - - Multi - - - - - Label29_2 - - - - 10 - 280 - 531 - 40 - - - - Please select where you want to install the boot manager. - - - WordBreak|AlignVCenter - - - - - setBootableCheckbox - - - false - - - - 520 - 70 - 32 - 32 - - - - - @execBegin + + + + setBootableCheckbox + + + false + + + + 530 + 0 + 32 + 32 + + + + + @BackBox.setChecked(true) +@NextBox.setChecked(true) +@execBegin mbrdevice=@String.section(@mbrbox.item(@mbrbox.currentItem)," ",0) mbrpart=${mbrdevice:3:2} if [ "$mbrpart" ]; then @@ -913,77 +865,6 @@ else fi @execEnd - - - - - - - scanbootloader - - - - 10 - 10 - 32 - 32 - - - - - @BackBox.setChecked(true) -@NextBox.setChecked(true) -@chainloadbox.clear -@setBootableCheckbox.execute() -@execBegin -function get_udisks_key() { - LANG=C udisks --show-info $1 | grep " $2:" | head -n1 | sed "s|[[:space:]]*$2:[[:space:]]*\(.*\)|\1|" -} -installdevice=@String.section(@devicesbox.item(@devicesbox.currentItem)," ",0) -devices=`udisks --enumerate-device-files | grep -v /dev/disk | sort -n -r` -partlabel= - -for device in $devices; do - native_path=`get_udisks_key $device native-path` - [ -e $native_path/partition ] || continue - is_system_internal=`get_udisks_key $device "system internal"` - volsize=`get_udisks_key $device size` - volsize=`expr $volsize / 1024 / 1024` - [ $volsize = 0 ] && continue - volname=`get_udisks_key $device label` - [ "$volname" ] || volname="unnamed" - parttype=`get_udisks_key $device usage` - [ "$parttype" ] || parttype="unknown" - partscheme=`get_udisks_key $device scheme` - [ "$partscheme" ] || partscheme="unknown" - fstype=`get_udisks_key $device type` - [ "$fstype" ] || fstype="unformatted" - add_info="" - [ "$is_system_internal" = "1" ] || { - add_info=",removable" - [ @removablebox.checked == 1 ] || continue - } - - if [ "$partscheme" == "mbr" -o "$partscheme" == "embr" ]; then - partlabel="$partlabel<br>${device:5:5} $fstype $volname $volsize MB" - case "$fstype" in - swap|iso9660|unformatted) ;; - ext2|ext3|ext4|reiserfs|reiser4|unformatted) ;; - *) dcop @dcopid KommanderIf "addListItem(QString,QString,int)" chainloadbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" 0 - dcop @dcopid KommanderIf "setSelection" chainloadbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" - ;; - esac - elif [ "$partscheme" == "gpt" -o "$partscheme" == "unknown" -a $volsize -gt 0 ]; then - case "$fstype" in - swap|iso9660|unformatted) ;; - ext2|ext3|ext4|reiserfs|reiser4) ;; - *) dcop @dcopid KommanderIf "addListItem(QString,QString,int)" chainloadbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" 0 - dcop @dcopid KommanderIf "setSelection" chainloadbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" - ;; - esac - fi -done -@execEnd @@ -1185,12 +1066,6 @@ _EOF setBootableCheckbox execute() - - bootableBox - widgetOpened() - scanbootloader - execute() - NextBox widgetOpened() diff --git a/bootrecover/bootrecover.sh b/bootrecover/bootrecover.sh index 17bf2ea..b652980 100755 --- a/bootrecover/bootrecover.sh +++ b/bootrecover/bootrecover.sh @@ -146,7 +146,7 @@ if [ "$INSTALL_BOOTLOADER_DEVICE" ]; then dcop_write $"Installing bootloader on $INSTALL_BOOTLOADER_DEVICE..." 90 echo $"Installing grub bootloader on $INSTALL_BOOTLOADER_DEVICE" | tee -a $LOG_FILE - grub-install $INSTALL_BOOTLOADER_DEVICE --root-directory=$MOUNTPOINT --recheck --no-floppy + grub-install $INSTALL_BOOTLOADER_DEVICE --root-directory=$MOUNTPOINT --target=i386-pc --recheck --no-floppy [ "$INSTALL_BOOTLOADER_DEVICE_SETBOOTABLE" = "1" -a \ "${INSTALL_BOOTLOADER_DEVICE:8:2}" ] && {