Jump to content
230 posts in this topic

Recommended Posts

EFI_based Bootloader

The developer is the iPhoneTom

post-974387-0-70193900-1364907467_thumb.jpg

Today, or tomorrow, we can start to think

in a different way!

  • ​Main instruction is here
  • Here we says about any problems and bugs as well(iPhoneTom's forum)
  • An extra short instruction is here
  • Last releases can also be found here

XPC's builds



01.04.2013(XPC 0.90.41)
-Some bugfix
-Display of XPC version changed
-Added new setting

<key>SkipExtraKextIfKCContainsFakeSMC</key>
<integer>1</integer>

If set to 1, kernelcache will be searched for FakeSMC, and extra_kext will be skipped if it will be found in cache. Thx to aschar!
31.03.2013

-Fix DDR2 speed detection, thx to TimeWalker75a!
-Some bugfix
-Display of XPC version changed
30.03.2013

-Some bugfix
-Fixed VolumeLabelText gets not used, thx to Alex!
-Display of XPC version
-Added new HotKey F2 to save an Screenshot in efi\xpc\screenshots. Included is an Windows-Tool (Dot.Net 3.0) to convert screenshots to JPEG format.
http://www.file-uplo...ildr20.zip.html
23.03.2013
Bugfix with taking DSDT that was only in version from 20.03.13
http://www.file-uplo...ildr20.zip.html
20.03.2013
Bugfix for inject NVIDIA.
http://www.file-uplo...ildr20.zip.html
18.03.2013
Re-enabled small OS-Type indicator icons.
Some small bugfix.
http://www.file-uplo...ildr20.zip.html
17.03.2013
Re-enabled use of efi\xpc\theme\xpc_wallpaper.png
Some small bugfix.
http://www.file-uplo...ildr20.zip.html
16.03.2013
Fix memory detection bug, scrolling in file-browser is new gui now (smoother scrolling).
http://www.file-uplo...ildr20.zip.html
15.03.2013
Some bugfix, scrolling in settings-editor is new gui now (smoother scrolling).
http://www.file-uplo...ildr20.zip.html
12.03.2013
Fixed Mach-O Patcher.
For most Mach-O binaries to patch, XPC must not use kernelcache, because they are OSBundleRequired 'Safe Boot', and not in the cache.
Anyway, it is always an better idea not to load kernelcache. That is for real Macs and not Hacks. Well, no big deal huh, 30 sec. longer boot no
http://www.file-uplo...ildr20.zip.html
11.03.2013
Native Ivybridge Powermanagement.
Added code for creating X86PlatformPlugin needed P- and C-States. For this, an IvyBridge or SandyBridge cpu is required, as well as an Board-Id and Mac-Model. Set CreatePStates to 1 (XPC will choose old or new code after checking if new code is possible).
Added show CPU TDP in Hardware-Browser if Bridge-Cpu is used.
Added new key for SSDTHandling section:
<key>WorkaroundIvyBug</key>
<integer>1</integer>
1=fix, 0=no change
This will fix SpeedStep for IvyBridge CPU (try without, and use if SpeedStep will not work well this way)
http://www.file-uplo...ildr20.zip.html
07.03.2013
Fixed some DDR2/3 and SPD detection problem.
http://www.file-uplo...ildr20.zip.html
Late 06.03.2013
New added create P-States from XPC:
The new key for SSDHandling Section are :
<key>CreatePStates</key>
<integer>1</integer>
<key>PLimitDict</key>
<integer>0</integer>
<key>MultiMin</key>
<integer>12</integer>
<key>MultiMax</key>
<integer>37</integer>
CreatePStates, 1 create, 0 dont create.
PLimitDict, the value you get from ACPI_SMC_PLATFORM.
MultiMin + MultiMax, the override for the min/max multi for your CPU. For example mine are 12 and 37, should not be used as you can control if XPC detects your multis with key '9' in GUI. So only use this if values are wrong. Multis displayed are 1C, 2C, 3C, 4C.
Please Report if it will work. You should set RemoveSSDT to 1 when you want to create P-StATES.
http://www.file-uplo...ildr20.zip.html
06.03.2013
Some bugfix build 2. Some more fixes, DDR2 detection fix, as well some other. Report all problems please! Thx!
http://www.file-uplo...ildr20.zip.html
03.03.2013
Some bugfix, fix DDR2 RAM detection
http://www.file-uplo...ildr20.zip.html
26.02.2013
Removed use of Wallpaper (for now). If you don't have luck with entering to GUI
http://www.file-uplo...ildr20.zip.html
24.02.2013
Bugfix for detecting CPU frequency. Please leave feedback!
New XPC GUI 1.5 Beta:
Reworked new XPC GUI beta. Changed theme.plist, added theme folder in efi\xpc\, added xpc_wallpaper.png, and some code to make the GUI some smoother.
Have a look in download! Please remember to copy the png icons!
http://www.file-uplo...ui-1.5.zip.html
22.02.2013
New build with new setting:


<key>NoImageBootDevices</key>

<integer>1</integer>

This switch set to 1 means that no Image-Boot devices will be shown in GUI after boot.
If set to 0 or this switch is missing, Image-Boot devices will be shown.
In GUI you can toggle between display and hide Image-Boot devices with key '6'.
http://www.file-uplo...ildr20.zip.html
22.02.2013
CPU speed fix.
Some importent bugfix.
Added boot from InstallESD.dmg inside Applications-Folder.
In XPC GUI you will see your volume with an OSX version displayed, and your volume with an label "Image-Boot". This will boot the installer.
InstallESD.dmg can still lay in root of any HFS+ volume to boot from this, like before.
!! Bugfix Build from 22.02.2013, 00:10 !!
http://www.file-uplo...ildr20.zip.html
21.02.2013
Some important bugfix.
Added boot from InstallESD.dmg inside Applications-Folder.
In XPC GUI you will see your volume with an OSX version displayed, and your volume with an label "Image-Boot". This will boot the installer.
InstallESD.dmg can still lay in root of any HFS+ volume to boot from this, like before.

http://www.file-uplo...ildr20.zip.html
20.02.2013
Bugfix for SMBIOS memory detection.
Important!
For booting an InstallESD.dmg do NOT MOUNT it in XPC GUI. Just select the Volume that contains it in root, and hit return to boot.
http://www.file-uplo...ildr20.zip.html
17.02.2013
New feature for XPC 0.90.40:
You can bot now from InstallESD.dmg, or Apple Internet-Restore "OS X Install Data" with InstallESD.dmg in it.
If you want to boot from dmg (no Internet-Restore), it must lay in root of an Mac OS X Partition.
This Volume will be labeld with "Image-Boot" in XPC GUI.
No restore to USB-Drive or such action is needed anymore.
Fixed wrong SMBIOS len.
http://www.file-uplo...ildr20.zip.html
15.02.2013
Fix for booting from Installer.
Added 'XPC Hardware Browser' (for now displays CPU and SPD Memory Information). Call it by press '9' in XPC GUI.
http://www.file-uplo...ildr20.zip.html
14.02.2013
New setting to force boot with Kernelcache:



<key>ForceLoadKernelcache</key>

<integer>1</integer>

With this switch set to on (1) xpc loads no extra_kext! Kernelcache must contain your drivers, fakesmc and all kext you need to boot!
When you try to boot the "Recovery HD" partition with this switch set off (0), you must have an working mach_kernel for this recovery partition in your extra_kext folder (e.g. "efi\xpc\extra_kext\10.8") or on the recovery partition in root directory!
http://www.file-uplo...ildr20.zip.html
13.02.2013
New setting for iMessage fix, will set MLB:
You should past it in your plist if you want the iMessage working.


<key>MLBData</key>

<string>0123456789ABCDEF0</string>

The data can be any values, if length is 17 digits.
Some bugfix for SSDT loading, speed improvements,etc. (thx to aschar, timewalker75a,GLXOZ)
http://www.file-uplo...ildr20.zip.html
10.02.2013
New is Imessage fix:
add the following key to settings.plist
(replace the string with the Mac Address of your Ethernet En0 Adaptor. you find it in System Settings-Network-Advanced Options-Hardware)
You needn't it to past on your plist


<key>ROMMacAddress</key>

<string>01:13:2d:82:6c:35</string>

New setting for maping SPD Data if wrong:



<key>SPDSlotAssignments</key>

<dict>

<key>Apply</key>

<integer>1</integer>

<key>AssignSlot1ToSPDData</key>

<integer>2</integer>

</dict>

The above example will map SPD Data from Slot 2 to DIMM Slot 1 (needed f.e. with my Notebook). That way you can set the Data as you like or need.
New setting for disable usb legacy support:


<key>DisableLegacyUSB</key>

<integer>0</integer>

May be needed on some maschine.
New setting to adjust Intel IGP Platform ID:


<key>IntelIGPlatformId</key>

<dict>

<key>Mobile</key>

<integer>4</integer>

<key>Desktop</key>

<integer>0</integer>

</dict>

Its just that, you set platform id to (mobile) 0x166 4 with this example.
Imporoved load speed, serval bug fix.



How to use NVRAM(alternative way)


new Dev-Build lets you use Startup-Volume Tool in OS X.

You need this things to use this:

1. You need to create an Script to save NVRAM to an vaild volume under OS X. This script must be located in /etc/ in all OS X volumes you use to get triggerd at restart or shutdown and named 'rc.shutdown.local'. This is what i use in the script:

Code:
nvram -xp > /Volumes/MountainLion/Users/iPhoneTom/nvram.plist


rc.shutdown.local needs root:wheel permissions (in terminal: sudo chmod 644 /etc/rc.shutdown.local)

2. You need to add a setting for XPC:

 


<key>NVRAMSaveLocation</key>

<dict>

<key>Volume</key>

<string>MountainLion</string>

<key>FilePath</key>

<string>Users\iPhoneTom\nvram.plist</string>

</dict>



You didn't have to do what Tom advise to you.
You can take the NVRAM from chamelion.
Take that http://www.insanelym...m-112-released/
Just start up your system with Chamelion,at once.
 


<dict>

<key>Volume</key>

<string>MountainLion</string>

<key>FilePath</key>

<string>/Extra/.....nvram.plist</string>

</dict>

 


Little advise if you have problems with Keyboard and Battery(doesn't relate to XPC, just my personal experience)


If you have problems with keyboard and TouchPad, you should install VoodooPS2Controller of this link https://github.com/R...-PS2-Controller
Trust me, with that it works better.
You can also install this one.
http://www.osx86.net...ini_for_ml.html
There is the best kext for battery, at the present. It's better rather than ACPIBatteryManager or VoodooBatery if you have problems with them.


How to Inject ATI-card(alternative way)


There is the best solution for ATI's cards
Take the bin file of AIDA, for instane.
Open it in HEX-editor.
copy all bittes and past it to DSDT at the line between quotations by hand.
Everything is made by hands.
The example of my DSDT is in attachments(DSDTVideoBios)[/font][/font]
Sometimes, you should edit your EDID, as well.
/System/Library/Displays/Overrides/DisplayVendorID-daf/DisplayProductID-180


Recieving DSDT, SSDT and others tables


Just press on i in the GUI


DefaultBoot


Add these lines to the suiting.plist exactly, otherwise you get a mistake


<key>DefaultBoot</key>

<string>Acpi(PNP0A08,0x0)/Pci(0x1F,0x2)/Sata(0x5,0x0,0x0)/HD(2,MBR,0x6A84517B,0x400,0x349D0C00)\1082</string>

After launching XPC, choose your partition and press on "D".


Patching kexts(examples)


</key>ForceLoadKernelcache</key>
<integer>0</integer>

<key>NoGuiOnDefaultBoot</key>
<integer>0</integer>

<key>XpcPatcher</key>
<dict>
<key>MachOPatch0</key>
<dict>
<key>Apply</key>
<integer>0</integer>
<key>SystemVersion</key>
<string>0x000</string>
<key>Description</key>
<string>To use TRIM support on all SSD</string>
<key>FileName</key>
<string>IOAHCIBlockStorage</string>
<key>Search</key>
<string>4150504c452053534400</string>
<key>Replace</key>
<string>00000000000000000000</string>
</dict>

<key>MachOPatch1</key>
<dict>
<key>Apply</key>
<integer>1</integer>
<key>SystemVersion</key>
<string>0x108</string>
<key>Description</key>
<string>To use AICPM on Sandybridge and Ivybridge Systems</string>
<key>FileName</key>
<string>AppleIntelCPUPowerManagement</string>
<key>Search</key>
<string>E20000000F30</string>
<key>Replace</key>
<string>E20000009090</string>
</dict>

<key>MachOPatch2</key>
<dict>
<key>Apply</key>
<integer>0</integer>
<key>SystemVersion</key>
<string>0x107</string>
<key>Description</key>
<string>To prevent BIOS reset on some Mainboards</string>
<key>FileName</key>
<string>AppleRTC</string>
<key>Search</key>
<string>75304489f8</string>
<key>Replace</key>
<string>eb304489f8</string>
</dict>

<key>MachOPatch3</key>
<dict>
<key>Apply</key>
<integer>0</integer>
<key>SystemVersion</key>
<string>0x107</string>
<key>Description</key>
<string>To prevent BIOS reset on some Mainboards</string>
<key>FileName</key>
<string>AppleRTC</string>
<key>Search</key>
<string>753d8b7508</string>
<key>Replace</key>
<string>eb3d8b7508</string>
</dict>

<key>MachOPatch4</key>
<dict>
<key>Apply</key>
<integer>1</integer>
<key>SystemVersion</key>
<string>0x108</string>
<key>Description</key>
<string>To prevent BIOS reset on some Mainboards</string>
<key>FileName</key>
<string>AppleRTC</string>
<key>Search</key>
<string>753089d8</string>
<key>Replace</key>
<string>eb3089d8</string>
</dict>

<key>MachOPatch5</key>
<dict>
<key>Apply</key>
<integer>0</integer>
<key>SystemVersion</key>
<string>0x108</string>
<key>Description</key>
<string>To prevent 'Still waiting for root device' on some systems, Patch 1</string>
<key>FileName</key>
<string>IOAHCIBlockStorage</string>
<key>Search</key>
<string>eb4c0000ea03</string>
<key>Replace</key>
<string>eb4c0000e801</string>
</dict>

<key>MachOPatch6</key>
<dict>
<key>Apply</key>
<integer>0</integer>
<key>SystemVersion</key>
<string>0x108</string>
<key>Description</key>
<string>To prevent 'Still waiting for root device' on some systems, Patch 2</string>
<key>FileName</key>
<string>IOAHCIBlockStorage</string>
<key>Search</key>
<string>740e488d3da5900000</string>
<key>Replace</key>
<string>bfc800000090909090</string>
</dict>


XPC GUI Commands


XPC commands at the GUI:
Y - Detects possible screen modes, you can set these in setting.plist
8 - Enables debug mode
4 - Loads efi apps/drivers
1 - Shows efi variables
D - Sets default boot drive
I - ACPI-Tables backup on stick (into Folder “efi/xpc/acpi”)
M - Edits settings.plist
F - Rescans boot drives or install dvd
R - Reboots System
S - Starts Shell, needs shell.efi placed in EFI folder
A - Mounts a DMG in the GUI (select your Image. After successful mounting it, the volume icon for the volume where the image were loaded from will change, indicating a DMG was mounted. By pressing ”CTRL+D” you can switch between the DMG and the volume. If the DMG icon is shown and you press enter (or some boot-shortcut to boot), your machine will boot from the DMG.


Ethernet Injection


(Of course, you should past yours DevID and VenID)
<key>InjectEthernet</key>
<dict>
<key>Vendor</key>
<string>0x8086</string>
<key>Device</key>
<string>0x100f</string>
</dict>


Instruction for installing XPC


1) Format your USB flash drive into FAT32
2) Launch XPC Boot Prepare Tool, and choose USB flash drive(don't make any mistakes, otherwise you should reinstall Chameleon on your main disk over again)
3) Take out your USB flash drive and put into back
4) Copy files of FullXPC14022013
You can install the XPC straight on your computer, but the your hard disk must have GUID Partition Table.


Full Sample of settings(doesn't have new parameters)

 


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>



<key>OSXSettings</key>

<dict>

<key>LanguageKeyboard</key>

<string>ru:0</string>

</dict>



<key>DsdtRTCLength</key>

<integer>0</integer>



<key>PciRootOverride</key>

<string>0</string>



<key>InjectAmd</key>

<integer>0</integer>



<key>InjectNvidia</key>

<integer>0</integer>



<key>InjectIntel</key>

<integer>0</integer>



<key>ForceEnableHPET</key>

<integer>0</integer>



<key>USBFix</key>

<integer>1</integer>



<key>CustomNvidiaCard</key>

<dict>

<key>ForceCustomCard</key>

<integer>0</integer>

<key>@0,compatible</key>

<string>NVDA,NVMac</string>

<key>@0,device_type</key>

<string>display</string>

<key>@0,display_cfg</key>

<string>0xffffff</string>

<key>@0,name</key>

<string>NVDA,Display-A</string>

<key>@1,compatible</key>

<string>NVDA,NVMac</string>

<key>@1,device_type</key>

<string>display</string>

<key>@1,display_cfg</key>

<string>0xffffffff</string>

<key>@1,name</key>

<string>NVDA,Display-B</string>

<key>@2,#adress-cells</key>

<string>0x01000000</string>

<key>@2,#size-cells</key>

<string>0x00000000</string>

<key>@2,compatible</key>

<string>NVDA,sensor-parent</string>

<key>@2,device_type</key>

<string>NVDA,gpu-diode</string>

<key>@2,hwctrl-params-version</key>

<string>0x02000000</string>

<key>@2,hwsensor-params-version</key>

<string>0x02000000</string>

<key>@2,name</key>

<string>sensor-parent</string>

<key>@2,reg</key>

<string>0x02000000</string>

<key>NVCAP</key>

<string>04000000-00000300-1C000000-00000000-00000000</string>

<key>VRAM,totalsize</key>

<string>0x38000000</string>

<key>device_type</key>

<string>NVDA,GeForce</string>

<key>model</key>

<string>NVIDIA GeForce GTX 275</string>

<key>rom-revision</key>

<string>3172a</string>

</dict>



<key>CustomAmdCard</key>

<dict>

<key>ForceCustomCard</key>

<integer>0</integer>

<key>Framebuffer</key>

<string>Vervet</string>

<key>Model</key>

<string>ATI Radeon 5770 Series</string>

<key>DeviceId</key>

<string>0x68B8</string>

<key>VendorId</key>

<string>0x1002</string>

</dict>



<key>SmbiosTables</key>

<dict>

<key>Table_01</key>

<dict>

<key>Type</key>

<integer>0</integer>

<key>BiosVersion</key>

<string>MP51.007F.B00.0903051113</string>

<key>BiosVendor</key>

<string>Apple Inc.</string>

</dict>

<key>Table_02</key>

<dict>

<key>Type</key>

<integer>1</integer>

<key>Manufacturer</key>

<string>Apple Inc.</string>

<key>ProductName</key>

<string>MacPro5,1</string>

<key>Family</key>

<string>Mac</string>

<key>SerialNumber</key>

<string>G8031788GWR</string>

<key>SKUNumber</key>

<string>SKUNumber</string>

<key>Version</key>

<string>0.0</string>

</dict>

<key>Table_03</key>

<dict>

<key>Type</key>

<integer>2</integer>

<key>Manufacturer</key>

<string>Apple Inc.</string>

<key>ProductName</key>

<string>Mac-F221BEC8</string>

<key>AssetTag</key>

<string>MacPro</string>

<key>SerialNumber</key>

<string>G8031788GWR</string>

<key>LocationInChassis</key>

<string>None</string>

<key>Version</key>

<string>0.0</string>

<key>BoardType</key>

<integer>10</integer>

</dict>

<key>Table_04</key>

<dict>

<key>Type</key>

<integer>3</integer>

<key>Manufacturer</key>

<string>Apple Inc.</string>

<key>AssetTag</key>

<string>MacBla</string>

<key>SerialNumber</key>

<string>123456789</string>

<key>Version</key>

<string>0.0</string>

<key>ChassisType</key>

<integer>3</integer>

</dict>

<key>Table_05</key>

<dict>

<key>Type</key>

<integer>131</integer>

<key>ProcessorType</key>

<integer>1537</integer>

</dict>

<key>Table_06</key>

<dict>

<key>Type</key>

<integer>132</integer>

<key>ProcessorBusSpeed</key>

<integer>667</integer>

</dict>

<key>Table_07</key>

<dict>

<key>Type</key>

<integer>17</integer>

<key>Id</key>

<integer>1</integer>

<key>BankLocator</key>

<string>BANK 1</string>

<key>DeviceLocator</key>

<string>DIMM 1</string>

<key>MemoryType</key>

<integer>24</integer>

<key>Speed</key>

<integer>1333</integer>

<key>Manufacturer</key>

<string>Kingston Inc.</string>

<key>SerialNumber</key>

<string>1.KVR1333D3S9</string>

<key>PartNumber</key>

<string>1.17687434767465</string>

<key>AssetTag</key>

<string>AssetTag1</string>

<key>Size</key>

<integer>2048</integer>

</dict>

<key>Table_08</key>

<dict>

<key>Type</key>

<integer>17</integer>

<key>Id</key>

<integer>2</integer>

<key>BankLocator</key>

<string>BANK 2</string>

<key>DeviceLocator</key>

<string>DIMM 2</string>

<key>MemoryType</key>

<integer>24</integer>

<key>Speed</key>

<integer>1333</integer>

<key>Manufacturer</key>

<string>Kingston Inc.</string>

<key>SerialNumber</key>

<string>1.KVR1333D3S9</string>

<key>PartNumber</key>

<string>1.17687434767466</string>

<key>AssetTag</key>

<string>AssetTag2</string>

<key>Size</key>

<integer>2048</integer>

</dict>

<key>Table_09</key>

<dict>

<key>Type</key>

<integer>17</integer>

<key>Id</key>

<integer>3</integer>

<key>BankLocator</key>

<string>BANK 3</string>

<key>DeviceLocator</key>

<string>DIMM 3</string>

<key>MemoryType</key>

<integer>24</integer>

<key>Speed</key>

<integer>1333</integer>

<key>Manufacturer</key>

<string>Kingston Inc.</string>

<key>SerialNumber</key>

<string>1.KVR1333D3S9</string>

<key>PartNumber</key>

<string>1.17687434767467</string>

<key>AssetTag</key>

<string>AssetTag3</string>

<key>Size</key>

<integer>2048</integer>

</dict>

<key>Table_10</key>

<dict>

<key>Type</key>

<integer>17</integer>

<key>Id</key>

<integer>4</integer>

<key>BankLocator</key>

<string>BANK 4</string>

<key>DeviceLocator</key>

<string>DIMM 4</string>

<key>MemoryType</key>

<integer>24</integer>

<key>Speed</key>

<integer>1333</integer>

<key>Manufacturer</key>

<string>Kingston Inc.</string>

<key>SerialNumber</key>

<string>1.KVR1333D3S9</string>

<key>PartNumber</key>

<string>1.17687434767469</string>

<key>AssetTag</key>

<string>AssetTag4</string>

<key>Size</key>

<integer>2048</integer>

</dict>

</dict>



<key>FacpFix</key>

<dict>

<key>PMProfile</key>

<string>0x01</string>

<key>Flags</key>

<string>0x400</string>

<key>SpaceID</key>

<string>0x01</string>

<key>BitWidth</key>

<string>0x08</string>

<key>BitOffset</key>

<string>0x00</string>

<key>AccessWidth</key>

<string>0x01</string>

<key>Address</key>

<string>0x0CF9</string>

<key>Value</key>

<string>0x06</string>

</dict>



<key>SSDTHandling</key>

<dict>

<key>RemoveSSDT</key>

<integer>0</integer>

<key>CreateCST2</key>

<integer>0</integer>

<key>CreateCST3</key>

<integer>0</integer>

<key>CreateCST4</key>

<integer>0</integer>

</dict>



<key>OSXKernelSettings</key>

<dict>

<key>KernelName</key>

<string>mach_kernel</string>

<key>KernelFlags</key>

<string></string>

</dict>



<key>PlatformUUID</key>

<string>8D1FED6C-8F0D-58AC-8866-15B0A1FD6578</string>

<key>ScreenMode</key>

<integer>277</integer>



<key>DeviceProperties</key>

<string></string>



<key>DefaultBoot</key>

<string>Acpi(PNP0A08,0x0)/Pci(0x1F,0x2)/Sata(0x4,0x0,0x0)/HD(2,GPT,A2D0218B-6E24-4C3E-A691-33E062B48AB1,0x64028,0x90B64A0)\Lion</string>



</dict>

</plist>

 


Description of XPC's parameters


For any beginner such abundance options shock however XPC was never considerated as easy solution. Nevertheless, Let's look into all this chaos of options, it is not so difficult.
Let’s go in order
LanguageKeyboard - the section which allow to write in settings of bootloader the region of keyboard by default
DsdtRTCLenght – is option which contain the patch of RTC preventing from rest of Bios after restart or sleep
PciRootOverride – is compulsory instruction of PCI-bus by default
Option is needed if your video card don’t want to start up
InjectAmd, InjectIntel и InjectNvidia - is charged with switching on/switching off automatic starting video card such a Radeon, Intel GMA and GeForce accordingly.
ForceEnableHPET – is forces activation HPET and control of power management through AppleIntelCPUPowerManagement, come in handy if you have DSDT in which not to have been written proper section
USBfix – is correction broken USB-devices and also eliminates the need to edit the USB-section in DSDT
CustomNvidiaCard – configures parameters of the NVIDIA manually. All subsidiaries of the options is taken in the Video Section DSDT (of course, if you have one)
CustomAmdCard - setting of the video cards Radeon. These options are not so much – ID of vendor and device, appellation and qualified for you framebuffer (here you can’t go without careful seeing of AMD-chars on InsanelyMac etc., because to find the right framebuffer pffen is very difficult, sometimes you have to find the framebuffer which the most do for you, But sometime you chould make patch of framebuffer) . In section CustomAmdCard, and CustomNvidiaCard are the most important parameter ForceCustomCard. If it equal zero then the others parameters won’t have sence. If you want to use your settings, put oneinstead of zero.
Table_01 contains information about the version of EFI Mac. Information on this can be found on Macs Apple site

Table_02 contains model Mac. You can replace MacPro5,1 to the iMac11, 1, MacMini5, 1, or another identifier of Mac, the equipment should coincide with your hakintosh. You can only change ProductName and SerialNumber, others you cannot. The serial number you can find here.
Table_03 it contains the serial number of "Mac" and a model of its motherboard (ProductName)


Mac-F4208DA9. . . . . . . . . . . . . .MacPro2,1
Mac-F221DCC8. . . . . . . . . . . . . .
Mac-F2268DAE. . . . . . . . . . . . . .iMac11,1
Mac-F2238AC8. . . . . . . . . . . . . .iMac11,2
Mac-F2238BAE. . . . . . . . . . . . . .iMac11,3
Mac-F221BEC8. . . . . . . . . . . . . .MacPro5,1
Mac-F42C8CC8. . . . . . . . . . . . . .MacBookAir1,1
Mac-F226BEC8. . . . . . . . . . . . . .iMac8,1
Mac-F227BEC8. . . . . . . . . . . . . .iMac8,1*
Mac-F22C8AC8. . . . . . . . . . . . . .MacBook6,1
Mac-F42C88C8. . . . . . . . . . . . . .MacPro3,1
Mac-F4208EAA. . . . . . . . . . . . . .MacMini2,1
Mac-F42D88C8. . . . . . . . . . . . . .MacBookAir2,1
Mac-F22788A9. . . . . . . . . . . . . .MacBook4,1
Mac-F42289C8. . . . . . . . . . . . . .Xserve2,1
Mac-F223BEC8. . . . . . . . . . . . . .Xserve3,1
Mac-F22C89C8. . . . . . . . . . . . . .MacBook7,1
Mac-F4208CA9. . . . . . . . . . . . . .MacBook2,1
Mac-F4208CAA. . . . . . . . . . . . . .MacBook2,1*
Mac-F42D89C8. . . . . . . . . . . . . .MacBook5,1
Mac-F22788AA. . . . . . . . . . . . . .MacBook5,2
Mac-F42D89A9. . . . . . . . . . . . . .MacBook5,1*
Mac-942C5DF58193131B. . . . . . . . . .MacBookAir3,2
Mac-942452F5819B1C1B. . . . . . . . . .MacBookAir3,1
Mac-F4208AC8. . . . . . . . . . . . . .Xserve1,1
Mac-F4238BC8. . . . . . . . . . . . . .MacBookPro3,1
Mac-F42388C8. . . . . . . . . . . . . .MacBookPro3,1*
Mac-F42786A9. . . . . . . . . . . . . .iMac5,1
Mac-F4218EC8. . . . . . . . . . . . . .iMac5,2
Mac-F4218EA9. . . . . . . . . . . . . .
Mac-F22788C8. . . . . . . . . . . . . .MacBook3,2
Mac-F42C89C8. . . . . . . . . . . . . .MacBookPro4,1
Mac-F42C86C8. . . . . . . . . . . . . .MacBookPro4,1*
Mac-F42D86C8. . . . . . . . . . . . . .MacBookPro5,1
Mac-F42D86A9. . . . . . . . . . . . . .MacBookPro5,2
Mac-F2268EC8. . . . . . . . . . . . . .MacBookPro5,2*
Mac-F2268AC8. . . . . . . . . . . . . .MacBookPro5,5
Mac-F22587C8. . . . . . . . . . . . . .MacBookPro5,3
Mac-F22587A1. . . . . . . . . . . . . .MacBookPro5,5*
Mac-F42187C8. . . . . . . . . . . . . .MacBookPro2,1
Mac-F42189C8. . . . . . . . . . . . . .MacBookPro2,1*
Mac-F22C86C8. . . . . . . . . . . . . .MacMini3,1
Mac-F2208EC8. . . . . . . . . . . . . .MacMini4,1
Mac-F2218EC8. . . . . . . . . . . . . .iMac9,1
Mac-F2218FC8. . . . . . . . . . . . . .iMac9,1*
Mac-F2218EA9. . . . . . . . . . . . . .iMac9,1**
Mac-F2218FA9. . . . . . . . . . . . . .iMac9,1***
Mac-F22589C8. . . . . . . . . . . . . .MacBookPro6,1
Mac-F22586C8. . . . . . . . . . . . . .MacBookPro6,2
Mac-F2268CC8. . . . . . . . . . . . . .iMac10,1
Mac-F2268DC8. . . . . . . . . . . . . .iMac10,1*
Mac-F4218FC8. . . . . . . . . . . . . .iMac6,1
Mac-F4208DC8. . . . . . . . . . . . . .MacPro4,1
Mac-F222BEC8. . . . . . . . . . . . . .MacBookPro7,1
Mac-F4238CC8. . . . . . . . . . . . . .iMac7,1

Mac-F42386C8. . . . . . . . . . . . . .iMac7,1*


Table_04 needn’t edit the content
Table_05 it sets information about the brand of processor. For Core Solo you should enter 513, for Core 2 Solo, enter to the space ProcessorType 257, Core 2 Duo - 769, for Xeon (exemplary equivalent is Core 2 Quad) - 1281 for Core i3 - 2305, for the Core i5 - 1537, for the Core i7 - 1793
Table_06 indicates the speed of the processor bus (ProcessorBusSpeed)
Table_07, 08, 09, 10 - this is information about the RAM. You type in each of these tables number of slots for RAM (for example, for the second slot in the table Table_08 must be specified Id - 2, BankLocator - BANK 2, DeviceLocator - DIMM 2, AssetTag - AssetTag4). The other key parameters are the type of RAM in the MemoryType (18 means DDR, 19 - DDR2, 20 - DDR2 FB-DIMM, 24 - DDR3), frequency (field of Speed) and the amount in megabytes (Size). Everything that you type in the space of Manufacturer, SerialNumber, PartNumber – are only "cosmetics". These values ​​doesn’t influence on anything and will be only displayed in the system information.

The final part of the configuration file contains a number of options:

The section of FacpFix is not recommended to touch, it is responsible for ensuring the normal restart hakintosh
SSDTHandling is responsible for removing native SSDT tables of and forced the use of yours SSDT tables. It has a little sense because on the quality of working it rarely affects on the quality of working of hakintoshes

OSXKernelSettings allows to you to specify another kernel if you want it. In addition you can write here an extra Kernel flags such a –v –x arch=i386 etc.
PlatformUUID – is UUID of your hakintosh
ScreenMode -is graphical mode of the XPC. You can see graphical modes if press on Y at the bootloader
DeviceProperties – is a line to insert the "strings". With strings are possible to get a video card, Ethernet, sound. Notice that if you insert a hex-string for the video card in this space, you should disable all the other options of the video.

 

XPC on MBR-boot sectors

http://www.insanelymac.com/forum/topic/286379-xpc-general-discussion/?p=1929464

DSDTVideoBios.zip

xpc-boot-prepare-tool-by-caine.zip

26022013without wallpaper.zip

12.03.13efildr20.zip

15.03.13efildr20.zip

16.03.13Efildr20.zip

18.03.13efildr20.zip

20.03.13efildr20.zip

23.03.13Efildr20.zip

30.03.13efildr20.zip

31.03.13Efildr20.zip

01.04.13XPC.zip

FullXPC01.04.13(replaceDSDT&setting.plist).zip

XPC0.92.3r.117.zip

boot for MBR-loading.zip

Edited by Alex Auditore
  • Like 6
Link to comment
https://www.insanelymac.com/forum/topic/286379-xpc-general-discussion/
Share on other sites

You receive the hackintosh which is still more like as a real Mac, which works more stably and "natively".

 

Alex, if you wouldn't mind, could you explain a little bit in more detail? What makes it more stable? How does it create a more native hackintosh? Those are nice promises, but knowing the "how" will be the clincher.

Its the first bootloader to utilize real EFI implementation based in EDK/DUET from Intel. Then os_ninja has surfaced with his i-BOOT following the same concept. Later on slice has joined the game with his Clover project, which now has outgrown his predecessors by a huge margin.

 

XPC may not be the most user friedly bootloader because it's targeted at more advanced users. Filling this configuration is a tough one, especially considering it's almost not documented, because XPC is essentially being developed by a single person - iPhoneTom, and only people who are active on IRC get to know what's what and what's the background behind a certain setting/build. But yeah, at this point for the end-user Clover has progressed far beyond because of coder resource being greater.. and so is the tester/user resource. Nonetheless, XPC still has some neat tricks packed which I'm really fond of.

 

Hi, Alex009988

 

I have got two questions to ask.

Is the Efildgpt in XPC 0.90.40 you uploaded new build 0.90.40?

Whether does the 0.90.40 Efildgpt work or not?

Thanks!

This one is 90.40 for sure and it works for me right now.

https://dl.dropbox.com/u/2573233/mac0s_10.8/Gigabyte%2010.8/bootloader/Efildgpt_90.40.zip

One weird thing wit hit though is that theme wasn't displaying volume names for some reason, but then names and versions showed up again.

 

Hi, Alex009988

 

I have got two questions to ask.

Is the Efildgpt in XPC 0.90.40 you uploaded new build 0.90.40?

Whether does the 0.90.40 Efildgpt work or not?

Thanks!

Don't worry.

1) Year, the Efilddgpt from XPC 0.90.40

2) Of course, it will be working.

I wouldn't never attached old version of XPC and call it the new version.

okey, from usb stick iam booting normally

but

all my attemps to install xpc to hard driver (it's GPT) ended in failure

I had installed, and I know how and what to do, but ...I only see a black background with red letters:

not found

 

but in efi i have all needed to XPC

Hey, mods!

 

Since it's a bootloader on its own right and a legit alternative to Chameleon, and since the development is ongoing, shouldn't this topic be pinned like Chameleon's and Clover's?

 

Just my two cents.

 

To the developers, keep the work going and publish a full tutorial as soon as you can, perhaps the user base grows with this.

  • Like 1
okey, from usb stick iam booting normally

but

all my attemps to install xpc to hard driver (it's GPT) ended in failure

I had installed, and I know how and what to do, but ...I only see a black background with red letters:

not found

 

but in efi i have all needed to XPC

Your efi partition is empty then. There's no Efildgpt on it, simply installing from 7>I doesn't copy the files.

What did I do wrong?

can you even read?

if the timestamp on both Efildr20 and Efildgpt would have been the same, the question whether Efildgpt is of version 90.40 wouldn't have been asked in the first place. since timestamp on it says April 4th of 2012 this is misleading ... hence I've attached a version of Efildgpt that is 90.40 for sure.

can you even read?

if the timestamp on both Efildr20 and Efildgpt would have been the same, the question whether Efildgpt is of version 90.40 wouldn't have been asked in the first place. since timestamp on it says April 4th of 2012 this is misleading ... hence I've attached a version of Efildgpt that is 90.40 for sure.

Well done! I've already corrected it. Check please my files, if you will find the same old files, tell me about it

okey, from usb stick iam booting normally

but

all my attemps to install xpc to hard driver (it's GPT) ended in failure

I had installed, and I know how and what to do, but ...I only see a black background with red letters:

not found

 

but in efi i have all needed to XPC

You should boot with USB flash Drive, and press on 7. You will see all of GPT- partitions. You should fine the partition which is usually called EFI. After press Shift+I You initially see the phrase "Efildgpt coppy-error". Afterwards the message will come and say you that installation was sucsseful.

This is important to understand that XPC prescribes its data in boot-sector.

But none of the files are transferred, they will be copied manually.

Therefore, further course of actions are that you should reboot the computer by the action of pressing on R, once booted from the flash drive, where you'll have to move a folder on the XPC EFI-GPT-disk partition.

you are loading from a flash drive again. After you have to transfer the files from USB flash Drive to GPT-disk.

After all start Terminal, write sudo-s and diskytil list.

After you have to change the mark of USB flash drive to your disk with these commands. For instans, disk3s1

mkdir /Volumes/EFI
mount_msdos /dev/disk3s1 /Volumes/EFI
cd /Volumes/EFI
touch /Volumes/EFI.metadata_never_index
rm -rf /Volumes/EFI/.fseventsd/
mkdir /Volumes/EFI/.fseventsd
touch /Volumes/EFI/.fseventsd/no_log
cp -R /Volumes/FLASH/* /Volumes/EFI
umount -f /Volumes/EFI

In the future, in order to access to the EFI-partition and mount it in the Finder, you have to perform the following sequence of commands in

Terminal

sudo -s
mkdir /Volumes/EFI
mount_msdos /dev/disk3s1 /Volumes/EFI

Disabling of EFI portions is made with umount -f/Volumes/EFI.

And remember, the number of your EFI partition will be always changed after each rebooting.

 

Alex, if you wouldn't mind, could you explain a little bit in more detail? What makes it more stable? How does it create a more native hackintosh? Those are nice promises, but knowing the "how" will be the clincher.

This idea allows to emulate on PC-computers the environment of EFI in which these EFI-modules could be loaded easy and started up, There is no exception even for the native EFI-boot of Mac OS X which called boot.efi.

For example, when the new version of MacOS X is released. We should make many of the changes in Chameleon to boot this new version. XPC can also patch kexts. etc

But in XPC we need't make it in theory.

Dear Alex009988,

 

1. its simply illegal to just copy webpages and publish it in other places without permission of the author.

 

2. Your thread gives other users the impression that you are involved with the xpc project and you are not in any way. XPC is exclusively by Iphonetom.

 

You didnt even mention Iphonetom. Its such a bad attitude and not tolerable. I assume you apologize publicly to Iphonetom and clear things up within a short notice of 3 days.

 

To all others,

you are welcome to join us in testing xpc. The official forum and info is at http://iphonetom.no-ip.org/phpbb/ and you can get help at irc channel: xpc-boot at Server: irc.ext3.net

 

Hope to see lots of you in our irc channel soon. We need more testers.

Its a decision of the developper Iphonetom and you either respect it or troll yourself and just boot something else. He has his reasons. Other used his code and rebranded it in the past. There is chameleon and clover as an alternative you can use without registering.

And we dont need support!!! It would be nice if some guys try out XPC since its such a great tool and perhaps the only at the moment that can perform a reinstall from recovery console without modding anything. Just like a real mac. Or boot ESDInstall.dmg without restoring.

 

He should have at least mentioned where he got his information from and gave proper credits. But that is missing in this scene (fe Tonymac the rebrander) and many talented developers are leaving exactly because of this. You all should rethink your attitude and be grateful to the devs that use their spare time to make your hacks run better or install more easily.

Hi, aschar1! How are you? Good to see you posting here on Insanelymac! :)

 

About the issue with Alex: despite being sensitive to your concerns (i agree he should have asked Iphonetom's consent to reproduce his webpage, since its content is private), he seems to be trying to support XPC by talking about its advantages in a well known forum, thus possibly attracting more users. He's clearly not pretending to be one of the developers of XPC (and even ask another user for help with its setup) and he did indeed mention Iphonetom as its creator, albeit not in the first post, and perhaps not as clearly as it deserves to be - and that can be solved by a simple post edition, which i'm sure Alex will do as soon as he can.

 

All credit and props to Iphonetom for his bootloader, by the way. The more alternatives, the better our user experience. Hope more users try it. I'll do it for sure.

 

Best regards!

iFire ???? Never heard of you or seen anything that you contributed. Before posting you should read. If you are related with insanelymac.com you should be concerned with legal issues and take it for granted that i am authorized by Iphonetom.

Nice to hear from you theconnactic and you are right we need alternatives and devs (meklort and cosmo1) just left the chameleon team. There are not many left.

×
×
  • Create New...