# workaround execshield
SHIELD=$(sysctl -e -n kernel.exec-shield)
if [ ! -z "$SHIELD" ]; then
- sysctl -w -e kernel.exec-shield=0 >/dev/null 2>&1
+ sysctl -e -w kernel.exec-shield=0 >/dev/null 2>&1
echo -n " execshield1"
fi
mv -f "$device_map.old" "$device_map"
fi
-:q!else
+else
rm -f "$device_map.old"
fi
echo -n " grub4"
+# import GRUB helper functions (again, updated device map)
+. /usr/share/kernel-2.6-cn/grub-functions.sh
+
# get install device (0x80 BIOS device)
install_device=$(grep '^(hd0)' "$device_map" | \
sed -e 's%[^[:space:]]*[[:space:]]*\([^[:space:]]*\)%\1%')
# restore execshield state
if [ ! -z "$SHIELD" ]; then
- sysctl -w -e "kernel.exec-shield=$SHIELD" >/dev/null 2>&1
+ sysctl -e -w "kernel.exec-shield=$SHIELD" >/dev/null 2>&1
echo -n " execshield2"
fi