Jump to content

Clover General discussion


ErmaC
29,866 posts in this topic

Recommended Posts

 

Well, let me try to be clearer. It's just that my English is not very good.

 
I have a flash drive with the installation of the High Sierra, and I also have an old 320GB hard drive, of notebook, with the High Sierra installed in it. This HD installs and updates perfectly because the problem is only on Fusion Drive.
The place where I want to get the installation and updates perfectly is on Fusion Drive with JHFS + partition, as I have a 250GB SSD and a 3TB HD.
This problem started happening in High Sierrra, previous versions of macOS did not have the problem.
 
I can open the High Sierra through the 500GB HD (HD-HS) and walk through the folders on Fusion Drive (Macintosh HD) as shown in the photo. I also have another HD with Windows 10, but this one is irrelevant.
Note: I do not leave the 500GB HD with the High Sierra on the computer. I only plug it in when there is a problem on Fusion Drive. It is for testing and troubleshooting purposes only.
 
Edit: I'm trying to understand how to solve the problem, but I think it's going to take a while.

 

No! Don't mount the virtualized core storage volume, that gets you nowhere. Inspect the individual volumes on the disks themselves, they should have multiple partitions. That's why I said terminal, because Finder will only allow you to see the core storage volume. I believe there is a preboot volume that contains the actual loaders, they are in some weird named folders, they might have changed the folders. Your boot.log section where it says your disks/volumes would be nice too cause it should say in that as well.

 

 

Switch off Fusion drive then install High Sierra and then switch on Fusion drive again.

 

Yeah, or do that!

Link to comment
Share on other sites

@anyone,

 

On a separate note, the wiki seems to have many broken anchor links across pages

 

The wiki site has a good rank in google but in fact not well maintained  :(  They also has a broken OAuth so I cant login with my github account to edit the links.

I work for new Clover wiki in php (with grav) last year.. shared with slice, ermac / blackosx already, cant remember it correctly. If someone interest with that project, feel free to contact me :)

  • Like 3
Link to comment
Share on other sites

The wiki site has a good rank in google but in fact not well maintained  :(  They also has a broken OAuth so I cant login with my github account to edit the links.

I work for new Clover wiki in php (with grav) last year.. shared with slice, ermac / blackosx already, cant remember it correctly. If someone interest with that project, feel free to contact me :)

 

I thought it was just me, lol... I have never been able to log in, but others have... Sooooo.... What is going on with it? Is it just the github OAuth? That's the only auth I want to use cause it doesn't have my personal name... Is JrCs around at all anymore?????

 

EDIT: The wiki definitely needs updated, and I don't want to have that old one still up if there's another up as well, that's just confusing. Maybe someone else can take over the current wiki if JrCs can be found, or he maybe he will fix it, or he can take it down so another can be done.

Link to comment
Share on other sites

@clover developer team, first off, many thanks for taking the time to enable AMD and Ryzen compatibility with the newer versions of clover. This has been a great help.

 

There is one minor issue when loading it on Ryzen systems as it always loads the MacPro 3.1 System definition. That’s great for El Capitan but it stalls the boot up in Sierra and above. Is there any way to have it assign the MacPro 4,1 or 5.1 definition so that it would be bootable without changing out the config.plist. I know it’s a Minor issue but for updates it’s helpful for the FF and FFM features.

Link to comment
Share on other sites

bug report(tested r4294)

 

1. http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/?p=2526355

clover still can't read other folder if os is "null". only null case.

old clover can read folder(firstly implemented by syscl) on option part. at that time, but there are shown all directory when os is null.

 

2. can't use -x and -v at the same time. represent blow pic. and booted normal like without any option(-v -f -x).

before, there is no problem. i can use safe mode. but now, i can't

post-980913-0-04488500-1510164448_thumb.jpg

 

3. "-f" properly not working.  -x seems to ignore cache. i checked it on 10.6.8. like -x, maybe can we get any chance to ignore cache?

https://sourceforge.net/p/cloverefiboot/tickets/417/

I used the -f option a lot when I used the Chameleon bootloader a long time ago(2011~2012).

However, the current clovers do not work with the -f option. I do not know exactly why.

 

 

thanks in advance

Link to comment
Share on other sites

bug report(tested r4294)

 

1. http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/?p=2526355

clover still can't read other folder if os is "null". only null case.

old clover can read folder(firstly implemented by syscl) on option part. at that time, but there are shown all directory when os is null.

 

2. can't use -x and -v at the same time. represent blow pic. and booted normal like without any option(-v -f -x).

before, there is no problem. i can use safe mode. but now, i can't

attachicon.gif1.jpg

 

3. "-f" properly not working.  -x seems to ignore cache. i checked it on 10.6.8. like -x, maybe can we get any chance to ignore cache?

https://sourceforge.net/p/cloverefiboot/tickets/417/

 

thanks in advance

I dont have issue in Other

Check if you have install OsxLowMemFixDrv with OsxAptioFixDrv by mistake

Remove ➤ OsxLowMemFixDrv

Thats solved one guys last night with the same image like you

  • Like 1
Link to comment
Share on other sites

I dont have issue in Other

Check if you have install OsxLowMemFixDrv with OsxAptioFixDrv by mistake

Remove ➤ OsxLowMemFixDrv

 

i don't have any lowmemfixdrv file.

1. appstore update no problem. i reported before

http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/?p=2528917

 

2. i just mentioned that if os is "null", can't read other folder. 

post-980913-0-29409600-1509506978_thumb.

post-980913-0-69730600-1509506984_thumb.

 

 

now appstore update no problem(resolved 4293).

but empty issue also was report before by Matgen84.

http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/?p=2527364

only "null", in gui, there is no folder

  • Like 1
Link to comment
Share on other sites

@chris1111

this problem happens in my case  only during update phase from ie a beta update and booting from  boot macOS install icon

also in this step config.plist with patches for unsupported cpu are not working and to boot I have to force use of Kernel XCPM patches (automatic clover patching)

In this step it is impossible to exclude kext from booting because no folder are visible

It is possible to avoid this moving selection to the disk ie macOS, and then open kext management in my case

Link to comment
Share on other sites

@chris1111

this problem happens in my case  only during update phase from ie a beta update and booting from  boot macOS install icon

also in this step config.plist with patches for unsupported cpu are not working and to boot I have to force use of Kernel XCPM patches (automatic clover patching)

In this step it is impossible to exclude kext from booting because no folder are visible

It is possible to avoid this moving selection to the disk ie macOS, and then open kext management in my case

 
When os becomes a null case, there are two situations.
1. I can not see the folder when blocking the kext from the clover gui
2. When os is null, patches (10.12.x or 10.13.x) will not work if matchos is specified in the config xcpm patch.
The user will have to remove 10.12.x or 10.13.x if there is a matchos section. also kext patch too. in your case, seems to important it. because there are pci patch and xcpm to boot macos
 
Of course, the current issue # 2 seems to be resolved somewhat in commits r4293.

Ha ok now its during Update process ?

 

update process no problem from appstore. it was resolved on r4293. i just mentioned that os is "null".

Link to comment
Share on other sites

bug report(tested r4294)

 

1. http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/?p=2526355

clover still can't read other folder if os is "null". only null case.

old clover can read folder(firstly implemented by syscl) on option part. at that time, but there are shown all directory when os is null.

 

2. can't use -x and -v at the same time. represent blow pic. and booted normal like without any option(-v -f -x).

before, there is no problem. i can use safe mode. but now, i can't

attachicon.gif1.jpg

 

3. "-f" properly not working.  -x seems to ignore cache. i checked it on 10.6.8. like -x, maybe can we get any chance to ignore cache?

https://sourceforge.net/p/cloverefiboot/tickets/417/

I used the -f option a lot when I used the Chameleon bootloader a long time ago(2011~2012).

However, the current clovers do not work with the -f option. I do not know exactly why.

 

 

thanks in advance

Option "-f" is Chameleon flag. No sense to implement it in Clover. But Rehabman insists.

  • Like 1
Link to comment
Share on other sites

Option "-f" is Chameleon flag. No sense to implement it in Clover. But Rehabman insists.

3days ago, i installed snow leopard. At that time, i tested some options.

First,(already enabled AICPM in config) i used only -v option. I got AICPM kext panic. Then use "-f" option. But still get AICPM kext panic. Kernelcache properly didn't work. So need to avoid kernelcache. Therefore i have to use null cpu kext or -x option(i saw avoided cache when boot) to boot. Then have to rebuild cache. As result, seems "-f" option is usefull when using snow leopard.

 

Except snow leopard, since 10.7 to 10.13.2 beta2, no need "-f, -x -s" for kernelcache.

 

 

나의 LG-F800S 의 Tapatalk에서 보냄

Link to comment
Share on other sites

@Slice, would it be possible to get the current kext version number to show up in the Clover GUI "Block Injected Kexts" section at the side of its name?

 

Just an idea  ;)

Thanks for the good idea. I made this in rev.4295

 

Moreover I fixed one bug in kext injection

-  FreePool(KextPath);
+  FreePool(FullPath);

It may cause different effects. Test all again.

  • Like 3
Link to comment
Share on other sites

EDIT: The wiki definitely needs updated, and I don't want to have that old one still up if there's another up as well, that's just confusing. Maybe someone else can take over the current wiki if JrCs can be found, or he maybe he will fix it, or he can take it down so another can be done.

If desired, I'm willing to give the Clover wiki/docs an overhaul for better clarity & completeness. Something I've been wanting to do for awhile.

Link to comment
Share on other sites

Have a sort of NVram Problem - I guess. 

I tried to update from Sierra to HS by just using the installer app. (Preparation like adding apps.efi, updating clover etc. done in front certainly).

The update started and after a short time it rebooted the system. Then my Sierra started again acting like nothing has been done before.

 

Then I installed HS via an USB installer. So, to keep my Sierra partition, I shrinked it and installed HS to the free rest space. This worked fine. HS started up like expected. It looks like it is working fine on my hardware. 

 

The problem occurs after 13.1 has been released. I run the update and once again the system reboots but started with 13.0 like nothing has happened in between.

 

My thought are currently that a special NVram entry is being placed by the installer/updater but it does not persist a reboot of my machine? Or does any one knows whats is going on with my system - because I also do not find any similar behaviour being posted in any forums?

 

What I have done so far:

1. I tried to add a boot parameter via shell command to the nvram - was not recognised at new boot.

2. I tried to create a /etc/shutdown... script to copy nvram to disk but no luck. Clover is always saying: "PutNvramPlistToRtVars: nvram.plist not found"

 

No further idea on my side.

 

So how can I debug my nvram is my first question here?

 

Please also advice which information is needed if you want to look deeper into my problem.

 

Regards

Link to comment
Share on other sites

3. "-f" properly not working.  -x seems to ignore cache. i checked it on 10.6.8. like -x, maybe can we get any chance to ignore cache?

https://sourceforge.net/p/cloverefiboot/tickets/417/

I used the -f option a lot when I used the Chameleon bootloader a long time ago(2011~2012).

However, the current clovers do not work with the -f option. I do not know exactly why.

-f is a kernel flag. Has nothing to do with Clover.

You should not expect different versions of macOS/OS X to treat -f the same.

Link to comment
Share on other sites

Link to comment
Share on other sites

No! Don't mount the virtualized core storage volume, that gets you nowhere. Inspect the individual volumes on the disks themselves, they should have multiple partitions. That's why I said terminal, because Finder will only allow you to see the core storage volume. I believe there is a preboot volume that contains the actual loaders, they are in some weird named folders, they might have changed the folders. Your boot.log section where it says your disks/volumes would be nice too cause it should say in that as well.

 

I created a FusionHD on a macOS guest in VMware, ran the "Install macOS High Sierra.app" targeting the FusionHD, then attached the component "physical" drives to a Linux Mint VM to examine the file structures...

 

 

 

post-846696-0-75479300-1510180369_thumb.png

post-846696-0-14266600-1510180413_thumb.png

post-846696-0-38708000-1510180442_thumb.png

 

 

 

Details of the core storage volume "FusionHD" (disk3, comprised of physical drives disk0 & disk1) are listed below...

fusion71aus-iMac:~ fusion71au$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *53.7 GB    disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage FusionHD                53.3 GB    disk0s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk0s3

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *42.9 GB    disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:          Apple_CoreStorage FusionHD                42.6 GB    disk1s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk1s3

/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *53.7 GB    disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:                  Apple_HFS macOS                   52.8 GB    disk2s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk2s3

/dev/disk3 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS FusionHD               +90.5 GB    disk3
                                 Logical Volume on disk0s2, disk1s2
                                 6FCF6DFD-473E-4EEC-A983-4394B6D223D9
                                 Unencrypted Fusion Drive

fusion71aus-iMac:~ fusion71au$ diskutil coreStorage list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 8A9E365C-ADA0-42E5-B62C-BFEC785CB649
    =========================================================
    Name:         FusionHD
    Status:       Online
    Size:         95948816384 B (95.9 GB)
    Free Space:   106496 B (106.5 KB)
    |
    +-< Physical Volume 0D07162A-6C25-41F7-86E9-6C76A4B5B176
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     53343117312 B (53.3 GB)
    |
    +-< Physical Volume 7AAE3F60-4C0E-44A2-911B-53FA15EB77B3
    |   ----------------------------------------------------
    |   Index:    1
    |   Disk:     disk1s2
    |   Status:   Online
    |   Size:     42605699072 B (42.6 GB)
    |
    +-> Logical Volume Family 43011F12-511E-4CC4-8A61-A9A95FF91057
        ----------------------------------------------------------
        Encryption Type:         None
        |
        +-> Logical Volume 6FCF6DFD-473E-4EEC-A983-4394B6D223D9
            ---------------------------------------------------
            Disk:                  disk3
            Status:                Online
            Size (Total):          90522517504 B (90.5 GB)
            Revertible:            No
            LV Name:               FusionHD
            Volume Name:           FusionHD
            Content Hint:          Apple_HFS
            LVG Type:              Fusion, Sparse
fusion71aus-iMac:~ fusion71au$ diskutil info disk3 | grep UUID
   Volume UUID:              DFC8F5FF-200A-38F7-AA00-63C3D5813FD6
   Disk / Partition UUID:    6FCF6DFD-473E-4EEC-A983-4394B6D223D9
   LV UUID:                  6FCF6DFD-473E-4EEC-A983-4394B6D223D9
   LVF UUID:                 43011F12-511E-4CC4-8A61-A9A95FF91057
   LVG UUID:                 8A9E365C-ADA0-42E5-B62C-BFEC785CB649
   PV UUID (disk):           0D07162A-6C25-41F7-86E9-6C76A4B5B176 (disk0s2)
   PV UUID (disk):           7AAE3F60-4C0E-44A2-911B-53FA15EB77B3 (disk1s2)

The boot files to begin the install (boot.efi, com.apple.Boot.plist, SystemVersion.plist and the prelinkedkernel) are all copied to the folder "com.apple.boot.R" in each of the "Boot OS X" partitions of the physical drives making up the FusionHD (in this case disk0s3 and disk1s3).  The com.apple.Boot.plist points to the Volume UUID of the Fusion drive = disk3.

 

Hope this helps the devs fix the installation of High Sierra on Fusion HDs :).

 

 

Can you tell me how to do this? This problem has bothered me since the release. If I can solve this I can still help several people who have the same problem.

Note: I'm using JHFS+

 

You can continue the second phase installation by starting boot.efi from the EFI shell (Clover main menu ---> Shell64U.efi).

 

In my example above, the booter partition "Boot OS X" corresponded to FS3:

 

Hint - you can switch between FS1:, FS2:, and FS3: volumes consecutively, and use the ls command to see which volume has the "com.apple.boot.R" folder...

 

So in the EFI shell, I typed the following lines, followed by <Enter>

FS3:
"\com.apple.boot.R\boot.efi" 

 

post-846696-0-75612500-1510189403_thumb.png

post-846696-0-42395900-1510187300_thumb.png

 

 

OR create a custom Clover entry for the FusionHD Installer in config.plist/GUI, based on the UUID of the "Boot OS X" booter partition eg

 

 

post-846696-0-64940900-1510208391_thumb.png

fusion71aus-iMac:~ fusion71au$ diskutil info "Boot OS X" | grep UUID
   Volume UUID:              BEB2BAC6-72A4-32BE-8464-7CF3F94F6930
   Disk / Partition UUID:    84496AE5-87DA-4862-AC79-C69E65D56EDA
		<key>Custom</key>
		<dict>
			<key>Entries</key>
			<array>
				<dict>
					<key>Disabled</key>
					<false/>
					<key>FullTitle</key>
					<string>FusionHD Installer</string>
					<key>Hidden</key>
					<false/>
					<key>Ignore</key>
					<false/>
					<key>InjectKexts</key>
					<true/>
					<key>NoCaches</key>
					<false/>
					<key>Path</key>
					<string>\com.apple.boot.R\boot.efi</string>
					<key>Type</key>
					<string>OSXInstaller</string>
					<key>Volume</key>
					<string>84496AE5-87DA-4862-AC79-C69E65D56EDA</string> #Partition UUID of "Boot OS X"
				</dict>
			</array>
		</dict>

post-846696-0-03917000-1510261779_thumb.png

 

and select the entry from the Clover Main Menu.

  • Like 3
Link to comment
Share on other sites

Link to comment
Share on other sites

The kernel (or perhaps boot.efi) definitely does something with it.

The fact that Chameleon does more stuff with it is off-topic wrt Clover.

I think the magic is done by Clover:

// check if blocking of caches is needed
  if (OSFLAG_ISSET(Entry->Flags, OSFLAG_NOCACHES)) {
    MsgLog ("Blocking kext caches\n");
    //  BlockCaches = TRUE;
    // add caches to blacklist
    Blacklist = FSInject->CreateStringList ();
    if (Blacklist == NULL) {
      MsgLog (" - ERROR: Not enough memory!\n");
      return EFI_NOT_STARTED;
    }

    FSInject->AddStringToList(Blacklist, L"\\System\\Library\\Caches\\com.apple.kext.caches\\Startup\\kernelcache");
    FSInject->AddStringToList(Blacklist, L"\\System\\Library\\Caches\\com.apple.kext.caches\\Startup\\Extensions.mkext");
    FSInject->AddStringToList(Blacklist, L"\\System\\Library\\Extensions.mkext");
    //  FSInject->AddStringToList(Blacklist, L"\\System\\Library\\PrelinkedKernels\\prelinkedkernel");

    FSInject->AddStringToList(Blacklist, L"\\com.apple.recovery.boot\\kernelcache");
    FSInject->AddStringToList(Blacklist, L"\\com.apple.recovery.boot\\Extensions.mkext");
    FSInject->AddStringToList(Blacklist, L"\\.IABootFiles\\kernelcache");

    if (gSettings.BlockKexts[0] != L'\0') {
      FSInject->AddStringToList(Blacklist, PoolPrint (L"\\System\\Library\\Extensions\\%s", gSettings.BlockKexts));
    }
  }

If this code is working, and paths are blacklisted, then somehow loads the kernel or a prelinked from the helper partition (recovery or preboot where "kernelcache" is now prelinkedkernel). Can be !?

Link to comment
Share on other sites

I think the magic is done by Clover:

// check if blocking of caches is needed
  if (OSFLAG_ISSET(Entry->Flags, OSFLAG_NOCACHES)) {
    MsgLog ("Blocking kext caches\n");
    //  BlockCaches = TRUE;
    // add caches to blacklist
    Blacklist = FSInject->CreateStringList ();
    if (Blacklist == NULL) {
      MsgLog (" - ERROR: Not enough memory!\n");
      return EFI_NOT_STARTED;
    }

    FSInject->AddStringToList(Blacklist, L"\\System\\Library\\Caches\\com.apple.kext.caches\\Startup\\kernelcache");
    FSInject->AddStringToList(Blacklist, L"\\System\\Library\\Caches\\com.apple.kext.caches\\Startup\\Extensions.mkext");
    FSInject->AddStringToList(Blacklist, L"\\System\\Library\\Extensions.mkext");
    //  FSInject->AddStringToList(Blacklist, L"\\System\\Library\\PrelinkedKernels\\prelinkedkernel");

    FSInject->AddStringToList(Blacklist, L"\\com.apple.recovery.boot\\kernelcache");
    FSInject->AddStringToList(Blacklist, L"\\com.apple.recovery.boot\\Extensions.mkext");
    FSInject->AddStringToList(Blacklist, L"\\.IABootFiles\\kernelcache");

    if (gSettings.BlockKexts[0] != L'\0') {
      FSInject->AddStringToList(Blacklist, PoolPrint (L"\\System\\Library\\Extensions\\%s", gSettings.BlockKexts));
    }
  }
If this code is working, and paths are blacklisted, then somehow loads the kernel or a prelinked from the helper partition (recovery or preboot where "kernelcache" is now prelinkedkernel). Can be !?

 

That's the code that used to work, but is now broken (some other mechanism required for later releases).

But still -f does something else by itself.

I don't know the solution to make it work 100% effective like it used to (eg. to keep a kext that has been deleted but is still in cache from loading), but I don't need that feature very often... I only need the -f for the AppleHDA out of cache problem.

 

If someone wants to work on fixing that, go for it...

Link to comment
Share on other sites

×
×
  • Create New...