X-Git-Url: https://code.delx.au/refind/blobdiff_plain/a685467b7efc9a27ea7cf0318d35577b80c63356..1f5b3c00f34cd3bfa077b2110d383632295efbd0:/refind-install diff --git a/refind-install b/refind-install index eaeddcd..68ab959 100755 --- a/refind-install +++ b/refind-install @@ -39,6 +39,9 @@ # Revision history: # +# 0.10.2 -- Improved Secure Boot detection in Linux, fixed --usedefault in OS X, +# and fixed bug that could cause mountesp to be installed as a FILE +# called /usr/local/bin in OS X. # 0.10.1 -- Improve extraction of default kernel options from /proc/cmdline. # Add support for AMD64 (aka AARCH64, aa64) platform. Added # warning when --alldrivers used without --usedefault. @@ -791,14 +794,14 @@ SetupMacHfs() { ProductName rEFInd ProductVersion - 0.10.0 + 0.10.2 ENDOFHERE } # SetupMacHfs() CheckForSIP() { - if [[ -x "/usr/bin/csrutil" ]] ; then + if [[ -x "/usr/bin/csrutil" && -z "$TargetPart" ]] ; then local OKToInstall=`/usr/bin/csrutil status | \ grep "Protection status: disabled\|enabled (Apple Internal)\|NVRAM Protections: disabled"` if [[ -z "$OKToInstall" ]] ; then @@ -851,7 +854,7 @@ CheckForSIP() { # Sets Problems=1 if problems found during the installation. InstallOnOSX() { echo "Installing rEFInd on OS X...." - if [[ "$InstallToEspOnMac" == "1" ]] ; then + if [[ "$InstallToEspOnMac" == "1" && -z "$TargetPart" ]] ; then MountOSXESP elif [[ "$TargetDir" == "/EFI/BOOT" || "$OwnHfs" == '1' ]] ; then MountDefaultTarget @@ -862,8 +865,9 @@ InstallOnOSX() { DetermineTargetDir CheckForSIP CopyRefindFiles - cp "$ThisDir/mountesp" /usr/local/bin &> /dev/null - if [[ $InstallToEspOnMac == "1" ]] ; then + mkdir -p /usr/local/bin &> /dev/null + cp "$ThisDir/mountesp" /usr/local/bin/ &> /dev/null + if [[ $InstallToEspOnMac == "1" && -z "$TargetPart" ]] ; then bless --mount "$InstallDir" --setBoot --file "$InstallDir/$TargetDir/$Refind" --shortform elif [[ "$TargetDir" != "/EFI/BOOT" ]] ; then bless --setBoot --folder "$InstallDir/$TargetDir" --file "$InstallDir/$TargetDir/$Refind" @@ -896,11 +900,11 @@ InstallOnOSX() { # If we're NOT in Secure Boot mode but the user HAS specified the --shim # or --localkeys option, warn the user and offer to abort. CheckSecureBoot() { - local IsSecureBoot - if [[ -f /sys/firmware/efi/vars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c/data ]] ; then + IsSecureBoot="0" + if [[ -f /sys/firmware/efi/efivars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c ]] ; then + IsSecureBoot=`od -An -t u1 /sys/firmware/efi/efivars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c | awk '{print substr($0,length,1)}'` + elif [[ -f /sys/firmware/efi/vars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c/data ]] ; then IsSecureBoot=`od -An -t u1 /sys/firmware/efi/vars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c/data | tr -d '[[:space:]]'` - else - IsSecureBoot="0" fi if [[ $IsSecureBoot == "1" && "$TargetDir" != '/EFI/BOOT' && "$ShimSource" == "none" ]] ; then echo ""