Jump to content

Clover General discussion


ErmaC
29,866 posts in this topic

Recommended Posts

I'm confused, why is it just not checked by default if there was no previous installation? There is some sort of previous installation information somewhere isn't there? As I recall there is a record of the options selected for the installer in the OS somewhere. If not, would be fairly easy to create one. Then, if there is previous install, check the driver exists, if exists then check the box, and remove the driver if then unchecked.

Yes. I also confused. I have some driver. Ex. Fat-64.efi. Since i install MacOS, i never touch UEFI64 entry in clover package when install clover.

 

Process is not clean. It causes confusion. There are some driver after install clover like fat-64. But like slice said, some driver were automatically removed after install clover.

 

나의 LG-F800S 의 Tapatalk에서 보냄

Link to comment
Share on other sites

It's /Library/Preferences/com.projectosx.clover.installer.plist.

 

Yeah I thought that there was a file record of what is installed. So everything should stay checked or unchecked....... But....

 

Yes. I also confused. I have some driver. Ex. Fat-64.efi. Since i install MacOS, i never touch UEFI64 entry in clover package when install clover.

 

Process is not clean. It causes confusion. There are some driver after install clover like fat-64. But like slice said, some driver were automatically removed after install clover.

 

나의 LG-F800S 의 Tapatalk에서 보냄

 

....Is there something in the package that is overwriting these stored options and always setting some to be checked, instead of only doing this when not already installed?

Link to comment
Share on other sites

Yeah, I wasted at least a few hours of my life determining why SL 10.6.8 failed to boot after installing the latest Clover.

I didn't see any reason to remove this efi driver as it is needed by Lion/SL (due to kexts being 32-bit/64-bit), so I reverted the change in my Clover build (I don't like breaking things that used to work for no good reason).

According to Slice, that driver has been made  optional and it exists in the Drivers64UEFI group menu. If you need it, you may select it for installation and the choice will be remembered in the Clover installer plist for the next install.

Link to comment
Share on other sites

Yeah I thought that there was a file record of what is installed. So everything should stay checked or unchecked....... But....

 

 

....Is there something in the package that is overwriting these stored options and always setting some to be checked, instead of only doing this when not already installed?

According to Slice, that driver has been made optional and it exists in the Drivers64UEFI group menu. If you need it, you may select it for installation and the choice will be remembered in the Clover installer plist for the next install.

post-980913-0-95050500-1517943546_thumb.png

post-980913-0-74661800-1517943566_thumb.png

0:147 0:000 === [ LoadDrivers ] =======================================

0:151 0:004 Loading apfs.efi status=Success

0:155 0:004 - driver needs connecting

0:155 0:000 Loading AppleImageCodec-64.efi status=Success

0:155 0:000 Loading AppleKeyAggregator-64.efi status=Success

0:155 0:000 Loading AppleUITheme-64.efi status=Success

0:155 0:000 Loading DataHubDxe-64.efi status=Success

0:156 0:000 Loading EmuVariableUefi-64.efi status=Success

0:158 0:001 EmuVariableUefi Initialize: VariableCommonInitialize = Success, orig services stored, install gEmuVariableControlProtocolGuid = Success

0:158 0:000 Loading Fat-64.efi status=Success

0:158 0:000 - driver needs connecting

0:158 0:000 Loading FirmwareVolume-64.efi status=Success

0:158 0:000 Loading FSInject-64.efi status=Success

0:158 0:000 Loading HFSPlus.efi status=Success

0:158 0:000 - driver needs connecting

0:158 0:000 Loading HPFanReset.efi status=Success

0:250 0:091 HPFanReset: successfully set fan control to BIOS mode.

0:250 0:000 Loading OsxFatBinaryDrv-64.efi status=Success

0:251 0:001 Loading SMCHelper-64.efi status=Success

0:253 0:001 Loading OsxAptioFixDrv-64.efi status=Success

0:254 0:001 3 drivers needs connecting ...

0:254 0:000 PlatformDriverOverrideProtocol not found. Installing ... Success

0:254 0:000 HFS+ driver loaded

0:254 0:000 APFS driver loaded

 

 

after install clover, there are fat-64, EmuVariableUefi-64.efi, etc. these files were unchecked in clover package default. i said that i never touch driver64uefi entry

why i still have these files exist in folder? why OsxFatBinaryDrv is not include this case? I don't understand clover package automatically remove only OsxFatBinaryDrv.

These files that i mentioned also optional efi files.

Link to comment
Share on other sites

According to Slice, that driver has been made  optional and it exists in the Drivers64UEFI group menu. If you need it, you may select it for installation and the choice will be remembered in the Clover installer plist for the next install.

 

Not all the drivers are being removed if they are not checked, should they not be?

  • Like 1
Link to comment
Share on other sites

Not all the drivers are being removed if they are not checked, should they not be?

From CloverPackage/package/Scripts.templates/EFIFolder/preinstall:

 

# Remove files of old revision.

pkgs=$(/usr/sbin/pkgutil --volume "$DEST_VOL" --pkgs | /usr/bin/grep -iE '@CLOVER_PACKAGE_IDENTITY@.' | /usr/bin/grep -Ev 'ntfs|apfs|hfsplus')

for pkg in $pkgs; do

    # Get where the files where installed from volume destination

    location=$(/usr/sbin/pkgutil --volume "$DEST_VOL" --pkg-info $pkg 2>/dev/null | sed -n 's/^location: *//p')

    pkgutil --volume "$DEST_VOL" --files $pkg 2>/dev/null  | \

     xargs -I @@ echo "$DEST_VOL/$location/@@"             | \

     /usr/bin/grep -iE 'EFI/CLOVER/(drivers\w+)/'   | \

     xargs -I @@ rm -rf '@@'

    rm -f "$DEST_VOL"/Library/Receipts/"$pkg".{plist,bom}

done

This part reads the receipts that contain Clover in its name, determines the files from each of them and deletes the files. That means all files, mentioned in those receipts, are going to be deleted, along with the receipts. After that, the package payload is being deployed and a new receipts are being created. The files that have been added manually like the filesystem drivers won't be removed and that's the only case of non-removed files. If you however uncheck any driver that have been checked before (and there is previous receipt for it), the current install will remove it.

Link to comment
Share on other sites

I have a question. If i select some uefi64 driver in clover package when install clover and installed clover. Next time, clover package again, clover package remember i selected uefi64 driver. If i want to cleanup option like after install fresh macos. Where is store that i selected option in MacOS partition?

 

Thanks in advance

 

나의 LG-F800S 의 Tapatalk에서 보냄

its store in Library /Preferances/com.projectosx.clover.installer.plist

Link to comment
Share on other sites

latest Package Clover 4405 not mount EFI partition in Mac OS X  Snow Leopard

bellow 4398 is ok

 

According to Micky1979 the partutil tool is 64 bit only and you should probably change the build settings for it and generate 32 bit binary.

  • Like 1
Link to comment
Share on other sites

From CloverPackage/package/Scripts.templates/EFIFolder/preinstall:

This part reads the receipts that contain Clover in its name, determines the files from each of them and deletes the files. That means all files, mentioned in those receipts, are going to be deleted, along with the receipts. After that, the package payload is being deployed and a new receipts are being created. The files that have been added manually like the filesystem drivers won't be removed and that's the only case of non-removed files. If you however uncheck any driver that have been checked before (and there is previous receipt for it), the current install will remove it.

 

I'm not sure that works 100%. I looked at that, I wonder what the output of each of those commands is, and if it truly removes everything installed before.

Link to comment
Share on other sites

And now I force to uncheck this driver because I install for 10.11+ systems.

It must be optional!

We should check it by default but not mandatory.

Why not just leave it there? It does no harm when booting a macOS/OS X that doesn't need it (eg. ML and later).

Are you serious???? Jesus. That's a terrible message for any commit, like what on Earth does that mean? There is no commit review feature on sourceforge without implementing very complex hooks methods, at least I don't think. Maybe it may be time to go over to github so commits can be reviewed.... I don't know though, that's a lot of work...

Yeah... I know. The commit comment makes more sense for the other change that was part of the same commit, which does have something to do with some CPU related stuff.

 

EDIT: You can go to a file and click history in the upper right on sourceforge and it will tell you every time the file was changed. That can make it easier to trace a change you know where it is.

In this case, I had no idea what file the change might have happened in. In fact, initially I didn't understand that the Clover installer was removing a file, and then older versions were adding it back. Not until I started using diff to compare EFI/Clover from working vs. non-working did I discover the difference in the drivers64UEFI content...

Given I didn't know where the change was, just that it was broken between r4369 and r4380 (those two builds were on sourceforge), I was looking at the commit log for meaningful commit comments...

Link to comment
Share on other sites

I'm not sure that works 100%. I looked at that, I wonder what the output of each of those commands is, and if it truly removes everything installed before.

I can assure you, it works perfectly as intended. Even tested it with the OsxFatBinary driver: two installs, one with checked driver, the next one without it. The driver was removed on the second install. Of course, reverted the mandatory driver list to the one without OsxFatBinary and created a new install package so there won't be any doubts.

 

BTW you see the excluding grep at the end of the first line? I've added it several months ago to prevent all those filesystem drivers to be removed. As you know, the Build_Clover.command script can add them to the Clover package and installing them with it will create receipts for them. After that, it's a matter or using any official package (without them in it) or the custom package (but without checking any or all of them) for you to get them deleted.

Link to comment
Share on other sites

latest Package Clover 4405 not mount EFI partition in Mac OS X  Snow Leopard

bellow 4398 is ok 

Yeah, a same issue with r4406 built; installed using 10.11.6 (Legacy-GPT). It doesn't even mount my EFI Partition (disk0s1), or pre-mounted 1st but the problem is still there. So on post-install I need to manually copying some stuffs from my "/" root partition to the EFI, just similar to GCC built under Ubuntu with no Installer package.

Link to comment
Share on other sites

Yeah, a same issue with r4406 built; installed using 10.11.6 (Legacy-GPT). It doesn't even mount my EFI Partition (disk0s1), or pre-mounted 1st but the problem is still there. So I need to manually copying some stuffs from my "/" root partition to the EFI, just similar to GCC built under Ubuntu with no Installer package.

So its not only Snow and Lion ! Lots of more old macOS is affected

  • Like 1
Link to comment
Share on other sites

I can assure you, it works perfectly as intended. Even tested it with the OsxFatBinary driver: two installs, one with checked driver, the next one without it. The driver was removed on the second install. Of course, reverted the mandatory driver list to the one without OsxFatBinary and created a new install package so there won't be any doubts.

 

BTW you see the excluding grep at the end of the first line? I've added it several months ago to prevent all those filesystem drivers to be removed. As you know, the Build_Clover.command script can add them to the Clover package and installing them with it will create receipts for them. After that, it's a matter or using any official package (without them in it) or the custom package (but without checking any or all of them) for you to get them deleted.

 

Ohhhhh... That's why then, makes more sense now why I thought it wouldn't work for all because it doesn't. But it should delete everything that it installed, period. What if the next time I run the installer I uncheck that driver? It's does not get removed, but it should have because I didn't want it installed anymore. But if you install with the same built installer, which I'm assuming most people are either going to build it themselves or use the official, those will still be selected and installed, or never removed even if wanted. That's eventually going to create conflicts when people start using different packages and end up with a bunch of different drivers that might conflict, or they thought were deleted but are still present... Also another thought, check to make sure the previous options are all in the package. You can then even warn that it's not the same installer source as a previous installation, attempt to select the same selections and warn if there are unavailable ones giving the option whether or not to delete them. That is if there are any options unavailable, it's still fine if they are all available still. That's some work and no idea if it could be done but it is a better method to solve the problem of packages with different options than to just ignore some of the files. You moved the OsxFatBinary from mandatory to optional? Awesome.

 

EDIT: You could probably generate a list of the selections from the previous install no longer present in the running installer pretty easily, then use osascript in the preinstall to build a dialog to popup listing them and asking whether or not to remove those selections.

  • Like 1
Link to comment
Share on other sites

10.13.4 beta2

back diskutil for apfs

Clover EFI installer log - Wed Feb  7 14:43:20 KST 2018
Installer version: v2.4k r4394 EFI bootloader
======================================================
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *256.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         90.1 GB    disk0s2
   3:       Microsoft Basic Data Windows 7               110.1 GB   disk0s3
   4:                  Apple_HFS Macintosh HD            25.9 GB    disk0s4
   5:       Microsoft Basic Data Win Data                29.5 GB    disk0s5
 
/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +90.1 GB    disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            34.9 GB    disk1s1
   2:                APFS Volume Preboot                 21.5 MB    disk1s2
   3:                APFS Volume Recovery                517.3 MB   disk1s3
   4:                APFS Volume VM                      4.3 GB     disk1s4
 
Target volume /Volumes/Macintosh HD on disk1 is APFS on physical store disk0s2
======================================================
Backing up EFI files
 
Backing up /Volumes/Macintosh HD/EFIROOTDIR/EFI folder to /Volumes/Macintosh HD/EFI-Backups/r4394/2018-02-07-14h43/EFI
======================================================
Installing BootSectors/BootLoader
 
Stage 0 - Don't write any of boot0af, boot0md, boot0ss to /
Stage 1 - Don't write any of boot1h2, boot1f32alt, boot1xalt to /
 
Removing drivers64UEFI/VBoxHfs-64.efi driver because HFSPlus driver present
======================================================
Installing RC Scripts
 
Installing RC scripts on target volume '/'
 
 
======================================================
=========== Clover EFI Installation Finish ===========
 
old package installation is no problem
  • Like 1
Link to comment
Share on other sites

Hi coders/devs

 

Clover R4392

Motherboard bios with MSR 0xE2 locked

 

KernelXCPM enabled

 

sytem reboots on +++++++ phase

 

it seems that this kernel Patch is not injected if MSR0xE2 is locked

f

554889e5 41574156 41554154 53504189d64889fb 85f60f84 84000000 

r

c39089e5 41574156 41554154 53504189d64889fb 85f60f84 84000000 

comment

xcpm_program_msrs © Pike R. Alpha

Link to comment
Share on other sites

Hi coders/devs

 

Clover R4392

Motherboard bios with MSR 0xE2 locked

 

KernelXCPM enabled

 

sytem reboots on +++++++ phase

 

it seems that this kernel Patch is not injected if MSR0xE2 is locked

f

554889e5 41574156 41554154 53504189d64889fb 85f60f84 84000000 

r

c39089e5 41574156 41554154 53504189d64889fb 85f60f84 84000000 

comment

xcpm_program_msrs © Pike R. Alpha

 

Make sure you have the patches KernelAndKextPatches/KernelPm=true and KernelAndKextPatches/AppleIntelCPUPM=true. That's where MSR 0xE2 is used as well. Set KernelAndKextPatches/Debug=true to see if your patches are being applied or failing.

Link to comment
Share on other sites

Sorry apianti my request of help maybe it is not complete

 

Usually I boot fine in my rig with only a fakecpuid for my unsupported CPU (Broadwell EP), with Pike patch and a kext to patch by Brumbaer (com.apple.iokit.IOPCIFamily)

No kernel Pm flagged Or other you mention 

When a new os/beta come I do some test to verify if something new is on Apple kernel

And for this I did some test disabling things useful previously to boot (and kernel XCPM helps (usually) to solve if I have problem

in this case it seems no

ps I am now trying your advice (but usually I don't use those patch In clover to boot)

Grazie

Make sure you have the patches KernelAndKextPatches/KernelPm=true and KernelAndKextPatches/AppleIntelCPUPM=true. That's where MSR 0xE2 is used as well. Set KernelAndKextPatches/Debug=true to see if your patches are being applied or failing.


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>ACPI</key>
	<dict>
		<key>DSDT</key>
		<dict>
			<key>Debug</key>
			<false/>
			<key>DropOEM_DSM</key>
			<false/>
			<key>Name</key>
			<string>DSDT.aml</string>
			<key>Patches</key>
			<array>
				<dict>
					<key>Comment</key>
					<string>Change XHCI to XHC</string>
					<key>Disabled</key>
					<true/>
					<key>Find</key>
					<data>
					WEhDSQ==
					</data>
					<key>Replace</key>
					<data>
					WEhDXw==
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>Rename ALZA to HDEF</string>
					<key>Disabled</key>
					<true/>
					<key>Find</key>
					<data>
					QUxaQQ==
					</data>
					<key>Replace</key>
					<data>
					SERFRg==
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>change EHC1 to EH01</string>
					<key>Disabled</key>
					<true/>
					<key>Find</key>
					<data>
					RUhDMQ==
					</data>
					<key>Replace</key>
					<data>
					RUgwMQ==
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>change EHC2 to EH02</string>
					<key>Disabled</key>
					<true/>
					<key>Find</key>
					<data>
					RUhDMg==
					</data>
					<key>Replace</key>
					<data>
					RUgwMg==
					</data>
				</dict>
			</array>
			<key>ReuseFFFF</key>
			<false/>
		</dict>
		<key>DropTables</key>
		<array>
			<dict>
				<key>Signature</key>
				<string>DMAR</string>
			</dict>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>Cpu0Ist</string>
			</dict>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>CpuPm</string>
			</dict>
		</array>
		<key>SSDT</key>
		<dict>
			<key>DropOem</key>
			<false/>
			<key>Generate</key>
			<dict>
				<key>CStates</key>
				<false/>
				<key>PStates</key>
				<false/>
				<key>PluginType</key>
				<false/>
			</dict>
		</dict>
		<key>smartUPS</key>
		<true/>
	</dict>
	<key>Boot</key>
	<dict>
		<key>Arguments</key>
		<string>-v darkwake=8 npci=0x2000</string>
		<key>Debug</key>
		<false/>
		<key>DefaultLoader</key>
		<string>BOOTX64.efi</string>
		<key>DefaultVolume</key>
		<string>LastBootedVolume</string>
		<key>Legacy</key>
		<string>LegacyBiosDefault</string>
		<key>Secure</key>
		<false/>
		<key>Timeout</key>
		<integer>25</integer>
		<key>XMPDetection</key>
		<false/>
	</dict>
	<key>CPU</key>
	<dict>
		<key>BusSpeedkHz</key>
		<integer>100000</integer>
		<key>QPI</key>
		<integer>100</integer>
		<key>Type</key>
		<string>0x0a02</string>
		<key>UseARTFrequency</key>
		<false/>
	</dict>
	<key>Devices</key>
	<dict>
		<key>Audio</key>
		<dict>
			<key>Inject</key>
			<string>1</string>
		</dict>
		<key>USB</key>
		<dict>
			<key>FixOwnership</key>
			<false/>
			<key>Inject</key>
			<false/>
		</dict>
	</dict>
	<key>GUI</key>
	<dict>
		<key>Language</key>
		<string>en:0</string>
		<key>Mouse</key>
		<dict>
			<key>DoubleClick</key>
			<integer>500</integer>
			<key>Enabled</key>
			<false/>
			<key>Mirror</key>
			<false/>
			<key>Speed</key>
			<integer>8</integer>
		</dict>
		<key>ScreenResolution</key>
		<string>3840x2160</string>
		<key>Theme</key>
		<string>ios7</string>
	</dict>
	<key>Graphics</key>
	<dict>
		<key>Inject</key>
		<dict>
			<key>ATI</key>
			<false/>
			<key>Intel</key>
			<false/>
			<key>NVidia</key>
			<false/>
		</dict>
		<key>NvidiaSingle</key>
		<false/>
	</dict>
	<key>KernelAndKextPatches</key>
	<dict>
		<key>AppleIntelCPUPM</key>
		<false/>
		<key>AppleRTC</key>
		<false/>
		<key>Debug</key>
		<false/>
		<key>FakeCPUID</key>
		<string>0x040674</string>
		<key>KernelCpu</key>
		<false/>
		<key>KernelLapic</key>
		<false/>
		<key>KernelPm</key>
		<false/>
		<key>KernelToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>xcpm_assert_perf_max (c) okrasit</string>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				idjB4AhIY9A=
				</data>
				<key>MatchOS</key>
				<string>10.13.x</string>
				<key>Replace</key>
				<data>
				uAD/AABIY9A=
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>xcpm_program_msrs (c) Pike R. Alpha</string>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				VUiJ5UFXQVZBVUFUU1BBidZIifuF9g+EhAAAAA==
				</data>
				<key>MatchOS</key>
				<string>10.13.x</string>
				<key>Replace</key>
				<data>
				w5CJ5UFXQVZBVUFUU1BBidZIifuF9g+EhAAAAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>xcpm_idle patch by Pike R. Alpha</string>
				<key>Disabled</key>
				<true/>
				<key>Find</key>
				<data>
				vgMAAAAx0uhy/P//
				</data>
				<key>Replace</key>
				<data>
				vgMAAAAx0pCQkJCQ
				</data>
			</dict>
		</array>
		<key>KernelXCPM</key>
		<false/>
		<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>10.12-10.13::IOPCIConfigurator for X99, (credit Brumbear)</string>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				SIH7AAAAQA==
				</data>
				<key>Name</key>
				<string>com.apple.iokit.IOPCIFamily</string>
				<key>Replace</key>
				<data>
				SIH7AAAAgA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Change 15 port limit to 24 in XHCI kext 10.13</string>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				g32MEA==
				</data>
				<key>MatchOS</key>
				<string>10.13.3</string>
				<key>Name</key>
				<string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
				<key>Replace</key>
				<data>
				g32MHQ==
				</data>
			</dict>
			<dict>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				AEFQUExFIFNTRAA=
				</data>
				<key>Name</key>
				<string>IOAHCIBlockStorage</string>
				<key>Replace</key>
				<data>
				AAAAAAAAAAAAAAA=
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>limit 10.13.4</string>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				g32UDw+DlwQAAA==
				</data>
				<key>MatchOS</key>
				<string>10.13.4</string>
				<key>Name</key>
				<string>com.apple.driver.usb.AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				g32UD5CQkJCQkA==
				</data>
			</dict>
		</array>
	</dict>
	<key>RtVariables</key>
	<dict>
		<key>BooterConfig</key>
		<string>0x28</string>
		<key>CsrActiveConfig</key>
		<string>0x03</string>
	</dict>
	<key>SMBIOS</key>
	<dict>
		<key>BiosReleaseDate</key>
		<string>12/08/2017</string>
		<key>BiosVendor</key>
		<string>Apple Inc.</string>
		<key>BiosVersion</key>
		<string>IMP11.88Z.0064.B30.1712081714</string>
		<key>Board-ID</key>
		<string>Mac-7BA5B2D9E42DDD94</string>
		<key>BoardManufacturer</key>
		<string>Apple Inc.</string>
		<key>BoardSerialNumber</key>
		<string>xxxxx</string>
		<key>BoardType</key>
		<integer>10</integer>
		<key>BoardVersion</key>
		<string>1.0</string>
		<key>ChassisAssetTag</key>
		<string>iMacPro-Aluminum</string>
		<key>ChassisManufacturer</key>
		<string>Apple Inc.</string>
		<key>ChassisType</key>
		<string>0x09</string>
		<key>Family</key>
		<string>iMac Pro</string>
		<key>FirmwareFeatures</key>
		<string>0xFD8FF53E</string>
		<key>FirmwareFeaturesMask</key>
		<string>0xFF9FFF3F</string>
		<key>LocationInChassis</key>
		<string>Part Component</string>
		<key>Manufacturer</key>
		<string>Apple Inc.</string>
		<key>Mobile</key>
		<false/>
		<key>PlatformFeature</key>
		<string>0xFFFF</string>
		<key>ProductName</key>
		<string>iMacPro1,1</string>
		<key>SerialNumber</key>
		<string>xxx</string>
		<key>Version</key>
		<string>1.0</string>
	</dict>
	<key>SystemParameters</key>
	<dict>
		<key>CustomUUID</key>
		<string>xxx</string>
		<key>InjectKexts</key>
		<string>Yes</string>
		<key>InjectSystemID</key>
		<true/>
		<key>NvidiaWeb</key>
		<true/>
	</dict>
</dict>
</plist> 

@apianti

with those two kernel patches system boots fine

I think in clover conditional choice could be some error for my rig when KernelXCPM is set

 

MSR0xE2 Unlocked & Broadwell EP Unsupported cpu

MSR0xE2 Locked & Broadwell EP Unsupported cpu

system boots with config.plist posted here

 

with MSR0xE2 Unlocked & Broadwell EP Unsupported cpu

system boots fine with only KernelXCPM flag set

 

with

MSR0xE2 Locked & Broadwell EP Unsupported cpu

system boots fine with KernelXCPM and those two patches you mention

 

 

So was thinking some thins are broken in conditions choice Clover does for my rig

 

sorry for so simple explanation :) I am only a user

 

 

 

 

 

Link to comment
Share on other sites

It's /Library/Preferences/com.projectosx.clover.installer.plist.

 

@Philip Petev

i have a question. like you said, installation info of user's setting was saved in com.projectosx.clover.installer.plist
 
but after installed clean high sierra, and i installed clover without any driver check of driver64uefi(never check). ex. there was EmuVariableUefi-64.efi. this file was optional.
then enter clover package again, checked EmuVariableUefi-64.efi in package, and unchecked. then EmuVariableUefi-64.efi was automatically removed. so i want to cleanup installation info like clean installation of high sierra
 
i removed com.projectosx.clover.installer.plist like you said. clover package option is default again. but still clover package automatically remove EmuVariableUefi-64.efi file.
is there another save part? i don't know exact clover package behavior why happen.
 
If it is an option file, why is the clover package removing only certain files without erasing all previous option files in the driver64uefi folder?
In the case I mentioned above, fat-64 always exists, with or without checking.
The current code is not clean. This is because only certain files show this phenomenon.
 
EDIT1.
you need to test between fat-64 and EmuVariableUefi. you can surely see this phenomenon
 
EDIT2.
never touch any driver64uefi in clover package after install fresh hs.
clover package don't touch user's uefi driver.
but once after checked driver in clover package and install clover. clover package saved user's setting. then clover package again. uncheck checked driver. then clover package removed this file. then removed com.projectosx.clover.installer.plist. clover package is default option. but still automatically removed after manually added driver. why not back "never touch any driver64uefi in clover package after install fresh hs, clover package don't touch user's uefi driver."?
Link to comment
Share on other sites

Sorry apianti my request of help maybe it is not complete

 

Usually I boot fine in my rig with only a fakecpuid for my unsupported CPU (Broadwell EP), with Pike patch and a kext to patch by Brumbaer (com.apple.iokit.IOPCIFamily)

No kernel Pm flagged Or other you mention 

When a new os/beta come I do some test to verify if something new is on Apple kernel

And for this I did some test disabling things useful previously to boot (and kernel XCPM helps (usually) to solve if I have problem

in this case it seems no

ps I am now trying your advice (but usually I don't use those patch In clover to boot)

Grazie

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>ACPI</key>
	<dict>
		<key>DSDT</key>
		<dict>
			<key>Debug</key>
			<false/>
			<key>DropOEM_DSM</key>
			<false/>
			<key>Name</key>
			<string>DSDT.aml</string>
			<key>Patches</key>
			<array>
				<dict>
					<key>Comment</key>
					<string>Change XHCI to XHC</string>
					<key>Disabled</key>
					<true/>
					<key>Find</key>
					<data>
					WEhDSQ==
					</data>
					<key>Replace</key>
					<data>
					WEhDXw==
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>Rename ALZA to HDEF</string>
					<key>Disabled</key>
					<true/>
					<key>Find</key>
					<data>
					QUxaQQ==
					</data>
					<key>Replace</key>
					<data>
					SERFRg==
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>change EHC1 to EH01</string>
					<key>Disabled</key>
					<true/>
					<key>Find</key>
					<data>
					RUhDMQ==
					</data>
					<key>Replace</key>
					<data>
					RUgwMQ==
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>change EHC2 to EH02</string>
					<key>Disabled</key>
					<true/>
					<key>Find</key>
					<data>
					RUhDMg==
					</data>
					<key>Replace</key>
					<data>
					RUgwMg==
					</data>
				</dict>
			</array>
			<key>ReuseFFFF</key>
			<false/>
		</dict>
		<key>DropTables</key>
		<array>
			<dict>
				<key>Signature</key>
				<string>DMAR</string>
			</dict>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>Cpu0Ist</string>
			</dict>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>CpuPm</string>
			</dict>
		</array>
		<key>SSDT</key>
		<dict>
			<key>DropOem</key>
			<false/>
			<key>Generate</key>
			<dict>
				<key>CStates</key>
				<false/>
				<key>PStates</key>
				<false/>
				<key>PluginType</key>
				<false/>
			</dict>
		</dict>
		<key>smartUPS</key>
		<true/>
	</dict>
	<key>Boot</key>
	<dict>
		<key>Arguments</key>
		<string>-v darkwake=8 npci=0x2000</string>
		<key>Debug</key>
		<false/>
		<key>DefaultLoader</key>
		<string>BOOTX64.efi</string>
		<key>DefaultVolume</key>
		<string>LastBootedVolume</string>
		<key>Legacy</key>
		<string>LegacyBiosDefault</string>
		<key>Secure</key>
		<false/>
		<key>Timeout</key>
		<integer>25</integer>
		<key>XMPDetection</key>
		<false/>
	</dict>
	<key>CPU</key>
	<dict>
		<key>BusSpeedkHz</key>
		<integer>100000</integer>
		<key>QPI</key>
		<integer>100</integer>
		<key>Type</key>
		<string>0x0a02</string>
		<key>UseARTFrequency</key>
		<false/>
	</dict>
	<key>Devices</key>
	<dict>
		<key>Audio</key>
		<dict>
			<key>Inject</key>
			<string>1</string>
		</dict>
		<key>USB</key>
		<dict>
			<key>FixOwnership</key>
			<false/>
			<key>Inject</key>
			<false/>
		</dict>
	</dict>
	<key>GUI</key>
	<dict>
		<key>Language</key>
		<string>en:0</string>
		<key>Mouse</key>
		<dict>
			<key>DoubleClick</key>
			<integer>500</integer>
			<key>Enabled</key>
			<false/>
			<key>Mirror</key>
			<false/>
			<key>Speed</key>
			<integer>8</integer>
		</dict>
		<key>ScreenResolution</key>
		<string>3840x2160</string>
		<key>Theme</key>
		<string>ios7</string>
	</dict>
	<key>Graphics</key>
	<dict>
		<key>Inject</key>
		<dict>
			<key>ATI</key>
			<false/>
			<key>Intel</key>
			<false/>
			<key>NVidia</key>
			<false/>
		</dict>
		<key>NvidiaSingle</key>
		<false/>
	</dict>
	<key>KernelAndKextPatches</key>
	<dict>
		<key>AppleIntelCPUPM</key>
		<false/>
		<key>AppleRTC</key>
		<false/>
		<key>Debug</key>
		<false/>
		<key>FakeCPUID</key>
		<string>0x040674</string>
		<key>KernelCpu</key>
		<false/>
		<key>KernelLapic</key>
		<false/>
		<key>KernelPm</key>
		<false/>
		<key>KernelToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>xcpm_assert_perf_max (c) okrasit</string>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				idjB4AhIY9A=
				</data>
				<key>MatchOS</key>
				<string>10.13.x</string>
				<key>Replace</key>
				<data>
				uAD/AABIY9A=
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>xcpm_program_msrs (c) Pike R. Alpha</string>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				VUiJ5UFXQVZBVUFUU1BBidZIifuF9g+EhAAAAA==
				</data>
				<key>MatchOS</key>
				<string>10.13.x</string>
				<key>Replace</key>
				<data>
				w5CJ5UFXQVZBVUFUU1BBidZIifuF9g+EhAAAAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>xcpm_idle patch by Pike R. Alpha</string>
				<key>Disabled</key>
				<true/>
				<key>Find</key>
				<data>
				vgMAAAAx0uhy/P//
				</data>
				<key>Replace</key>
				<data>
				vgMAAAAx0pCQkJCQ
				</data>
			</dict>
		</array>
		<key>KernelXCPM</key>
		<false/>
		<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>10.12-10.13::IOPCIConfigurator for X99, (credit Brumbear)</string>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				SIH7AAAAQA==
				</data>
				<key>Name</key>
				<string>com.apple.iokit.IOPCIFamily</string>
				<key>Replace</key>
				<data>
				SIH7AAAAgA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Change 15 port limit to 24 in XHCI kext 10.13</string>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				g32MEA==
				</data>
				<key>MatchOS</key>
				<string>10.13.3</string>
				<key>Name</key>
				<string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
				<key>Replace</key>
				<data>
				g32MHQ==
				</data>
			</dict>
			<dict>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				AEFQUExFIFNTRAA=
				</data>
				<key>Name</key>
				<string>IOAHCIBlockStorage</string>
				<key>Replace</key>
				<data>
				AAAAAAAAAAAAAAA=
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>limit 10.13.4</string>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				g32UDw+DlwQAAA==
				</data>
				<key>MatchOS</key>
				<string>10.13.4</string>
				<key>Name</key>
				<string>com.apple.driver.usb.AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				g32UD5CQkJCQkA==
				</data>
			</dict>
		</array>
	</dict>
	<key>RtVariables</key>
	<dict>
		<key>BooterConfig</key>
		<string>0x28</string>
		<key>CsrActiveConfig</key>
		<string>0x03</string>
	</dict>
	<key>SMBIOS</key>
	<dict>
		<key>BiosReleaseDate</key>
		<string>12/08/2017</string>
		<key>BiosVendor</key>
		<string>Apple Inc.</string>
		<key>BiosVersion</key>
		<string>IMP11.88Z.0064.B30.1712081714</string>
		<key>Board-ID</key>
		<string>Mac-7BA5B2D9E42DDD94</string>
		<key>BoardManufacturer</key>
		<string>Apple Inc.</string>
		<key>BoardSerialNumber</key>
		<string>xxxxx</string>
		<key>BoardType</key>
		<integer>10</integer>
		<key>BoardVersion</key>
		<string>1.0</string>
		<key>ChassisAssetTag</key>
		<string>iMacPro-Aluminum</string>
		<key>ChassisManufacturer</key>
		<string>Apple Inc.</string>
		<key>ChassisType</key>
		<string>0x09</string>
		<key>Family</key>
		<string>iMac Pro</string>
		<key>FirmwareFeatures</key>
		<string>0xFD8FF53E</string>
		<key>FirmwareFeaturesMask</key>
		<string>0xFF9FFF3F</string>
		<key>LocationInChassis</key>
		<string>Part Component</string>
		<key>Manufacturer</key>
		<string>Apple Inc.</string>
		<key>Mobile</key>
		<false/>
		<key>PlatformFeature</key>
		<string>0xFFFF</string>
		<key>ProductName</key>
		<string>iMacPro1,1</string>
		<key>SerialNumber</key>
		<string>xxx</string>
		<key>Version</key>
		<string>1.0</string>
	</dict>
	<key>SystemParameters</key>
	<dict>
		<key>CustomUUID</key>
		<string>xxx</string>
		<key>InjectKexts</key>
		<string>Yes</string>
		<key>InjectSystemID</key>
		<true/>
		<key>NvidiaWeb</key>
		<true/>
	</dict>
</dict>
</plist> 

@apianti

with those two kernel patches system boots fine

I think in clover conditional choice could be some error for my rig when KernelXCPM is set

 

MSR0xE2 Unlocked & Broadwell EP Unsupported cpu

MSR0xE2 Locked & Broadwell EP Unsupported cpu

system boots with config.plist posted here

 

with MSR0xE2 Unlocked & Broadwell EP Unsupported cpu

system boots fine with only KernelXCPM flag set

 

with

MSR0xE2 Locked & Broadwell EP Unsupported cpu

system boots fine with KernelXCPM and those two patches you mention

 

 

So was thinking some thins are broken in conditions choice Clover does for my rig

 

sorry for so simple explanation :) I am only a user

 

No problem, whenever MSR 0xE2 is detected as locked, those configuration keys are automatically enabled but you set those to false which disabled them and they are needed for locked MSR 0xE2.

 

@Philip Petev

i have a question. like you said, installation info of user's setting was saved in com.projectosx.clover.installer.plist
 
but after installed clean high sierra, and i installed clover without any driver check of driver64uefi(never check). ex. there was EmuVariableUefi-64.efi. this file was optional.
then enter clover package again, checked EmuVariableUefi-64.efi in package, and unchecked. then EmuVariableUefi-64.efi was automatically removed. so i want to cleanup installation info like clean installation of high sierra
 
i removed com.projectosx.clover.installer.plist like you said. clover package option is default again. but still clover package automatically remove EmuVariableUefi-64.efi file.
is there another save part? i don't know exact clover package behavior why happen.
 
If it is an option file, why is the clover package removing only certain files without erasing all previous option files in the driver64uefi folder?
In the case I mentioned above, fat-64 always exists, with or without checking.
The current code is not clean. This is because only certain files show this phenomenon.
 
EDIT1.
you need to test between fat-64 and EmuVariableUefi. you can surely see this phenomenon
 
EDIT2.
never touch any driver64uefi in clover package after install fresh hs.
clover package don't touch user's uefi driver.
but once after checked driver in clover package and install clover. clover package saved user's setting. then clover package again. uncheck checked driver. then clover package removed this file. then removed com.projectosx.clover.installer.plist. clover package is default option. but still automatically removed after manually added driver. why not back "never touch any driver64uefi in clover package after install fresh hs, clover package don't touch user's uefi driver."?

 

 

Yes, I agree I don't think that the package removes/keeps drivers like a user would want. But are you saying that there is also a case where the installer removes manually placed drivers that weren't installed through the installer? Or are you just confirming the previous that it does not delete everything previously installed?

Link to comment
Share on other sites

 

 

Yes, I agree I don't think that the package removes/keeps drivers like a user would want. But are you saying that there is also a case where the installer removes manually placed drivers that weren't installed through the installer? Or are you just confirming the previous that it does not delete everything previously installed?

I saw some difference.

1. In fresh macos status(never install clover package)

Already i have efi(clover) before install fresh macos. Then just install clover package without never checked any driver64uefi.

Then clover package don't touch any optional files(i have previous files).

 

2. Then reinstall clover package again.

Next next then check example fat-64(already i have before). Then next and completed installation of clover. And there was fat-64 efi in driver64uefi. Then clover package again. Next next uncheck checked fat-64. Then next, and completed installation of clover. And fat-64 was removed. Clover package saved users setting plist. So i removed plist to reset clover package option(default). Then i added fat-64.efi manually in driver64uefi and i did case1 process above. But clover package still remove fat-64.efi automatically.

 

As result, when case1, there is no problem but case2, its not good. In case2, is there another part to save option(to auto-remove fat-64)?

 

Thanks in advance

 

나의 LG-F800S 의 Tapatalk에서 보냄

Link to comment
Share on other sites

I made some tests today. It's all about this part:

# Remove files of old revision.
pkgs=$(/usr/sbin/pkgutil --volume "$DEST_VOL" --pkgs | /usr/bin/grep -iE '@CLOVER_PACKAGE_IDENTITY@.' | /usr/bin/grep -Ev 'ntfs|apfs|hfsplus')
for pkg in $pkgs; do
    # Get where the files where installed from volume destination
    location=$(/usr/sbin/pkgutil --volume "$DEST_VOL" --pkg-info $pkg 2>/dev/null | sed -n 's/^location: *//p')
    pkgutil --volume "$DEST_VOL" --files $pkg 2>/dev/null  | \
     xargs -I @@ echo "$DEST_VOL/$location/@@"             | \
     /usr/bin/grep -iE 'EFI/CLOVER/(drivers\w+)/'   | \
     xargs -I @@ rm -rf '@@'
    rm -f "$DEST_VOL"/Library/Receipts/"$pkg".{plist,bom}
done

First line determines all installed packages with identifiers, starting with org.clover, excluding the identifiers of the filesystem drivers if anyone have them installed with custom package. Nothing unusual.

 

Now, the "for" cycle is the interesting part - for each identifier in the list, got by the first line, the install location is being determined and the next long command finds and deletes all files, installed by the EFI drivers subpackages. That's right, the long command deletes only EFI drivers and nothing else! This part of the command,  /usr/bin/grep -iE 'EFI/CLOVER/(drivers\w+)/, is used to append the path to the files, because it seems the bom files (the install receipts) for those subpackages contain only the filename they install and not the full path to it, like other subpackages like the Clover prefpane or the Clover Theme Manager. This is pretty short explanation of what this whole line does, those who a interested can check the xargs man page.

 

The last command removes the package receipts corresponding to those identifiers. And here we have a problem: it actually removes nothing, at least not in the recent macOS version. There was indeed a time when that folder (/Library/Receipts) contained the receipts, but at some point they were moved in /var/db/receipts and /Library/Receipts is not being used for this purpose anymore. So, with a receipt, still present in that folder, it's a matter of time any EFI driver (installed manually or not) do magically disappear.

 

All this seems to me like a bad design. The right approach would be a preinstall script in every EFI driver subpackage that will remove the old driver ONLY if the driver has been selected for installation.

 

About fat-64.efi - this driver is not mandatory, ebuild.sh copies it in drivers-Off/drivers64UEFI, so it appears as a separate option in the Drivers64UEFI submenu. @Sherlocks, try to remove your ~/src/edk2 folder and also make sure you have the latest Build_Clover.command script (if you use it). Made several packages during last two days and none of them auto-installs fat-64.efi when the option is not selected. I think Micky pushed a commit about that these days...

  • Like 3
Link to comment
Share on other sites

×
×
  • Create New...