X-Git-Url: https://code.delx.au/refind/blobdiff_plain/65aa9db22e69fe8256ea3446191ababd0625a2d6..72faea12205c95ad6314fcab0b4a5560f0a6e6ee:/mkrlconf.sh diff --git a/mkrlconf.sh b/mkrlconf.sh index ed1759b..478cd44 100755 --- a/mkrlconf.sh +++ b/mkrlconf.sh @@ -3,14 +3,14 @@ # Script to create a refind_linux.conf file for the current Linux # installation. -# copyright (c) 2012 by Roderick W. Smith +# copyright (c) 2012-2015 by Roderick W. Smith # # This program is licensed under the terms of the GNU GPL, version 3, # a copy of which should be distributed with this program. # Usage: # -# ./mkrlconf.sh [--overwrite] +# ./mkrlconf.sh [--force] # # Options: # @@ -18,6 +18,8 @@ # Revision history: # +# 0.9.0 -- Added check for OS type, to keep from running pointlessly on OS X +# 0.7.7 -- Fixed bug that caused stray PARTUUID= and line breaks in generated file # 0.5.1 -- Initial release # # Note: mkrlconf.sh version numbers match those of the rEFInd package @@ -25,6 +27,12 @@ RLConfFile="/boot/refind_linux.conf" +if [[ `uname -s` != "Linux" ]] ; then + echo "This script is intended to be run from Linux. Aborting!" + echo "" + exit 1 +fi + if [[ ! -f $RLConfFile || $1 == "--force" ]] ; then if [[ -f /etc/default/grub ]] ; then # We want the default options used by the distribution, stored here.... @@ -34,14 +42,15 @@ if [[ ! -f $RLConfFile || $1 == "--force" ]] ; then StartOfDevname=`echo $RootFS | cut -b 1-7` if [[ $StartOfDevname == "/dev/sd" || $StartOfDevName == "/dev/hd" ]] ; then # Identify root filesystem by UUID rather than by device node, if possible - Uuid=`blkid -o export $RootFS 2> /dev/null | grep UUID=` + Uuid=`blkid -o export -s UUID $RootFS 2> /dev/null | grep UUID=` if [[ -n $Uuid ]] ; then RootFS=$Uuid fi fi DefaultOptions="$GRUB_CMDLINE_LINUX $GRUB_CMDLINE_LINUX_DEFAULT" - echo "\"Boot with standard options\" \"ro root=$RootFS $DefaultOptions \"" > $RLConfFile - echo "\"Boot to single-user mode\" \"ro root=$RootFS $DefaultOptions single\"" >> $RLConfFile + echo "\"Boot with standard options\" \"ro root=$RootFS $DefaultOptions \"" > $RLConfFile + echo "\"Boot to single-user mode\" \"ro root=$RootFS $DefaultOptions single\"" >> $RLConfFile + echo "\"Boot with minimal options\" \"ro root=$RootFS\"" >> $RLConfFile else echo "Existing $RLConfFile found! Not overwriting!" echo "To force overwriting, pass the --force option."