Jump to content

Clover General discussion

Bootloader EFI Clover

  • Please log in to reply
7155 replies to this topic

#881
dmazar

dmazar

    InsanelyMac Sage

  • Coders
  • 277 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?

#882
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:

#883
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?

#884
dmazar

dmazar

    InsanelyMac Sage

  • Coders
  • 277 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.

#885
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?

#886
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>


#887
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?

#888
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


#889
dmazar

dmazar

    InsanelyMac Sage

  • Coders
  • 277 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?

#890
STLVNUB

STLVNUB

    InsanelyMac Legend

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

#891
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 3,658 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.

#892
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.

#893
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 706 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.

#894
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?

#895
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.

#896
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 706 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.

#897
Taruga

Taruga

    Retired

  • Retired Developers
  • 533 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.

#898
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?

#899
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 706 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.

#900
n3ph

n3ph

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
Hi guys, I came back defeated. This is my config.plist:

...
<plist version="1.0">
<dict>
    <key>SystemParameters</key>
    <dict>
        <key>boot-args</key>
        <string>-v npci=0x3000 slide=0 darkwake=0</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>
        ...
    </dict>
    <key>Graphics</key>
    <dict>
        <key>GraphicsInjector</key>
        <string>Yes</string>
        <key>InjectEDID</key>
    <string>Yes</string>
        <key>LoadVBios</key>
    <string>Yes</string>
        <key>PatchVBios</key>
        <string>Yes</string>
        <key>FBName</key>
        <string>Duckweed</string>
    </dict>
    <key>RtVariables</key>
    <dict>
        <key>MLB</key>
        <string>RM9MYSERIAL234567</string>
    </dict>
    <key>KernelAndKextPatches</key>
    <dict>
    <key>ATIConnectorsController</key>
    <string>6000</string>
    <key>ATIConnectorsData</key>
    <string>00040000040300000001000012040401000400000403000000010000220505020008000004020000000100001102030400020000140200000001000000000605</string>
    <key>ATIConnectorsPatch</key>
    <string>04000000040300000001000012040401040000000403000000010000220505020008000004020000000100001102030400020000140200000001000000000605</string>
    <key>SMBIOS</key>
    <dict>
    ...
    </dict>
  </dict>
</plist>

Using the above, I got OS X to boot, and then the screen goes totally blank (as opposed to white screen).

I thought there should be a
</dict>
just before
<key>SMBIOS</key>
, but when I inserted that line, OS X didn't even attempt to load GUI at all (stopped at verbose output)

As for kext patch, I attempted it as per ErmaC's instructions instructions but I am not clear. These are my personality dump and BIOS:

Personality: Duckweed
ConnectorInfo count in decimal: 4
Disk offset in decimal 179744
0000000    00  04  00  00  04  03  00  00  00  01  00  00  12  04  04  01
0000010    00  04  00  00  04  03  00  00  00  01  00  00  22  05  05  02
0000020    00  08  00  00  04  02  00  00  00  01  00  00  11  02  03  04
0000030    00  02  00  00  14  02  00  00  00  01  00  00  00  00  06  05
0000040

ATOM BIOS Rom:
    SubsystemVendorID: 0x1462 SubsystemID: 0x2450
    IOBaseAddress: 0xe000
    Filename: V245ELPIDAB.
    BIOS Bootup Message: 113-
MSITV245MS.1C0 BARTS XT ELPIDA B DIE 32MX32 1G                            
PCI ID: 1002:6738
Connector at index 0
    Type [@offset 44281]: DisplayPort (10)
    Encoder [@offset 44285]: INTERNAL_UNIPHY2 (0x21)
    i2cid [@offset 44409]: 0x90, OSX senseid: 0x1
Connector at index 1
    Type [@offset 44291]: DisplayPort (10)
    Encoder [@offset 44295]: INTERNAL_UNIPHY2 (0x21)
    i2cid [@offset 44436]: 0x91, OSX senseid: 0x2
Connector at index 2
    Type [@offset 44301]: HDMI-A (11)
    Encoder [@offset 44305]: INTERNAL_UNIPHY1 (0x20)
    i2cid [@offset 44463]: 0x93, OSX senseid: 0x4
Connector at index 3
    Type [@offset 44311]: DVI-D (3)
    Encoder [@offset 44315]: INTERNAL_UNIPHY1 (0x20)
    i2cid [@offset 44490]: 0x95, OSX senseid: 0x6
Connector at index 4
    Type [@offset 44321]: DVI-I (2)
    Encoder [@offset 44325]: INTERNAL_UNIPHY (0x1e)
    i2cid [@offset 44527]: 0x94, OSX senseid: 0x5
Connector at index 5
    Type [@offset 44331]: DVI-I (2)
    Encoder [@offset 44335]: INTERNAL_KLDSCP_DAC1 (0x15)
    i2cid [@offset 44527]: 0x94, OSX senseid: 0x5

Somebody tell me if I've edited it correctly? =(






1 user(s) are reading this topic

1 members, 0 guests, 0 anonymous users


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