]> code.delx.au - refind/blobdiff - install.sh
Fixed a bug that cause Tianocore builds to not mount filesystems.
[refind] / install.sh
index 955572ef4f9c0eb1543a3e0a20d05cdbca8ea3bf..cb876063a1fe4ff7217e770e7d02c5afa1664a9f 100755 (executable)
@@ -35,6 +35,7 @@
 #
 # Revision history:
 #
+# 0.7.9   -- Fixed bug that caused errors if dmraid utility not installed
 # 0.7.7   -- Fixed bug that created mangled refind_linux.conf file; added ability
 #            to locate and mount ESP on Linux, if it's not mounted
 # 0.7.6   -- Added --ownhfs {device-filename} option
@@ -248,13 +249,16 @@ CopyKeys() {
 # honoring the $InstallDrivers condition. Must be passed a suitable
 # architecture code (ia32 or x64).
 CopyDrivers() {
+   local Blkid
+
+   Blkid=`which blkid 2> /dev/null`
    if [[ $InstallDrivers == "all" ]] ; then
       mkdir -p "$InstallDir/$TargetDir/drivers_$1"
       cp "$ThisDir"/drivers_$1/*_$1.efi "$InstallDir/$TargetDir/drivers_$1/" 2> /dev/null
       cp "$RefindDir"/drivers_$1/*_$1.efi "$InstallDir/$TargetDir/drivers_$1/" 2> /dev/null
-   elif [[ "$InstallDrivers" == "boot" && -x `which blkid` ]] ; then
+   elif [[ "$InstallDrivers" == "boot" && -x "$Blkid" ]] ; then
       BootPart=`df /boot | grep dev | cut -f 1 -d " "`
-      BootFS=`blkid -o export $BootPart 2> /dev/null | grep TYPE= | cut -f 2 -d =`
+      BootFS=`$Blkid -o export $BootPart 2> /dev/null | grep TYPE= | cut -f 2 -d =`
       DriverType=""
       case $BootFS in
          ext2 | ext3) DriverType="ext2"
@@ -470,7 +474,6 @@ SetupMacHfs() {
    cp -n "$InstallDir/$TargetDir/boot.efi" "$InstallDir/$TargetDir/boot.efi-backup" &> /dev/null
    ln -f "$InstallDir/$TargetDir/$1" "$InstallDir/$TargetDir/boot.efi"
    touch "$InstallDir/mach_kernel"
-   cp -n "$RefindDir/icons/os_refind.icns" "$InstallDir/.VolumeIcon.icns" &> /dev/null
    rm "$InstallDir/$TargetDir/SystemVersion.plist" &> /dev/null
    cat - << ENDOFHERE >> "$InstallDir/$TargetDir/SystemVersion.plist"
 <xml version="1.0" encoding="UTF-8"?>
@@ -698,9 +701,11 @@ FindLinuxESP() {
    local TableType
    local DmStatus
    local SkipIt
+   local Dmraid
    for Drive in `ls /dev/[sh]d?` ; do
       SkipIt=0
-      if [ -x `which dmraid` ] ; then
+      Dmraid=`which dmraid 2> /dev/null`
+      if [ -x "$Dmraid" ] ; then
          DmStatus=`dmraid -r | grep $Drive`
          if [ -n "$DmStatus" ] ; then
             echo "$Drive seems to be part of a RAID array; skipping!"