Jump to content

Clover General discussion


ErmaC
30,171 posts in this topic

Recommended Posts

not working .10.13.4b1 8158797cf9e3.jpg

 

working 4386 !

 

Might be SIP related. Try to disable it.

 

http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/?p=2584363
Edited by Needy
Link to comment
Share on other sites

Package not working in 10.13 Beta 4

 

works 4386, and 4398 this doesn't work. all working. iron in the signature. :hysterical:

manual transfer works in the folder EFI, works 4398.cd21dc00a0a7.jpg

 

 

works 4386, and 4398 this doesn't work. all working. iron in the signature. :hysterical:

manual transfer works in the folder EFI, works 4398.cd21dc00a0a7.jpg

 

 

I see, guess it's related to the EFI mount script. Not sure tho.

Check the installer log, should be in ur boot volume or EFI. 

http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/?p=2584363
Edited by Needy
  • Like 1
Link to comment
Share on other sites

Clover EFI installer log - Sun Feb  4 13:22:42 CET 2018
Installer version: v2.4k r4398 EFI bootloader
======================================================
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *250.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk2         249.8 GB   disk0s2

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:                  Apple_HFS sicherung               499.8 GB   disk1s2

/dev/disk2 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0: EF57347C-0000-11AA-AA11-00306543ECAC              +249.8 GB   disk2

/dev/disk3 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *256.1 GB   disk3
   1:               Windows_NTFS Зарезервировано сист... 367.0 MB   disk3s1
   2:               Windows_NTFS                         255.7 GB   disk3s2

/dev/disk4 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *480.1 GB   disk4
   1:                        EFI EFI                     209.7 MB   disk4s1
   2:                  Apple_HFS Mac HD datei            160.5 GB   disk4s2
   3:                  Apple_HFS Fertig Mac              319.1 GB   disk4s3

ERROR: /dev/disk2s1 use an unsupported partition scheme: EF57347C-0000-11AA-AA11-00306543ECAC

 

 

 

/dev/disk0 (internal, physical):

here the translation isn't necessary.

Link to comment
Share on other sites

Clover EFI installer log - Sun Feb  4 13:22:42 CET 2018

Installer version: v2.4k r4398 EFI bootloader

 319.1 GB   disk4s3

 

ERROR: /dev/disk2s1 use an unsupported partition scheme: EF57347C-0000-11AA-AA11-00306543ECAC

 

 

 

/dev/disk0 (internal, physical):

here the translation isn't necessary.

Edit ***

If you are in macOS High Sierra  (17E139j ) Clover package not working, its a know issue APFS Volume

  • Like 1
Link to comment
Share on other sites

Hi @Slice,

Thanks for r4399 commit, but on my Legacy-GPT scheme it seems I have little bit installation problem; it uses my (selected) MacHD Root as target instead of the EFI Partition (Install Clover in the ESP checked though). Also, I see no r4398 backup files (that previously installed) from my /EFI-Backups. Sorry for reporting this issue.

 

 

soD0FUU.jpg

 

 

#EDIT: Using 10.11.6 with HFS+ when installing.

Link to comment
Share on other sites

@Rehabman

i first saw clover ESP installation issue in 10.13.4 beta1. 

 

1. in 10.13.3, i didn't have install issue like this.

thanks in advance

Clover r4399 works here APFS 10.13.4 Beta1

  • Like 4
Link to comment
Share on other sites

Here's an alternative and simpler mountESP script for 10.13.4 Beta 1, it wouldn't work on earlier macOS versions with APFS though :(. It would be possible to add the changes as an 'if OS ver > 10.13.3' clause...

#!/bin/bash

DEST_VOL="${1}"
EFI_ROOT_DIR="${2:-${DEST_VOL%*/}/EFIROOTDIR}"
partutil="./partutil"

DiskDevice=$(LC_ALL=C diskutil info "${DEST_VOL}" 2>/dev/null | \
                              sed -n 's/.*Part [oO]f Whole: *//p')

if [[ -z "$DiskDevice" ]]; then
    echo "Can't find volume with the name ${DEST_VOL}"
    exit 1
fi

# check if target volume is a logical Volume instead of physical
if [[ "$(echo $(LC_ALL=C diskutil list | grep -i 'Logical Volume' | \
          awk '{print tolower($0)}'))" == *"logical volume"* ]]; then
    # ok, we have a logical volume somewhere.. so that can assume that we can use "diskutil cs"
    LC_ALL=C diskutil cs info $DiskDevice > /dev/null 2>&1
    if [[ $? -eq 0 ]] ; then
        # logical volumes does not have an EFI partition (or not suitable for us?)
        echo "$DiskDevice is a logical volume"
        # find the partition uuid
        UUID=$(LC_ALL=C diskutil info "${DiskDevice}" 2>/dev/null | \
                                      sed -n 's/.*artition UUID: *//p')
        # with the partition uuid we can find the real disk in in diskutil list output
        if [[ -n "$UUID" ]]; then
            realDisk=$(LC_ALL=C diskutil list | \
                grep -B 1 "$UUID" | \
                grep -i 'logical volume' | awk '{print $4}' | \
                sed -e 's/,//g' | sed -e 's/ //g')
            if [[ -n "$realDisk" ]]; then
                DiskDevice=$(LC_ALL=C diskutil info "${realDisk}" 2>/dev/null | \
                                             sed -n 's/.*Part [oO]f Whole: *//p')
            fi
        fi
    fi
fi

# check if target volume is APFS, and therefore part of an APFS container
if [[ "$(echo $(LC_ALL=C diskutil list "$DiskDevice" | grep -i 'EF57347C-0000-11AA-AA11-00306543ECAC' | \
          awk '{print tolower($0)}'))" == *"ef57347c-0000-11aa-aa11-00306543ecac"* ]]; then
    # ok, this disk is an APFS partition, extract physical store device
    realDisk=$(LC_ALL=C diskutil list 2>/dev/null | \
        sed -n "s/.*Container $DiskDevice *//p" | \
        cut -d' ' -f5)
    echo Target volume "$1" on "$DiskDevice" is APFS on physical store "$realDisk"
    DiskDevice=$(LC_ALL=C diskutil info "$realDisk" 2>/dev/null | \
        sed -n 's/.*Part [oO]f Whole: *//p')
fi

# echo "realDisk = $realDisk"
# echo "UUID = $UUID"
# echo "DiskDevice = $DiskDevice"

# Check if the disk is a GPT disk
disk_partition_scheme=$("$partutil" --show-partitionscheme "$DiskDevice")

if [[ "$disk_partition_scheme" = "GUID_partition_scheme" ]]; then

    plistbuddy='/usr/libexec/PlistBuddy'

    # Get the index of the ESP device
    index=$(LC_ALL=C /usr/sbin/gpt -r show "/dev/$DiskDevice" 2>/dev/null | \
     awk 'toupper($7) == "C12A7328-F81F-11D2-BA4B-00A0C93EC93B" {print $3; exit}')
    [[ -z "$index" ]] && index=1 # if not found use the index 1

    # Define the ESPDevice
    ESPDevice="${DiskDevice}s${index}"

    # Get the ESP mount point if the partition is currently mounted
    ESPMountPoint=$("$partutil" --show-mountpoint "$ESPDevice")

    if [[ -n "$ESPMountPoint" ]]; then
        # If already mounted it's okay
        exitcode=0
    else
        # Else try to mount the ESP partition
        ESPMountPoint="/Volumes/ESP"
        exitcode=1
        fstype=$($partutil --show-fstype $ESPDevice)
        if [[ -n "$fstype" ]]; then
            [[ ! -d "${ESPMountPoint}" ]] && mkdir -p "${ESPMountPoint}"
            mount -t $fstype /dev/$ESPDevice "${ESPMountPoint}" 2>&1
            exitcode=$?
        fi
    fi

    if [[ $exitcode -ne 0 ]]; then
        echo
        echo "ERROR: can't mount ESP partition ($ESPDevice) !"
        echo "Check that the partition is well formated in HFS or Fat32."
        echo
        echo "To format as HFS use command like:"
        echo "sudo newfs_hfs -v EFI /dev/r$ESPDevice"
        echo
        echo "For format as Fat32 use command like:"
        echo "sudo newfs_msdos -v EFI -F 32 /dev/r$ESPDevice"
    else
        ln -sf "$ESPMountPoint" "$EFI_ROOT_DIR"
    fi
else
    # Disk is not GPT use the DEST_VOL as EFI_ROOT_DIR
    ln -sf "${DEST_VOL}" "$EFI_ROOT_DIR"
    exitcode=0
fi

exit $exitcode

  • Like 1
Link to comment
Share on other sites

there is a small problem with the revision Clover r4399 it does not mount the EFI partition of a disk image of this format

hdiutil create -size 5g -type SPARSE -fs HFS+J -volname Mac_OS_Installer -uid 0 -gid 80 -mode 1775 ~/Desktop/Mac-Image

before 4399 it was not a problem

Link to comment
Share on other sites

@chris1111 cool, tested:

attachicon.giftested.png

but here works good. Anyway we can make it also APFS?

Not working here 10.13.3

not test 10.13.4 Beta 1

Yes APFS

hdiutil create -size 5g -type SPARSE -fs apfs -volname Mac_OS_Installer -uid 0 -gid 80 -mode 1775 ~/Desktop/Mac-Image

Link to comment
Share on other sites

I have it on another hack, wait 2 minutes..

EDIT

works here on 10.13.3, clover updated with the same package, I'm on it.

Test in 10.13.4 yes working 

Strange here not work in 10.13.3 don't know why ?

 

Edit ***

this kind of disk image converted with
hdiutil create -size 5g -type SPARSE -fs HFS+J -volname Mac_OS_Installer -uid 0 -gid 80 -mode 1775 ~/Desktop/Mac-Image
hdiutil convert ~/Desktop/Mac-Image.sparseimage -format UDTO -o ~/Desktop/Mac-Image.cdr
mv ~/Desktop/mac-image.cdr ~/Desktop/macOS-High-Sierra.dmg
this is a useful image for Restore with dd command
making already bootable USB or Disk  B)
Link to comment
Share on other sites

I have noticed that in recent versions of Clover, the Kext patches can be specified with full name, like com.apple.iokit.IOAHCIBlockStorage instead of just IOAHCIBlockStorage.  What is the benefit to this?  I suppose it's possible to have two different kexts with the same short name, but that seems unlikely to me.

Link to comment
Share on other sites

I have noticed that in recent versions of Clover, the Kext patches can be specified with full name, like com.apple.iokit.IOAHCIBlockStorage instead of just IOAHCIBlockStorage.  What is the benefit to this?  I suppose it's possible to have two different kexts with the same short name, but that seems unlikely to me.

When specifying a *rough* name, for instance, IOAHCIBlockStorage, Clover will also search for its dependencies and try to patch. (This should not be what you want, you are just willing to patch the kext itself, additionally in most cases there is no such occurrence in those dependent kexts, and you don't want to patch it/them either, furthermore, it's a waste of time, though, you can hardly ever feel it)

  • Like 2
Link to comment
Share on other sites

When specifying a *rough* name, for instance, IOAHCIBlockStorage, Clover will also search for its dependencies and try to patch.

No.

 

Current Clover behavior:

- look for a match within *only* the bundle-id if there are no '.' characters in the specified Name (eg. it is a strstr search). The old behavior (forget the specific version of Clover for this change) was that the entire Info.plist was searched.

- look for an exact bundle-id match if there are '.' characters in the specified Name (eg. it is a strcmp comparison)

  • Like 2
Link to comment
Share on other sites

No.

 

Current Clover behavior:

- look for a match within *only* the bundle-id if there are no '.' characters in the specified Name (eg. it is a strstr search). The old behavior (forget the specific version of Clover for this change) was that the entire Info.plist was searched.

- look for an exact bundle-id match if there are '.' characters in the specified Name (eg. it is a strcmp comparison)

Thanks for the clarification. Oh yes, remembered that there was a discussion on this probably in late 2016, perhaps since then the behavior has been changed.

Thanks for that explanation, PMheart.  So would you recommend updating all my older patches to include the full name, for a minuscule boot speed improvement?

Sorry, I was wrong! (You can see @RehabMan's clarification above.)

According to his sayings, you don't have to do it. Just keep your "dirty-but-effective" patch. ;)

By the way, you may remove some duplicated patches. (e.g. The ones applied to AppleUSBXHCIPCI)

Link to comment
Share on other sites

×
×
  • Create New...