Jump to content

Ozmosis


xpamamadeus
6,231 posts in this topic

Recommended Posts

Hi,

 

https://www.dropbox.com/s/orco9ty5fegh40l/Kext2Ffs.zip

 

Kext2Ffs updated to generate OzmosisDefaults.ffs.

In directory Ozm edit OzmosisDefaults.plist according to your config.

In terminal ./KextToFfs.command Ozm

 

Fred

Hi all! I generated OzmosisDefaults.ffs like that, but it don't work! And on the Ozmosis log it generate automatically new one, please see my attached generated OzmosisDefaultsSMBios.plist and Ozmosis log!
The latest built of Ozmosis Firmware 894M doesn't work for me to, i have kernel panic dependency with: can't perform kexts loading…. no kext Kernel UUID: 9FEA8EDC -B629-3ED2-A1A3-6521A1885953. But the 824M work like charm and his OzmosisDefaults has a MacPro3,1 SMBios, I don't know what to do!

 

Link to comment
Share on other sites

Ok I tried again with FakeSMC 3.3.1 same issues. Tried adding the IONetworking and says a module with same GUID already exsists but no clue what one or what GUID.

just make a fresh start with making .ffs kexts.

put all kexts in folder soo script will not make same guid for some of them.

It needs to be done in one step.

Not kext by kext becouse then we will have same guid kexts.

Sry for my bad english

hope it helps.

Link to comment
Share on other sites

I would like to share my Ozmosis mod for Z87M D3H.

Its based on latest F10a bios for this board and latest ozmosis.

All oproms and CPU code its latest versions.

DSDT its modded with HDEF and HDMI patches for discrete VGA card.

https://www.dropbox.com/s/ypplrra9p4xfuku/Z87MD3H%20F10a%20Ozmosis.zip

 

It have imac 14,2 SMBIOS data.

Bios settings are my defaults with intel integrated disabled.

Didnt test how it works with both graphics or only Intel.

Works great with windows and Maverics.

Link to comment
Share on other sites

Thanks for sharing xpamamadeus. I'll take a look when I'm back on my hack. For now, I have no hack.

 

OT I know, but last week, I flashed the BIOS maybe 10 times in a couple of days and all was working well. Last thing I remember doing was issuing a script from OSX to write some nvram vars to set SMBIOS and then I found my machine would POST but then freeze with bios q-code A2 (IDE detect) and I could no longer enter bios menu. Clearing CMOS, unplugging everything from the main board, and doing anything else didn't resolve it either. Asus support said it was a faulty bios chip and to RMA the board, but I needed to go through the retailer, which I know was Amazon. As I have a second hand board, Amazon said to get the original buyer to contact them so they could send an RMA request which could then be sent on to me. I've emailed the person I bought it from but have had no reply so I've since ordered a replacement bios chip from ebay.

 

In the mean time I've got back my raspberry pi which I'd lent to somebody else and am going to attempt to use it as an SPI programmer to re-write my bios chip as per bikinifarm's post. http://www.insanelymac.com/forum/topic/285444-pmpatch-uefi-patching-utility/page-45?do=findComment&comment=1954787

  • Like 1
Link to comment
Share on other sites

Thanks for sharing xpamamadeus. I'll take a look when I'm back on my hack. For now, I have no hack.

 

OT I know, but last week, I flashed the BIOS maybe 10 times in a couple of days and all was working well. Last thing I remember doing was issuing a script from OSX to write some nvram vars to set SMBIOS and then I found my machine would POST but then freeze with bios q-code A2 (IDE detect) and I could no longer enter bios menu. Clearing CMOS, unplugging everything from the main board, and doing anything else didn't resolve it either. Asus support said it was a faulty bios chip and to RMA the board, but I needed to go through the retailer, which I know was Amazon. As I have a second hand board, Amazon said to get the original buyer to contact them so they could send an RMA request which could then be sent on to me. I've emailed the person I bought it from but have had no reply so I've since ordered a replacement bios chip from ebay.

 

In the mean time I've got back my raspberry pi which I'd lent to somebody else and am going to attempt to use it as an SPI programmer to re-write my bios chip as per bikinifarm's post. http://www.insanelymac.com/forum/topic/285444-pmpatch-uefi-patching-utility/page-45?do=findComment&comment=1954787

Really like your attempt to recover your mobo using raspberry pi.

Waiting for your sucess and good luck.

Link to comment
Share on other sites

Thanks for the good luck message xpamamadeus :)

 

Job done! :D
 
I set up the raspberry pi with pciutils and flashrom, then went about setting up the wiring to allow me to re-write my chip. It took two attempts.
 
First, last night I soldered some wires, resistors and a capacitor and set up my raspberry pi with bios chip.
 
post-331032-0-76994500-1396218727_thumb.jpgpost-331032-0-76657200-1396218735_thumb.jpgpost-331032-0-48423300-1396218745_thumb.jpg
 
But my work was wrong somehow as flashrom failed.
sudo flashrom -p linux_spi:dev=/dev/spidev0.0 -r biosbackup.rom
flashrom v0.9.7-r1711 on Linux 3.10.25+ (armv6l)
flashrom is free software, get the source code at http://www.flashrom.org
 
Calibrating delay loop... OK.
Found Generic flash chip "unknown SPI chip (RDID)" (0 kB, SPI) on linux_spi.
===
This flash part has status NOT WORKING for operations: PROBE READ ERASE WRITE
The test status of this chip may have been updated in the latest development
version of flashrom. If you are running the latest development version,
please email a report to flashrom@flashrom.org if any of the above operations
work correctly for you with this flash part. Please include the flashrom
output with the additional -V option for all operations you tested (-V, -Vr,
-VE, -Vw), and mention which mainboard or programmer you tested.
Please mention your board in the subject line. Thanks for your help!
Read is not working on this chip. Aborting.
sudo flashrom -E -V -p linux_spi:dev=/dev/spidev0.0
flashrom v0.9.7-r1711 on Linux 3.10.25+ (armv6l)
flashrom is free software, get the source code at http://www.flashrom.org
 
flashrom was built with libpci 3.2.1, GCC 4.6.3, little endian
Command line (4 args): flashrom -E -V -p linux_spi:dev=/dev/spidev0.0
Calibrating delay loop... OS timer resolution is 5 usecs, 111M loops per second, delay more than 10% too short (got 53% of expected delay), recalculating... 109M loops per second, delay more than 10% too short (got 50% of expected delay), recalculating... 228M loops per second, 10 myus = 10 us, 100 myus = 103 us, 1000 myus = 1058 us, 10000 myus = 10917 us, 20 myus = 23 us, OK.
Initializing linux_spi programmer
Using device /dev/spidev0.0
The following protocols are supported: SPI.
Probing for AMIC A25L05PT, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L05PU, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L10PT, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
../snip/..
Probing for ST unknown ST SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Sanyo unknown Sanyo SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond unknown Winbond (ex Nexcom) SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Generic unknown SPI chip (RDID), 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Found Generic flash chip "unknown SPI chip (RDID)" (0 kB, SPI) on linux_spi.
Probing for Generic unknown SPI chip (REMS), 0 kB: probe_spi_rems: id1 0x0, id2 0x0
Found Generic flash chip "unknown SPI chip (RDID)" (0 kB, SPI).
===
This flash part has status NOT WORKING for operations: PROBE READ ERASE WRITE
The test status of this chip may have been updated in the latest development
version of flashrom. If you are running the latest development version,
please email a report to flashrom@flashrom.org if any of the above operations
work correctly for you with this flash part. Please include the flashrom
output with the additional -V option for all operations you tested (-V, -Vr,
-VE, -Vw), and mention which mainboard or programmer you tested.
Please mention your board in the subject line. Thanks for your help!
Read is not working on this chip. Aborting.
 
Take 2 - I woke this morning thinking I must have done something wrong and knew I should try again. So..
This time I did it without the resistors and capacitor as mentioned by coderush here
post-331032-0-27709000-1396218754_thumb.jpgpost-331032-0-10256000-1396218763_thumb.jpg
And bingo!
post-331032-0-06114100-1396218774_thumb.jpg
 
sudo flashrom -p linux_spi:dev=/dev/spidev0.0 -w ../../MaximusIV-GENE-Z-ASUS-3402-Patched.ROM -V
flashrom v0.9.7-r1711 on Linux 3.10.25+ (armv6l)
flashrom is free software, get the source code at http://www.flashrom.org
 
flashrom was built with libpci 3.2.1, GCC 4.6.3, little endian
Command line (5 args): flashrom -p linux_spi:dev=/dev/spidev0.0 -w ../../MaximusIV-GENE-Z-ASUS-3402-Patched.ROM -V
Calibrating delay loop... OS timer resolution is 5 usecs, 228M loops per second, 10 myus = 11 us, 100 myus = 107 us, 1000 myus = 987 us, 10000 myus = 17972 us, 20 myus = 23 us, OK.
Initializing linux_spi programmer
Using device /dev/spidev0.0
The following protocols are supported: SPI.
Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017
Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017
../snip/..
Probing for Macronix unknown Macronix SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017
Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017
Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017
Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017
Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017
Probing for Winbond unknown Winbond (ex Nexcom) SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017
Probing for Generic unknown SPI chip (RDID), 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017
Probing for Generic unknown SPI chip (REMS), 0 kB: probe_spi_rems: id1 0xef, id2 0x16
Found Winbond flash chip "W25Q64.V" (8192 kB, SPI).
This chip may contain one-time programmable memory. flashrom cannot read
and may never be able to write it, hence it may not be able to completely
clone the contents of this chip (see man page for details).
Reading old flash chip contents... done.
Erasing and writing flash chip... Trying erase function 0... 0x000000-0x000fff:S, 0x001000-0x001fff:EW, 0x002000-0x002fff:E, 0x003000-0x003fff:S, 0x004000-0x004fff:S, 0x005000-0x005fff:S, 0x006000-0x006fff:EW, 0x007000-0x007fff:E, 0x008000-0x008fff:E, 0x009000-0x009fff:E, 0x00a000-0x00afff:EW, 0x00b000-0x00bfff:S, 0x00c000-0x00cfff:EW, 0x00d000-0x00dfff:E, 0x00e000-0x00efff:EW, 0x00f000-0x00ffff:E, 0x010000-0x010fff:E, 0x011000-0x011fff:E, 0x012000-0x012fff:EW, 0x013000-0x013fff:E, 0x014000.../snip/..
0x7fa000-0x7fafff:S, 0x7fb000-0x7fbfff:S, 0x7fc000-0x7fcfff:S, 0x7fd000-0x7fdfff:S, 0x7fe000-0x7fefff:S, 0x7ff000-0x7fffff:S
Erase/write done.
Verifying flash... VERIFIED.

Job done! :D

I am now back using my hack.

 

Big thanks to bikinifarm, coderush and pacman for their posts.
 
EDIT: Removed a large chunk of the posted logs as they were slowing down page loading..
  • Like 5
Link to comment
Share on other sites

Hello I'm trying to edit my dsdt directly into UEFI for use in conjunction with Ozmosis, but have not found any information about DSDT. Can anyone help me with this?

Hi.

Make signature soo we can know what hardware u use.

And post your bios version.

Link to comment
Share on other sites

Nice hack!!!! i have buyed one simple flash programmer with some clips, very usefull and cheap but i cant program gigabyte flash onboard, it seems there is a very high current absorber.


Hello I'm trying to edit my dsdt directly into UEFI for use in conjunction with Ozmosis, but have not found any information about DSDT. Can anyone help me with this?

Try this http://forums.mydigitallife.info/threads/47032-Ami-Aptio-firmware-(UEFI)-dsdt-firmware-mod/page2

Link to comment
Share on other sites

Firstly! I wish you the best Xpamamadeus, I have seen a lot of your posts that's are always very usefull! and I really want to thank you for sharing this nice one too. 

 

I recently have seen the post on mydigitallife that explain how to insert a modified DSDT in the BIOS,  and now, I still fail to make it properly. However, when I flash the bios with a DSDT that's not contain errors and after restarting my Hackintosh and extracting the DSDT with Maciasl, I found several errors even when a DSDT was previously fixed like i told before. 

 

It makes me crazy and i really don’t know how to do it properly. Please! here is the link of the AmiBoardInfo extracted from the GA-Z87X-UD4H.F9 Bios with the patch that i use. Sorry for my bad english!!!

 


Link to comment
Share on other sites

Some tracks and pitfalls for modifying DSDT:

 

1. Do not extract DSDT with Maciasl. Bios/UEFI does some changes while loading these into memory during boot time. It's better to use MMtool for Extraction of AmiBoardInfo and use a Hexeditor for extraction of DSDT (there are several guides how to do this).

 

2. After de-compiling DSDT.aml and cleaning the errors, also save this as dsl file. For further patching and amendments always use this dsl (no further de-compilation is required). Of course for the BIOS use the compiled aml file.

 

3. Either put the DSDT.aml to the EFI partition and let Ozmosis inject this during boot time, or when this doesn't work (like my setup), put this back into AmiBoardInfo and  put this in your BIOS file

 

Hope this makes sense

Link to comment
Share on other sites

Some tracks and pitfalls for modifying DSDT:

 

1. Do not extract DSDT with Maciasl. Bios/UEFI does some changes while loading these into memory during boot time. It's better to use MMtool for Extraction of AmiBoardInfo and use a Hexeditor for extraction of DSDT (there are several guides how to do this).

 

2. After de-compiling DSDT.aml and cleaning the errors, also save this as dsl file. For further patching and amendments always use this dsl (no further de-compilation is required). Of course for the BIOS use the compiled aml file.

 

3. Either put the DSDT.aml to the EFI partition and let Ozmosis inject this during boot time, or when this doesn't work (like my setup), put this back into AmiBoardInfo and  put this in your BIOS file

 

Hope this makes sense

yes, but how we can knows the start and the end in Amibios.info? there are some specific hex sequence that sign the start and the end of the compiled DSDT? 

Link to comment
Share on other sites

There are surely some hex sequences that show the start and end of this. 

BUT I haven't found them yet.

 

My way: some pages below start I find the sequence "DSDT" and search for ASCII "PINI". Everything between those (+1 byte) is copied to DSDT.aml.

And when MacIasl doesn't complain,  everything is fine.

Link to comment
Share on other sites

Thank's for reply guy's, so here are the steps that i made for my Bios:

1- I download the bios from gigabyte.

2- I extract the AmiBoardInfo.ffs From the bios as is.

3- With the HexEditor i open the AmiBoardInfo.ffs and Select from the begin (DSDT...ALASKA...etc..) something like that until the end (PINI. with "."), then i copied and paste it to another Hex file that i named as DSDT.aml and save it.

4- I patch that DSDT with same size "48880" Bytes.

5- Now from Microsoft Windows i open the Bios that i have downloaded earlier with PhoenixTool 2.50, and it extract all the module when i click on advanced=> Allow user to modify module + No SLIC + allow DSDT modification and i click on Go and after i click on Structure.

6- With Hex Editor, i open from the Dump folder only the module inside the AmiBoardInfo.ffs that contain the DSDT section like i copied earlier it's a (PE32+ Image Section=9F3A............44C347-100.MOD), and i paste over selected DSDT "inside this module" the patched one, then i click only save bouton from the Hex editor. Now i have saved into this module my DSDT already patched with no error and with same size.

7- Now from the Structure window, i click the replace bouton, and i select that saved module on the Dump folder of the PhoenixTool  not from any where "it's the saved one" and he do it's Job to replace it, and he compile the modified Bios.

8- Finally, i got that Modified BIOS and i add to it Ozmosis and all ffs that i need, and go to flash mi Board.

9- Until this steps! Everything works like charm.

10- After i flashed my board with this bios and boot into Mavericks, i extract the System DSDT with Maciasl, here i have the errors!!! But when i look to the modified bios and extract his DSDT from his AmiBoardInfo.ffs.   :shock: NO PROBLEM and NO ERROR.

So this makes me crazy=> "It looks like i have errors only when i boot into mavericks" !!!  :help:  :cry:  :wallbash: There is a demon in my motherboard :hysterical:.

Link to comment
Share on other sites

Just a silly question: Why do you extract DSDT in step 10 when you have one (without errors) in step 4?

 

Maybe it's not obvious that MacIasl does a re-assembling when it tries to read the aml file (= machine language).

Just for clarification: re-assembling is something which cannot rebuild the source in total. So this is quite normal that you have source code which will not compile, because MacIasl (or better iASL) just does a guess what is going on in this aml file.

 

Therefore, if you have an error free DSDT from step 4, stick with it. Do some fantastic patches from PJALM or Toleda, put in some SSDT, and put it back into BIOS.

That's it.

Link to comment
Share on other sites

I extract the DSDT from Step10 just in order to see if there is an error. but Inside the modified bios there's no error, it's just when i extract the DSDT from Mavericks. So, if i inderstand, the right way is to paste into the module one de-assembled DSDT "dsl". :unsure:

 

If you see the page 26, i allready placed a link for a patch that contain: (Toleda, Pjalm and PikerAlpha), after that, i manually make some changes for some "Return Zero, and Method Serialized. When i finish them, the final DSDT have same size: 48880 Bytes same as the original one, so finally i replace the original DSDT Inside this module with this one. Tell me please, if it's right.

Link to comment
Share on other sites

as is? not uncompressed ? 

Yes as is! Because if you look the size when you extract the AmiBoardInfo:

As Is size is bigger than the Uncompressed!!! I really don't understand why, but it's true  :lol:

Hello,

 

When you extract DSDT with MacIAsl some address are modified during boot process and bios setting.

I agree, the best way to get DSDT is what explained ammoune78.

 

Fred

 

Exactly FredWst! Because when i reboot after flashing the bios, i do some change like:

-HDD=>AHCI

-IGFX=>Disabled

-XMP detection=1, i have 2x8 Gb DDR-3 2400 Mhz

-VT-d: Disabled, i have Intel i7 4771

-PCI-E= First

The first error is here:

DSDT inside AmiBoardInfo: "Name (XMPT, Buffer (Zero) {})" This is good one. 

When it's extracted become: Name (XMPT, Buffer (0x0000) {}), and after every 3 minutes the mavericks reboot.

Some tracks and pitfalls for modifying DSDT:

 

1. Do not extract DSDT with Maciasl. Bios/UEFI does some changes while loading these into memory during boot time. It's better to use MMtool for Extraction of AmiBoardInfo and use a Hexeditor for extraction of DSDT (there are several guides how to do this).

 

2. After de-compiling DSDT.aml and cleaning the errors, also save this as dsl file. For further patching and amendments always use this dsl (no further de-compilation is required). Of course for the BIOS use the compiled aml file.

 

3. Either put the DSDT.aml to the EFI partition and let Ozmosis inject this during boot time, or when this doesn't work (like my setup), put this back into AmiBoardInfo and  put this in your BIOS file

 

Hope this makes sense

Yes of course, i do it with the MMTool from the AmiBoardInfo like you said, but i can't do all the patch's that i want, first i need to delete some of the code inside of the DSDT, like Windows 2001 SP1 until 2006 in the Method _INI of the Scope (_SB.PCI0), because if i exceed the 48880 Bytes, after the flash of the Bios, i have a black screen!

Link to comment
Share on other sites

Hi,

 

Look at your motherboard hardware book.

I believe you can remove many device witch are present but not used.

For exemple i removed USB, RP5 to RP8. (Z77-DS3H)

Don't rename SAT0 to SATA if there sat0 in one ssdt or change it

Etc...

 

Fred

Link to comment
Share on other sites

Hi! 

I don't know witch one of them to delete, but that i will need to use, is only the front panel USB Port's. And i don't use the TPM, so i don't know if i can delete it also, and i think the PCI-Express port 1 and 2 witch are in DSDT ( P0PA and P0PB) can be deleted also if i don't use the SLI "2 Graphics Cards":unsure: 

Link to comment
Share on other sites

×
×
  • Create New...