]>
code.delx.au - refind/blob - mkrlconf.sh
3 # Script to create a refind_linux.conf file for the current Linux
6 # copyright (c) 2012-2015 by Roderick W. Smith
8 # This program is licensed under the terms of the GNU GPL, version 3,
9 # a copy of which should be distributed with this program.
13 # ./mkrlconf.sh [--force]
17 # --force -- Overwrite an existing file (default is to not replace existing file)
21 # 0.9.0 -- Added check for OS type, to keep from running pointlessly on OS X
22 # 0.7.7 -- Fixed bug that caused stray PARTUUID= and line breaks in generated file
23 # 0.5.1 -- Initial release
25 # Note: mkrlconf.sh version numbers match those of the rEFInd package
26 # with which they first appeared.
28 RLConfFile
="/boot/refind_linux.conf"
30 if [[ `uname -s` != "Linux" ]] ; then
31 echo "This script is intended to be run from Linux. Aborting!"
36 if [[ ! -f $RLConfFile ||
$1 == "--force" ]] ; then
37 if [[ -f /etc
/default
/grub
]] ; then
38 # We want the default options used by the distribution, stored here....
39 source /etc
/default
/grub
41 RootFS
=`df / | grep dev | cut -f 1 -d " "`
42 StartOfDevname
=`echo $RootFS | cut -b 1-7`
43 if [[ $StartOfDevname == "/dev/sd" ||
$StartOfDevName == "/dev/hd" ]] ; then
44 # Identify root filesystem by UUID rather than by device node, if possible
45 Uuid
=`blkid -o export -s UUID $RootFS 2> /dev/null | grep UUID=`
46 if [[ -n $Uuid ]] ; then
50 DefaultOptions
="$GRUB_CMDLINE_LINUX $GRUB_CMDLINE_LINUX_DEFAULT"
51 echo "\"Boot with standard options\" \"ro root=$RootFS $DefaultOptions \"" > $RLConfFile
52 echo "\"Boot to single-user mode\" \"ro root=$RootFS $DefaultOptions single\"" >> $RLConfFile
53 echo "\"Boot with minimal options\" \"ro root=$RootFS\"" >> $RLConfFile
55 echo "Existing $RLConfFile found! Not overwriting!"
56 echo "To force overwriting, pass the --force option."