Jump to content
Alex Auditore

XPC General discussion

230 posts in this topic

Recommended Posts

Hurraaaaaaaaaaaaaaaaaaaaaaaay!  :D

I could load Mavericks with XPC but only with slide=0

Without it I see this mistake

post-974387-0-10320600-1372252258_thumb.jpg

But it seems that I have a mistake in XPCpacher because my AppleHDA doesn't work.(I entagled plists)

I use these patches.

http://www.insanelymac.com/forum/topic/290092-how-to-patch-applehda-with-the-help-of-bootloader/

And have it at XPC


 

Actually I think that probably the mistake hides here

<key>SystemVersion</key>
<string>0x000</string>
I have AppleHDA 2.5.2 and in this case should I write so <string>0x252</string>(I will check it and tell whether it helps),?

EDIT1

Now XPC booted my system without slide=0. Don't know where  did the error come from.

xpc_patcher.plist

<?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>XpcPatcher</key>
    <dict>
 
	<key>MachOPatch0</key> 
	<dict>
	<key>Apply</key>
	<integer>0</integer>
	<key>SystemVersion</key>
	<string>0x252</string>	
	<key>Description</key>
	<string>Patch for ALC670</string>
	<key>FileName</key>
	<string>AppleHDA</string>
	<key>Search</key>
	<string>8408ec10</string>
	<key>Replace</key>
	<string>00000000</string>
	</dict>

	<key>MachOPatch1</key>
	<dict>
	<key>Apply</key>
	<integer>1</integer>
	<key>SystemVersion</key>
	<string>0x252</string>
	<key>Description</key>
	<string>Patch for ALC670</string>
	<key>FileName</key>
	<string>AppleHDA</string>
	<key>Search</key>
	<string>786d6c2e7a6c </string>
	<key>Replace</key>
	<string>7a6d6c2e7a6c</string>
	</dict>

	<key>MachOPatch2</key>
	<dict>
	<key>Apply</key>
	<integer>2</integer>
	<key>SystemVersion</key>
	<string>0x252</string>
	<key>Description</key>
	<string>Patch for ALC670</string>
	<key>FileName</key>
	<string>AppleHDA</string>
	<key>Search</key>
	<string>8419d411</string>
	<key>Replace</key>
	<string>7006ec10</string>
	</dict>
	</dict>  

  </dict>

</plist>

I tried  this way <string>0x252</string> and that <string>0x000</string>

But my AppleHDA doesn't work in both cases

In others bootloaders it works. Where did I make a mistake.

Edited by Alex Auditore

Share this post


Link to post
Share on other sites
Advertisement

Sorry I made a mistake because I  got tired a little.

OK. Now AppleHDA works with that.

<?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>XpcPatcher</key>
    <dict>
 
	<key>MachOPatch0</key> 
	<dict>
	<key>Apply</key>
	<integer>1</integer>
	<key>SystemVersion</key>
	<string>0x000</string>	
	<key>Description</key>
	<string>Patch for ALC670</string>
	<key>FileName</key>
	<string>AppleHDA</string>
	<key>Search</key>
	<string>8408ec10</string>
	<key>Replace</key>
	<string>00000000</string>
	</dict>

	<key>MachOPatch1</key>
	<dict>
	<key>Apply</key>
	<integer>1</integer>
	<key>SystemVersion</key>
	<string>0x000</string>
	<key>Description</key>
	<string>Patch for ALC670</string>
	<key>FileName</key>
	<string>AppleHDA</string>
	<key>Search</key>
	<string>786d6c2e7a6c </string>
	<key>Replace</key>
	<string>7a6d6c2e7a6c</string>
	</dict>

	<key>MachOPatch2</key>
	<dict>
	<key>Apply</key>
	<integer>1</integer>
	<key>SystemVersion</key>
	<string>0x000</string>
	<key>Description</key>
	<string>Patch for ALC670</string>
	<key>FileName</key>
	<string>AppleHDA</string>
	<key>Search</key>
	<string>8419d411</string>
	<key>Replace</key>
	<string>7006ec10</string>
	</dict>
	
	<key>MachOPatch2</key>
	<dict>
	<key>Apply</key>
	<integer>1</integer>
	<key>SystemVersion</key>
	<string>0x000</string>
	<key>Description</key>
	<string>Patch for ALC670</string>
	<key>FileName</key>
	<string>AppleHDA</string>
	<key>Search</key>
	<string>8419d411</string>
	<key>Replace</key>
	<string>7006ec10</string>
	</dict>
	

	</dict>  

  </dict>

</plist>

I also wanted to patch the framebuffer

	<key>MachOPatch3</key>
	<dict>
	<key>Apply</key>
	<integer>1</integer>
	<key>SystemVersion</key>
	<string>0x000</string>
	<key>Description</key>
	<string>Patch_Alouatta_for_ATI5000</string>
	<key>FileName</key>
	<string>AMD5000Controller</string>
	<key>Search</key>
	<string>02000000000100000901000012040303000400000406000000710000110201010004000004060000007100002103020200040000040600000071000022050404</string>
	<key>Replace</key>
	<string>02000000400000000900000010000004000400000407000000000000120401020008000004020000000000001102020110000000100000000000000000100303</string>
	</dict>

But it doesn't work. I know it possible, other bootloaders(bareboot)  can do it. And I want to have the same ability on XPC as well.

Share this post


Link to post
Share on other sites

They are different. Look at that attentively.

Search-> the last number 04

Replace-> the last number 03 and so on.

Im referring to duplicate MachOPatch2, can't tell anything about ATI.

Share this post


Link to post
Share on other sites

there is no such version of XPC as the one you are proposing..

TimeWalker I know, I know about it that the version of XPC, which can patch framebuffer, wasn't made.

But if it will, it will a good step for progress of XPC.

Share this post


Link to post
Share on other sites

Alex,

 

i've tried your MachOPatch3 for Amd5000Controller, and it applied w/out problems.

Even don't know what to do and what to say. :( I know that you can't give me a wrong information.

But it doesn't work for same reason. I used native kext and with patch of XPC I saw black screen.

Do you have laptop with ATI Graphics?

Tomorrow I will recheck it again.

Did you try my patch with

<key>InjectAmd</key>

<integer>1</integer>

or without it. Maybe is it reason for my out of service patch for Graphics.

Was your AMD5000Controller loaded during the testing?

Share this post


Link to post
Share on other sites

No, patch definetely doesn't work on my laptop.

I had used it and saw black screen after.

<?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>XpcPatcher</key>
    <dict>
 
	<key>MachOPatch0</key> 
	<dict>
	<key>Apply</key>
	<integer>1</integer>
	<key>SystemVersion</key>
	<string>0x000</string>	
	<key>Description</key>
	<string>Patch for ALC670</string>
	<key>FileName</key>
	<string>AppleHDA</string>
	<key>Search</key>
	<string>8408ec10</string>
	<key>Replace</key>
	<string>00000000</string>
	</dict>

	<key>MachOPatch1</key>
	<dict>
	<key>Apply</key>
	<integer>1</integer>
	<key>SystemVersion</key>
	<string>0x000</string>
	<key>Description</key>
	<string>Patch for ALC670</string>
	<key>FileName</key>
	<string>AppleHDA</string>
	<key>Search</key>
	<string>786d6c2e7a6c </string>
	<key>Replace</key>
	<string>7a6d6c2e7a6c</string>
	</dict>

	<key>MachOPatch2</key>
	<dict>
	<key>Apply</key>
	<integer>1</integer>
	<key>SystemVersion</key>
	<string>0x000</string>
	<key>Description</key>
	<string>Patch for ALC670</string>
	<key>FileName</key>
	<string>AppleHDA</string>
	<key>Search</key>
	<string>8419d411</string>
	<key>Replace</key>
	<string>7006ec10</string>
	</dict>
	
	<key>MachOPatch3</key>
	<dict>
	<key>Apply</key>
	<integer>1</integer>
	<key>SystemVersion</key>
	<string>0x000</string>
	<key>Description</key>
	<string>Patch_Alouatta_for_ATI5000</string>
	<key>FileName</key>
	<string>AMD5000Controller</string>
	<key>Search</key>
	<string>02000000000100000901000012040303000400000406000000710000110201010004000004060000007100002103020200040000040600000071000022050404</string>
	<key>Replace</key>
	<string>02000000400000000900000010000004000400000407000000000000120401020008000004020000000000001102020110000000100000000000000000100303</string>
	</dict>
	</dict>  

  </dict>

</plist>

Also I noticed that without 

<key>InjectAmd</key>
    <integer>1</integer>
XPC hangs.
I attched  others settings as well and kext what I used.
Of course I rebuild kernel-cash by kext Utility. 

AMD5000Controller.kext.zip

Archive.zip

Share this post


Link to post
Share on other sites

Kext utility wasnt optimized for 10.9 yet and may give all sorts of troubles. Also you could use CustomAmdCard to define proper hardware IDs and Framebuffer.

I use DSDT to define proper hardware IDs and Framebuffer. And I also tried bareBoot and Clover. And patch worked which they had done. So that my kernel cash is correct.(I think so)

Share this post


Link to post
Share on other sites

Then for xpc remove your dsdt gfx injection, since default injector interferes with the other stuff..

I afraid It is more complicated as my video-wasn't injected(can't  go out of Verbose mode).

I tried two variants of DSDT, first old-short when I use with GraphicsEnabler(Chameleon) , second  Which I made just now with untouched Graphics section where I only amended LAN, Wifi,HPET,RTC,Battery,TIMR.

<?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>DefaultBoot</key>
	<string>Acpi(PNP0A08,0x0)/Pci(0x1F,0x2)/Sata(0x5,0x0,0x0)/HD(2,MBR,0x6A84517B,0x800,0x349D0800)\109</string>
	<key>DeviceProperties</key>
	<string></string>
	<key>InjectAmd</key>
    <integer>1</integer>
	<key>CustomAmdCard</key>
	<dict>
	<key>ForceCustomCard</key>
	<integer>1</integer>
	<key>Framebuffer</key>
	<string>Alouatta</string>
	<key>Model</key>
	<string>ATI Mobility Radeon HD 5850</string>
	<key>DeviceId</key>
	<string>0x68A1</string>
	<key>VendorId</key>
	<string>0x1002</string>
	</dict>
	<key>FacpFix</key>
	<dict>
		<key>AccessWidth</key>
		<string>0x01</string>
		<key>Address</key>
		<string>0x0CF9</string>
		<key>BitOffset</key>
		<string>0x00</string>
		<key>BitWidth</key>
		<string>0x08</string>
		<key>Flags</key>
		<string>0x400</string>
		<key>PMProfile</key>
		<string>0x01</string>
		<key>SpaceID</key>
		<string>0x01</string>
		<key>Value</key>
		<string>0x06</string>
	</dict>
	<key>ForceLoadKernelcache</key>
	<integer>1</integer>
	<key>MLBData</key>
	<string>0123456789ABCDEF0</string>
	<key>NoGuiOnDefaultBoot</key>
	<integer>1</integer>
	<key>NVRAMSaveLocation</key>
	<dict>
		<key>FilePath</key>
		<string>109
			</string>
		<key>Volume</key>
		<string>/Extra/nvram.00000102-b2e3-030f-90db-000000000000.plist</string>
	</dict>
	<key>OSXKernelSettings</key>
	<dict>
	<key>KernelFlags</key>
	<string>-v</string>
	</dict>
	<key>PlatformUUID</key>
	<string>EC980099-74EF-4FD9-8662-A27A709E53C8</string>
	<key>ScreenMode</key>
	<integer>496</integer>
	<key>USBFix</key>
	<integer>1</integer>
</dict>
</plist>

I think the bug with InjectAMD must be corected at least which doesn't allow to boot the system, without it.

Shortdsdt.aml.zip

CHameleonDSDT.zip

Share this post


Link to post
Share on other sites

I became quite interested in XPC when I discovered its capability of mounting and booting from DMG files.  I'd like to re-use my SSD for a new installation of Mountain Lion but I'd like to maintain the possibility of occasionally booting into my old OS X (Snow Leopard) installation currently occupying the disk.  The easiest, most logical method seemed to be a dmg of the partition.  Which surprisingly didn't initially seem possible as I've only been able to find very little written on the subject.  Apparently the capability has been there since Leopard but was never explained or used by Apple until ML.

 

Fairly soon my research led me to XPC, which seemed quite promising.  But I've been having some trouble getting it up and running as I'd hoped.  The documentation & information is a bit scarce & somewhat vague (to me) particularly regarding this topic.  So I'm hoping that someone here will be able & willing to share some pertinent information with me that will help me choose which direction to move from here.

 

I've made an writable dmg of the SSD installation I want to replace and saved it to another drive.  But that drive doesn't show up at all in XPC.  In fact it seems that none of the drives attached to the ICH10R on my X58 motherboard are showing up in XPC.  I proceeded to install XPC on the EFI of that drive itself but the that didn't work either.  I discovered that if I instead connect my drives to the Marvell 91xx ports they can be detected.  (Both are configured as AHCI in BIOS.)  However, the drive with the DMG still doesn't show up.  Although I haven't been able to find much documentation on the topic, I'm guessing that an HSF partition only shows up in XPC if it contains a bootable installation of OS X. Therefore a dmg can only be mounted if it is on a partition that contains an OS X installation.

 

If that is indeed true, it is frustrating because that means I would have to install OS X just to get the partition to show in XPC. Unless, possibly there are certain key files/directories it looks for that I could copy to the drive...?

 

I was wondering if there are any addition drivers- and where to find them or search, or if they can be configured in any way?

 

If anyone has any insight, information, presumptions or guesses that might help me out, point me in the right direction or let me know that my goal is beyond the scope of the software- I would be very grateful if you would share that with me.

 

 

I am more than happy to provide any further information/details that may be helpful to anyone kind enough to offer me direction/assistance.  Just tell me what to do or what information is needed.

 

 

Thank you so much!

Share this post


Link to post
Share on other sites

I became quite interested in XPC when I discovered its capability of mounting and booting from DMG files. I'd like to re-use my SSD for a new installation of Mountain Lion but I'd like to maintain the possibility of occasionally booting into my old OS X (Snow Leopard) installation currently occupying the disk. The easiest, most logical method seemed to be a dmg of the partition. Which surprisingly didn't initially seem possible as I've only been able to find very little written on the subject. Apparently the capability has been there since Leopard but was never explained or used by Apple until ML.

 

Fairly soon my research led me to XPC, which seemed quite promising. But I've been having some trouble getting it up and running as I'd hoped. The documentation & information is a bit scarce & somewhat vague (to me) particularly regarding this topic. So I'm hoping that someone here will be able & willing to share some pertinent information with me that will help me choose which direction to move from here.

 

I've made an writable dmg of the SSD installation I want to replace and saved it to another drive. But that drive doesn't show up at all in XPC. In fact it seems that none of the drives attached to the ICH10R on my X58 motherboard are showing up in XPC. I proceeded to install XPC on the EFI of that drive itself but the that didn't work either. I discovered that if I instead connect my drives to the Marvell 91xx ports they can be detected. (Both are configured as AHCI in BIOS.) However, the drive with the DMG still doesn't show up. Although I haven't been able to find much documentation on the topic, I'm guessing that an HSF partition only shows up in XPC if it contains a bootable installation of OS X. Therefore a dmg can only be mounted if it is on a partition that contains an OS X installation.

 

If that is indeed true, it is frustrating because that means I would have to install OS X just to get the partition to show in XPC. Unless, possibly there are certain key files/directories it looks for that I could copy to the drive...?

 

I was wondering if there are any addition drivers- and where to find them or search, or if they can be configured in any way?

 

If anyone has any insight, information, presumptions or guesses that might help me out, point me in the right direction or let me know that my goal is beyond the scope of the software- I would be very grateful if you would share that with me.

 

 

I am more than happy to provide any further information/details that may be helpful to anyone kind enough to offer me direction/assistance. Just tell me what to do or what information is needed.

 

 

Thank you so much!

Hello. I understood that you need in help of how to install ML, that is retail image, with the help of XPC, right?

The point is that I just became engrossed in reading of your message that I missed the main purpose. :)

Share this post


Link to post
Share on other sites

Hello. I understood that you need in help of how to install ML, that is retail image, with the help of XPC, right?

The point is that I just became engrossed in reading of your message that I missed the main purpose. :)

 

Thanks for your response!  I'll try to shorten my question...  (but my problem is somewhat complex so if I take out too much, anyone helping me will just be asking questions instead of giving me solutions, answers & possibilities.)

 

I don't need help installing ML (not yet).  That may come later (although I'll probably use Chameleon since it can do that just fine).

 

 

I need help doing something ONLY XPC can do (that I know of):

 

*** I need help booting from a DMG (I made) of my SL installation [been using a few years] (which is stored on I copied onto three different data drives- both all HFSJ format. One connected to SATA/AHCI- GPT, the others two connected to via USB- one with GPT, other with MBR partition table).

 

So far I can not even browse the file system of any of those disks to mount the DMG in XPC- they do not show up in the browser/GUI... none of them.

 

I have XPC installed on a USB thumb drive and as well as on the EFI partitions of both GPT partitioned data drives which contain a copy of the DMG I want to load.

XPC is installed correctly and loads from all 3 of those disks (that was not easy or fast to do!)  The latest version (0.92.3r) is currently installed on all.

 

I don't know what else to try...   I can't even try to boot from the DMG and begin to troubleshoot any potential problems until I can mount it in XPC- but I obviously can't do that if I can't browse any of the disks where the DMG is stored.

 

Any suggestions?

 

*The reason I'm trying to do this is because I want to reuse the disk that SL is on.  But I don't want to loose the ability of booting into that installation of SL.  Basically I don't wish to spend any money on new disks (SSD or HDD) because I have more than enough storage space & less than enough cash!

The reason I copied my SL DMG on 3 disks was the result of testing different ways to make the disks appear in XPC's GUI (the documentation I've found is limited and I've found no info on the criteria for making a partition visible in XPC).

 

Edited to correct errors, improve clarity & add details.

Share this post


Link to post
Share on other sites

thanks for the new improved build, everything is working really awesome incl. 10.9, really appreciate that, xpc is the efi booter of choice for me

Share this post


Link to post
Share on other sites

Hi everyone.

I attached boot file which allow to use XPC on MBR partision.

On other words the booting scheme is 

boot->EfildR20->Mac OSX.

I checked it on USB Stick. But on Hard disk it should work as well.

We use MBR-sectors as well as Clover or Chameleon has for this case.

Our files should look so

post-974387-0-77015400-1372703112_thumb.png

Good hack! 

boot.zip

Share this post


Link to post
Share on other sites

TimeWalker75a - were you using the MBR batch with XPC? I'm asking because you had a DELL and they would not boot with GPT partitions. I have XPS L702X and tried using XPC on it but it won't let me boot with GPT. My question is what is your hardware config and how were you using XPC. Thanks.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×