Jump to content

Clover General discussion

Bootloader EFI Clover

  • Please log in to reply
5276 replies to this topic

#881
collac432

collac432

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts

Yes, it's confusing. Are you sure you are using UEFI boot? You should get boot.log at the root of OSX volume. Does it say:

Starting rEFIt rev 980 on American Megatrends EFI
or
Starting rEFIt rev 980 on CLOVER EFI
or something similar?

And the second thing - are you using some other nvram store/restore system from before? If I remember correctly, DHP/RevoGirl had some system for this previously.

And ... which board are you using?


I'm totally sure I'm using UEFI boot. In fact, that is the only boot method I've tried and the reason for choosing Clover as boot loader. I think CLover UEFI boot is the most aproach to apple stuff. The bad thing is that my system is a Dell optiplex 390 desktop. This board has given me many problems (ATA, graphics, etc.) but finally, after hard read and read, is running ;)

So, I've been doing some researches and that's is what I found:

- boot.log shows following messages: (removed messages no import ants)
...
0:101 0:000 Starting rEFIt rev 980 on American Megatrends EFI
...
139 0:000 Clover revision: 980 running on OptiPlex 390
0:139 0:000 ... with board 0M5DCD
0:152 0:012 Using OEM config.plist at path: EFI\config.plist
0:152 0:000 Loading early settings
0:152 0:000 LoadDrivers() start
0:161 0:008 Starting HFSPlus.efi
0:173 0:012 Using load options 'HFSPlus.efi '
0:173 0:000 - driver needs connecting
0:173 0:000 Starting FSInject-64.efi
0:186 0:012 Using load options 'FSInject-64.efi '
0:186 0:000 Starting CsmVideoDxe-64.efi
0:198 0:012 Using load options 'CsmVideoDxe-64.efi '
0:198 0:000 - driver needs connecting
0:198 0:000 Starting OsxAptioFixDrv-64.efi
0:207 0:008 Using load options 'OsxAptioFixDrv-64.efi '
0:207 0:000 Starting OsxFatBinaryDrv-64.efi
0:219 0:012 Using load options 'OsxFatBinaryDrv-64.efi '
0:219 0:000 2 drivers needs connecting ...
0:219 0:000 PlatformDriverOverrideProtocol not found. Installing ... Success
0:219 0:000 Edid: size=128
...
3:380 0:000 FindStartupDiskVolume ...
3:380 0:000 GetEfiBootDeviceFromNvram:
3:383 0:002 efi-boot-device-data: Acpi(PNP0A03,0)/Pci(1F|2)/Ata(Primary,Master)/HD(Part2,Sig83BD7E68-885D-4C37-BE2A-D71A1D63886E)
3:383 0:000 Volume: 'Acpi(PNP0A03,0)/Pci(1F|2)/Ata(Primary,Master)/HD(Part2,Sig83BD7E68-885D-4C37-BE2A-D71A1D63886E)'
3:383 0:000 LoaderPath: ''
3:383 0:000 Guid = 83BD7E68-885D-4C37-BE2A-D71A1D63886E
3:383 0:000 FindStartupDiskVolume searching ...
...

Last part, makes me think that "efi-boot-device-data" exists in NVRAM. Then, why "nvram -p" does not show me it?

Other message I don't know if I have to care about is "PlatformDriverOverrideProtocol not found. Installing ... Success" and don't know if it is related to next finding.

- I've tried to get my system-id to check if the lasts bytes match with my en0 MAC address.

As you explains here, I've set InjectSystemID=Yes and no CustomUUID, so my system-id must be located into IODeviceTree:/efi/platform/system-id... but it does not:

Davids-iMac:~ David$ ioreg -p IODeviceTree
+-o Root 
+-o / 
+-o chosen 
| +-o memory-map 
+-o efi 
| +-o kernel-compatibility 
| +-o runtime-services 
| +-o configuration-table 
| | +-o EB9D2D31-2D88-11D3-9A16-xxxxxxxxxxxx 
| | +-o 8868E871-E4F1-11D3-BC22-xxxxxxxxxxxx
| | +-o 49152E77-1ADA-4764-B7A2-xxxxxxxxxxxx 
| | +-o 4C19049F-4137-4DD3-9C10-xxxxxxxxxxxx 
| | +-o 7739F24C-93D7-11D4-9A3A-xxxxxxxxxxxx 
| | +-o 05AD34BA-6F02-4214-952E-xxxxxxxxxxxx 
| +-o platform 
+-o cpus 

(none of the UUID endings match my ethernet mac address and I don't know if my system-id must be one of them)

At this point, it seems like something goes wrong with my NVRAM variables/efi injection. What do you think?

If you need some more info/logs/tests from me, feel free to ask. Thank you!

#882
dmazar

dmazar

    InsanelyMac Sage

  • Coders
  • 259 posts
  • Gender:Male
About system-id: with "InjectSystemID=Yes and no CustomUUID" it should be there. Try with:
ioreg -l -p IODeviceTree | grep \"system-id
Should give the same value as your SMBIOS UUID (DarwinDump - SMBIOS report, table type 1 System Info).

> GetEfiBootDeviceFromNvram: efi-boot-device-data: Acpi(PNP0A03,0)/Pci(1F|2)/Ata(Primary,Master)/HD(Part2,Sig83BD7E68-885D-4C37-BE2A-D71A1D63886E)
Yes, this means that this value is in nvram.

You can try this in Terminal:
sudo nvram MyVar=TestValue
then print it - should be there:
nvram -p
then restart the system int clover GUI and go to UEFI shell (press S) and type:
dmpstore MyVar
it shold be there. Then exit shell (exit) and boot OSX and print it again:
nvram -p
it should still be there.
How does it work in your case?

#883
collac432

collac432

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts

About system-id: with "InjectSystemID=Yes and no CustomUUID" it should be there. Try with:
ioreg -l -p IODeviceTree | grep \"system-id
Should give the same value as your SMBIOS UUID (DarwinDump - SMBIOS report, table type 1 System Info).


Yeah!
Davids-iMac:~ David$ ioreg -l -p IODeviceTree | grep \"system-id
| "system-id" = <44454c4c590010488050b2c04fxxxxxx>

You can try this in Terminal:
sudo nvram MyVar=TestValue
then print it - should be there:
nvram -p

then restart the system int clover GUI and go to UEFI shell (press S) and type:

dmpstore MyVar

it shold be there.


No luck...
Davids-iMac:~ David$ sudo nvram MyVar=TestValue
Password:
Davids-iMac:~ David$ nvram -p
MyVar TestValue
fmm-computer-name David%e2%80%99s iMac
Davids-iMac:~ David$


In EFI Shell, MyVar was not there, neither "fmm-computer-name" :wallbash:

#884
collac432

collac432

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
By the way, in boot.log appears "FSInjection: not requested". As I added RtVariables to config.plist with MLB key, this should be injected by FSInjection?

#885
dmazar

dmazar

    InsanelyMac Sage

  • Coders
  • 259 posts
  • Gender:Male
FSInjection is one way of injecting kexts from /efi/kexts/{censored} - not for vars.

But - it's clear - your RT variable services are not working properly from OSX. It's strange since it's American Megatrends EFI and I did not see such case so far. Only guys with Phoenix UEFI have similar issue, but it's worse then your case - their OSX is almost blocked for 10 minutes after boot. The solution for them is to use EmuVariableUEFI-64.efi, but this gives you KP (which is strange). I do not know ... if it works fine like this, I would not bother too much.

#886
esmith1977

esmith1977

    InsanelyMac Protégé

  • Members
  • PipPip
  • 99 posts
I have a 975xBX2 motherboard...
I have it booting into ML from the USB stick...

ML works fine when booting from the USB stick...

I installed it to the HD OS X partition, but when I reboot all I get is a flashing curser...

Can someone give me step-by-step instructions on how to install Clover Bootloader to my HD.

I understand that it should be installed to the EFI partition... but should I reformat that partition...

What exactly do I need to do?

#887
primalair

primalair

    InsanelyMac Protégé

  • Members
  • Pip
  • 10 posts
I try to figure out how to boot with both, my HD4000 and my GTX670 active. Has anybody this configuration running with Clover? My config is very basic:

<?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>SystemParameters</key>
<dict>
  <key>boot-args</key>
  <string>-v npci=0x2000</string>
  <key>prev-lang:kbd</key>
  <string>en:0</string>
  <key>InjectSystemID</key>
  <string>Yes</string>
  <key>LegacyBoot</key>
  <string>PBR</string>
</dict>
<key>Pointer</key>
<dict>
  <key>Speed</key>
  <string>8</string>
</dict>
<key>Graphics</key>
<dict>
  <key>GraphicsInjector</key>
  <string>No</string>
  <key>PatchVBiosBytes</key>
  <dict>
   <key>Find</key>
   <data>gAeoAqAF</data>
   <key>Replace</key>
   <data>gAeoAjgE</data>
  </dict>
</dict>
<key>RtVariables</key>
<dict>
<key>MLB</key>
<string>12345678123456789</string>
</dict>

</dict>
</plist>


#888
collac432

collac432

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts

FSInjection is one way of injecting kexts from /efi/kexts/{censored} - not for vars.

But - it's clear - your RT variable services are not working properly from OSX. It's strange since it's American Megatrends EFI and I did not see such case so far. Only guys with Phoenix UEFI have similar issue, but it's worse then your case - their OSX is almost blocked for 10 minutes after boot. The solution for them is to use EmuVariableUEFI-64.efi, but this gives you KP (which is strange). I do not know ... if it works fine like this, I would not bother too much.


I know, but I'd like to get iMessages running, besides the fact that this can be the first of others comming needing RT variables.

I've used your DumpUefiCalls.efi and boot/runtime services gets variables requested ok.

With InjectSystemID=no, SmUUID=EB 9D 2D 31 2D 88 11 D3 9A 16 78 45 C4 06 xx xx:
...
->GetVariable(ROM, gEfiAppleNvramGuid, 0/6, 6, CC167258) = Success
78 45 C4 06 xx xx | xE..xx
->GetVariable(MLB, gEfiAppleNvramGuid, 0/6, 11, CC1671D0) = Success
57 38 30 43 xx xx xx 41 44 48 4A 46 31 32 33 34 | W80CxxxADHJF1234
35 | 5
...
Variables:
00000006 BS+RT+ gEfiAppleNvramGuid:MLB, DataSize = 11
57 38 30 43 xx xx xx 41 44 48 4A 46 31 32 33 34 | W80CxxxADHJF1234
35 | 5
00000006 BS+RT+ gEfiAppleNvramGuid:ROM, DataSize = 6
78 45 C4 06 xx xx | xE..xx
00000006 BS+RT+ gEfiAppleBootGuid:platform-uuid, DataSize = 10
EB 9D 2D 31 2D 88 11 D3 9A 16 78 45 C4 06 xx xx | ..-1-.....xE..xx

As you can see, the platform-uuid is set correctly, but my profile system shows me "UUID de hardware: 00000000-0000-1000-8000-7845C406xxxx" (7845C406xxxx is my ethernet mac address).

Same with nvram -p:
Davids-iMac:~ David$ nvram -p
platform-uuid %00%00%00%00%00%00%10%00%80%00xE%c4%06xx
fmm-computer-name David%e2%80%99s iMac

F
or some reason, those variables are ignored, may be when userland launched? It makes you any sense?

#889
max22

max22

    InsanelyMac Protégé

  • Members
  • PipPip
  • 89 posts
Hello,

I have installed Clover manually on an USB drive (fat32, no UEFI), but Clover doesn't show up.
It stops with an _ (underscore) and nothing happening anymore. The _ doesn't flash which seems to be unusual in comparison to other posts (Brett Whinnen).

Chameleon does work by pressing [1] at startup.
There is no different result with Clover 32bit (pressing [3]) or Clover 64bit (pressing [6]).

32bit: shows "3" -> "_"
64bit: shows "7" -> "_"

Is my assumption correct, that it's not a problem of the boot0 and boot1 headers of the disk (wrong installation), but a problem with Covers 32bit/64bit files (boot3/6).
Just guessing, perhaps the EFI files can't be loaded or there is a problem with graphics (x3100)?

Can I switch on a on-screen debug log somehow? There are no signs of Clover in the boot-log from ioreg after booting Chameleon.

I use the following code (extracted from rc.local) to read my log
#!/bin/bash
ioreg -lw0 -pIODeviceTree | grep boot-log > ./chameleonLog1.txt
logdump=$(cat ./chameleonLog1.txt)
modified1=${logdump#*'boot-log'}
modified2=${modified1#*'<'}
modified3=${modified2%%'>'*}
echo $modified3 > ./chameleonLog2.txt
xxd -r -p ./chameleonLog2.txt >> chameleonLog3.txt
cat chameleonLog3.txt
rm chameleonLog*.txt

Best regards

-edit: seems to be a bug imho, see #834, #191

-edit: To enable debug output, change in CloverGrower-master/src/edk2/Clover/rEFIt_UEFI/Platform/Platform.h
//#define DEBUG_ALL 2
to
#define DEBUG_ALL 2


#890
dmazar

dmazar

    InsanelyMac Sage

  • Coders
  • 259 posts
  • Gender:Male

For some reason, those variables are ignored, may be when userland launched? It makes you any sense?

Yes, it's not working properly. Your RT vars work fine up until boot.efi (plus AptioFix) relocates them into kernel image (as one of the last steps before jumping to kernel) - and then it does not work any more when kernel starts. Although that relocation should work fine if firmware code is written as per UEFI spec, this is obviously not the case with your firmware code that implements RT vars. This is the similar stuff as in some Phoenix UEFi implementations.

Unfortunately firmwares contains various bugs and and we can only try to find the workaround. But this is very very hard to debug and fix that if I do not have access to the board.

Can you try booting with EmuVar driver again and make a screenshot of a KP?

#891
STLVNUB

STLVNUB

    InsanelyMac Legend

  • Coders
  • 1,098 posts
  • Gender:Male
Have made GitHub repository for CloverGrower
Currently at Version 4.9a
All contributions welcome
https://github.com/S...UB/CloverGrower

#892
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,894 posts
  • Gender:Male
  • Location:Moscow
@collac432
May be you have AppleEFIRUNTIME.kext disabled? I know such solutions like %^&****.
Check
iHack:~ Slice$ sudo kextstat | grep EFI
Password:
   34    1 0xffffff7f81b5b000 0x4000	 0x4000	 com.apple.driver.AppleEFIRuntime (1.6.1) <7 6 5 4 3>
   39    0 0xffffff7f81b5f000 0x7000	 0x7000	 com.apple.driver.AppleEFINVRAM (1.6.1) <34 7 6 5 4 3>
iHack:~r Slice$

Can I switch on a on-screen debug log somehow? There are no signs of Clover in the boot-log from ioreg after booting Chameleon.

You can switch on debugging to EFI/misc/system.log by correcting EFI/BOOT/refit.conf
Uncomment string systemlog
# Enable the use of the log file (for debug purpose)
#systemlog

If you are able to compile the clover then I can propose you to make more debug messages at early boot.

#893
collac432

collac432

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts

Can you try booting with EmuVar driver again and make a screenshot of a KP?


Sure. I attach ShellEFILogs by the way

Attached File  EFIRuntimeKP.jpg   148.7KB   39 downloads

Attached File  SellEFILogs.zip   78.85KB   5 downloads

@collac432
May be you have AppleEFIRUNTIME.kext disabled? I know such solutions like %^&****.
Check

iHack:~ Slice$ sudo kextstat | grep EFI
Password:
34 1 0xffffff7f81b5b000 0x4000 0x4000 com.apple.driver.AppleEFIRuntime (1.6.1) <7 6 5 4 3>
39 0 0xffffff7f81b5f000 0x7000 0x7000 com.apple.driver.AppleEFINVRAM (1.6.1) <34 7 6 5 4 3>
iHack:~r Slice$


Hi Slice. Yes, both kexts are loaded.

Thank you for your help guys.

#894
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 698 posts
  • Gender:Male
People talk that real Macs have sound when the system is switching on. I though why don't we do it with Clover. All we have to do is write a sound-driver for EFI.

#895
n3ph

n3ph

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
Hi all,

This is my first post, so I'll do some introduction here.

I built my first and only Hackintosh so far in Oct 2011. Had been reading forums and so on in order to maintain my build. I've built this system using a popular setup (Chimera, ######, etc). I first know about Clover when my iMessage stopped working on 11 Jan 2013 and while looking for a solution.

After following much of the instructions, the most I've ever managed to accomplish is to boot my PC via Clover into a white screen. I'm using Radeon 6870. My suspicion is on Frame Buffer patching, but I do not understand the patching process well enough to make it work. I realise that the white screen phenomenal is similar to the white screen I will get while running the Mountain Lion installer.

As much as I would like to solve the problem myself, I think I require guidance to make this work.

Can anyone help guide me with this?

#896
collac432

collac432

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
@n3ph
For my experience with graphics drivers, white screen is due to graphics accelerator (AppleIntelHDx000GLDriver.kext on Intel HD case). Try to removing the corresponding kext for ati. If you can get desktop, you will have to deal with this kext.

#897
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 698 posts
  • Gender:Male
The best solution for Graphics - it's correct ATIFrambuffer +VideoBios in your DSDT(injector in your DSDT). Bootloaders inject Graphics worse than DSDT. Maybe I mistake.

#898
Taruga

Taruga

    Retired

  • Retired Developers
  • 528 posts
  • Gender:Male
  • Location:Portugal
With Clover, Wake from sleep in Mountain Lion is kind of random for me. Sometimes it works, but most of the time it doesn't and just gives me a black screen.
I get best results by disabling XHCI

Is there any way do diagnose this ? (I'm using 10.8.3)

Funny thing is that with Lion is always works, it never failed.

With Chameleon, wake from sleep works fine in Mountain Lion and Lion also.

#899
n3ph

n3ph

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
Thanks for the tips collac432, Alex009988

Apologise for not stating earlier, I'm using UEFI without DSDT. I am able to boot using Chimera into OS X without additional configuration.

With regards to what collac432 said, I removed ATI6000Controller.kext for Mountain Lion installation, then installed it back after installing the OS. I am able to boot properly using Chimera, so I believe it's only a Clover configuration issue?

With regards to Alex009988, I did both ati_personality dump and radeon_bios_decode. I tried reading the guide @ /forum/topic/282787-clover-v2-instructions/ for patching ATIConnector, but since it was for 6670 while mine is 6870, the instruction's patch does not work with mine. I tried to understand ErmaC's instructions and do the patching myself using Duckweed, but a blank white screen is all I got.

It was actually an improvement from before I attempted the patch, as previously, I was able to see OS X's verbose output (up until macosx_swapon success) but I couldn't get into the GUI.

Will it help if I post my Radeon BIOS information?

#900
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 698 posts
  • Gender:Male
n3ph
<key>Graphics</key>
<dict>
<key>GraphicsInjector</key>
<string>Yes</string>
<key>InjectEDID</key>
<string>Yes</string>
<key>LoadVBios</key>
<string>Yes</string>
<key>FBName</key>
<string>yourFramebuffer</string>
If you want use clover, you should use these parameters. And correct Framebuffer

Will it help if I post my Radeon BIOS information?

Yes it help, if your graphics doesn't work.





Also tagged with one or more of these keywords: Bootloader, EFI, Clover


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy