X-Git-Url: https://code.delx.au/refind/blobdiff_plain/2885b705627cebd73ecf2c6db72baea594690f48..480ba418c97ece5557ac0efc5dc189ff19fb8b8f:/mkrlconf diff --git a/mkrlconf b/mkrlconf index 031c82a..bbc4037 100755 --- a/mkrlconf +++ b/mkrlconf @@ -6,7 +6,9 @@ # 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. +# or (at your option) any later version. +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . # Usage: # @@ -18,11 +20,12 @@ # Revision history: # -# 0.10.0 -- Renamed from mkrlconf.sh to mkrlconf; changed to get $DefaultOptions +# 0.10.1 -- Improve extraction of kernel options from /proc/cmdline +# 0.10.0 -- Renamed from mkrlconf.sh to mkrlconf; changed to get $DefaultOptions # from /proc/cmdline rather than from GRUB -# 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 +# 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 version numbers match those of the rEFInd package # with which they first appeared. @@ -45,7 +48,12 @@ if [[ ! -f $RLConfFile || $1 == "--force" ]] ; then RootFS=$Uuid fi fi - DefaultOptions=`cat /proc/cmdline | cut -d ' ' -f 2- | sed 's/$/ /' | sed 's/initrd=.* //g' | sed 's/ *$//'` + FirstCmdlineOption=`cat /proc/cmdline | cut -d ' ' -f 1` + if [[ "$FirstCmdlineOption" =~ (vmlinuz|bzImage|kernel) ]] ; then + DefaultOptions=`cat /proc/cmdline | cut -d ' ' -f 2- | sed 's/\S*initrd=\S*//g' | sed 's/ *$//' | sed 's/^ *//'` + else + DefaultOptions=`cat /proc/cmdline | sed 's/\S*initrd=\S*//g' | sed 's/ *$//' | sed 's/^ *//'` + fi echo "\"Boot with standard options\" \"$DefaultOptions\"" > $RLConfFile echo "\"Boot to single-user mode\" \"$DefaultOptions single\"" >> $RLConfFile echo "\"Boot with minimal options\" \"ro root=$RootFS\"" >> $RLConfFile