Jump to content

OZMTool - An Ozmosis Toolbox


tuxuser
 Share

73 posts in this topic

Recommended Posts

Hello guys,

 

Would like to present you a little tool I worked on for the last couple of days (or weeks?).

It makes patching BIOSes for Ozmosis pretty easy.. or atleast an all-in-one process (no need to use seperate applications that is).

 

Current Version: v0.3

 

 

 

I am not responsible for any damages or problems that could occur by using this program.
Verify every step you make (or the program) and use it at your own risk!
Remember: Flashing the BIOS is dangerous in general.. a hacked one even more!

 

 

 

 

 

OZMTool v0.3
--------------
 
This program was created to make the process of creating an Ozmosis patched BIOS easier
(If you can handle some terminal commands that is!).
It is based on UEFITool (awesome application!) by CodeRush.
It includes the following useful tools to help you in this process:
 
        --dsdtextract Extracts DSDT from BIOS
--dsdtinject Injects DSDT into BIOS
        --ozmupdate Updates clean BIOS with files from old OZM-flavoured one
        --ozmextract Extracts Ozmosis files (ffs) from BIOS
        --ozmcreate Patches Original BIOS with Ozmosis
        --kext2ffs Converts kext-directories to FFS
        --dsdt2bios Injects (bigger) DSDT into AmiBoardInfo
--help, -h Print usage (append command to print cmd-usage!)
 
* DSDTExtract
    Extracts AmiBoardInfo.bin and DSDT.aml from supplied BIOS file
 
* DSDTInject
    Inject DSDT into BIOS ROM, you have to supply DSDT.aml
 
* OZMUpdate
    You supply an (old) ozmosis-flavoured BIOS and a recent BIOS for your motherboard and it
    copies over the Ozmosis stuff + kexts (not DSDT because that can differ between Bios Revisions)
    It supports --aggressivity and --compressdxe switch (see OZMCreate)
 
* OZMExtract
    Extracts Ozmosis files from a stock (HermitCrabLabs) Ozmosis Bios.
 
* OZMCreate
    Creates an Ozmosis image from supplied FFS/Kext/DSDT/Efi files (Kext, DSDT & Efi is optional).
    If the image originally does not have enough space, use the -a, --aggressivity switch
Possible values for -a :
        --aggressivity 0: Try to inject the files as-is
--aggressivity 1: Deletes files for BIOS Network Support (PXE etc.)
        --aggressivity 2: Deletes non-essential Ozmosis files - keeps the Ozmosis base working tho
            (deletes: ExtFs, HermitShellX64, OzmosisTheme, DisablerKext, InjectorKext)
    You also have the option to compress 'CORE_DXE' by supplying -cr, --compressdxe switch!
    There's also the possibility to inject Kexts as compressed FFS, with --compresskexts switch!
 
    If all attempts fail, the output image wont be created (obviously)
 
* Kext2Ffs
    Converts files to FFS. It accepts *.kext, Defaults.plist and Theme.bin.
    Uses UEFITool's technique to create the FFS :)
 
* DSDT2Bios
    Patches (bigger than original) DSDT into AmiboardInfo.
    Based on DSDT2Bios from FredWst! Big thx!
 
 
DISCLAIMER
---------
I am not responsible for any damages or problems that could occur by using this program.
Verify every step you make (or the program) and use it at your own risk!
Remember: Flashing the BIOS is dangerous in general.. a hacked one even more!
 
 
USAGE
---------
 
./OZMTool -h
./OZMTool --dsdtextract --out outputdir --input OZMBIOS_or_BIOS.ROM
./OZMTool --dsdtinject --input BIOS.ROM --dsdt DSDT.aml --out outputfile
./OZMTool --ozmupdate --aggressivity 1 --compressdxe --out RECENT_OZM_BIOS.ROM --input OLD_OZM.ROM --recent NEW_CLEAN_BIOS.ROM
./OZMTool --ozmextract --out outputdir --input OZM.ROM
./OZMTool --ozmcreate --aggressivity 1 --compressdxe --kext kextdir --ffs ffsdir --efi efidir --dsdt DSDT.aml --out outputfile --input BIOS.ROM
./OZMTool --kext2ffs --out outputdir --input kextsdir
./OZMTool --dsdt2bios --input AmiBoardInfo.bin --dsdt DSDT.aml --out patchedAmiBoardInfo.bin
 
 
SOURCE CODE / REPORTING ISSUES
---------
Source Code: https://github.com/tuxuser/UEFITool / Branch: OZMTool
 
 
CREDITS
---------
- The Hermit Crabs Lab -> Ozmosis
- CodeRush -> UEFITool & help & support
- FredWst -> Kext2FFS and DSDT2Bios
- Gil Dabah -> distorm
- Reilly Watson -> qtplist
- STLVNUB -> testing
- Thomaso66 -> teaching the basics to me & testing
- backdash -> testing
- smx -> help & support
 
 
CHANGELOG
---------
 
13/11/2014 - v0.3
- Adding option to replace .efi files inside FFS capsules (Drivers, Ozmosis)
- Cleanup ffs creation
- Adding GUIDs for Ozmosis build 1479
- Renamed "ffsconvert" to "kext2ffs"
- Bump custom kext start index to 0xA - so custom kext don't overwrite ozmosis stuff
 
24/07/2014 - v0.2
- First public release
 
??/??/???? - v0.1
- Internal testing release
 

OZMTool_v0.2_osx.zip

OZMTool_v0.2_win.zip

OZMTool_v0.2_linux.tar.gz

OZMTool_v0.3_linux.tar.gz

OZMTool_v0.3_osx.zip

OZMTool_v0.3_win.zip

Edited by tuxuser
  • Like 19
Link to comment
Share on other sites

Great peace of art!

 

But it seems, that ozmupdate with compressdxe fails with the latest Gigabyte bios for me (Windows version - Win7 x64) in the compress step.

 

Original bios available here: http://download.gigabyte.eu/FileList/BIOS/mb_bios_ga-z87x-ud7-th_f5a.zip

E:\t1>OZMTool.exe --ozmupdate --aggressivity 1 --compressdxe --out f5b.rom --input z87xud7th.f3b9.oz.rom --recent Z87XUD7TH.F5.rom
OZMTool - v0.2
Info: Aggressivity level set to 'Delete network stuff from BIOS'...
Info: Compressing CORE_DXE is selected!
Injecting 'PartitionDxe' [1FA1F39E-FEFF-4AAE-BD7B-38A070A3B609] from old into new BIOS...
* File not existant, inserting at the end of volume
Injecting 'EnhancedFat' [961578FE-B6B7-44C3-AF35-6BC705CD2B1F] from old into new BIOS...
* File not existant, inserting at the end of volume
Injecting 'HfsPlus' [4CF484CD-135F-4FDC-BAFB-1AA104B48D36] from old into new BIOS...
* File not existant, inserting at the end of volume
Injecting 'Ozmosis' [AAE65279-0761-41D1-BA13-4A3C1383603F] from old into new BIOS...
* File not existant, inserting at the end of volume
Injecting 'OzmosisDefaults' [99F2839C-57C3-411E-ABC3-ADE5267D960D] from old into new BIOS...
* File not existant, inserting at the end of volume
Injecting 'SmcEmulatorKext' [DADE1001-1B31-4FE4-8557-26FCEFC78275] from old into new BIOS...
* File not existant, inserting at the end of volume
Injecting 'ExtFs' [B34E5765-2E04-4DAF-867F-7F40BE6FC33D] from old into new BIOS...
* File not existant, inserting at the end of volume
Injecting 'OzmosisTheme' [AC255206-DCF9-4837-8353-72BBBC0AC849] from old into new BIOS...
* File not existant, inserting at the end of volume
Injecting 'AppleIntelE1000e.Rev-2.4.14' [DADE1008-1B31-4FE4-8557-26FCEFC78275] from old into new BIOS...
* File not existant, inserting at the end of volume
Injecting custom ffs 'AppleIntelI210Ethernet.Rev-2.0.3' [DADE1009-1B31-4FE4-8557-26FCEFC78275] from old into new BIOS...
* File not existant, inserting at the end of volume
Injecting custom ffs 'ACPISensors.Rev-6.0.1072' [DADE100A-1B31-4FE4-8557-26FCEFC78275] from old into new BIOS...
* File not existant, inserting at the end of volume
Injecting custom ffs 'CPUSensors.Rev-6.0.1072' [DADE100B-1B31-4FE4-8557-26FCEFC78275] from old into new BIOS...
* File not existant, inserting at the end of volume
Injecting custom ffs 'GPUSensors.Rev-6.0.1072' [DADE100C-1B31-4FE4-8557-26FCEFC78275] from old into new BIOS...
* File not existant, inserting at the end of volume
Injecting custom ffs 'LPCSensors.Rev-6.0.1072' [DADE100D-1B31-4FE4-8557-26FCEFC78275] from old into new BIOS...
* File not existant, inserting at the end of volume
Compressing CORE_DXE to save space...
* Trying to compress 'CORE_DXE' [5AE3F37E-4EAE-41AE-8240-35465B5E81EB]
Link to comment
Share on other sites

  • 2 months later...
  • 3 weeks later...

I wait picture or video how to install Ozmosis.I have a ROM for my mobo and wait answer here.I found rom on this link.

Please help!!!!Thanks in advanced!!!!

 

Hi crushers,

I just spent the last few days to Ozmosis, I downloaded the corresponding ROM of my motherboard on : http://hackintosh-forum.de/index.php?page=Board&boardID=90

I created my USB Pen Drive with Yosemite DiskMaker X, then I flashed the bios with Q- Flash ( FAT formatted USB Pen Drive ), then you boot to your prepared OSX PenDrive and you install OSX, everything worked except the network, I used [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] to inject my ethernet kext, rebooted and everything is OK !

 

Read that : http://hackintosh-forum.de/index.php?page=Thread&threadID=18987

Link to comment
Share on other sites

  • 2 weeks later...

Hello guys,

 

Would like to present you a little tool I worked on for the last couple of days (or weeks?).

It makes patching BIOSes for Ozmosis pretty easy.. or atleast an all-in-one process (no need to use seperate applications that is).

 

Current Version: v0.2

 

 

 

 

 

 

 

Linux executables will follow soon!

 

EDIT_0: Added Windows build

EDIT_1: Added Linux build

So it is for bios based mobo? because mine is and ozmosis would be nice.

Link to comment
Share on other sites

Rats cause i am bios, by the way uefi is different then bios uefi is not a "branch" of bios.

Link to comment
Share on other sites

I don't know why some people ask for video, you have all the hints to run by yourself, Tuxuser make the life easier with his great tools, before this very helpful utility we had to do by hands using uefitools, mmttol kext2ffs and DSDT2Bios, many of us were able to do this.

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

Hi, when i try to convert OzmosisDefaults.plist in .ffs i get some strange error 

C:\mmtool\ozmtools>OZMTool --kext2ffs --out g:\ASUSZ97I-PLUS\out --input g:\ASUSZ97I-PLUS\kext\
OZMTool - v0.3
Converting Kexts...
Info: '.' doesn't look like a valid kext, Defaults.plist or Theme.bin!
Info: '..' doesn't look like a valid kext, Defaults.plist or Theme.bin!
Info: 'OzmosisDefaults.plist' doesn't look like a valid kext, Defaults.plist or Theme.bin!

But no OzmosisDefaults can be generated 

OSx version seems to get same erros 

dudes-Mac:OZMTool_v0 dude$ ./OZMTool --kext2ffs --out ./out/ --input ./kextdir/
OZMTool - v0.3
Converting Kexts...
Info: '.' doesn't look like a valid kext, Defaults.plist or Theme.bin!
Info: '..' doesn't look like a valid kext, Defaults.plist or Theme.bin!
ERROR: Invalid sectionType supplied!
ERROR: Failed to create PE32 Section!
ERROR: KEXT2FFS failed on 'IONetworkingFamily.Rev-3.2'
* Current file 'IONetworkingFamily.kext'...
ERROR: Converting 'IONetworkingFamily.kext' to FFS failed!
! Program exited with errors !

Status code: 240

Link to comment
Share on other sites

Perhaps the naming of the file in the output it is looking for Defaults.plist try it named like that for the input file.

 

Edit: Also that file does not need to be included in the BIOS you can simply put it in the Oz directory and it will load in preference to the one included in the BIOS allowing for easy changes to it, any changes made after the first loading of a defaults.plist whether in BIOS or on your drive needs a reset of the pram/nvram for the new changes to take effect.

Link to comment
Share on other sites

This tool works great thanks for sharing your work.  I used  ozmextract to get the FFS files from the Oz bios.  Is there a method to convert the FFS file back to kext?  I don't have these original kexts and would like to convert them to view them.

 

Is there also a way to Assign the GUID so there is no conflict with another when inserted into the firmware?

 

Thanks

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
 Share

×
×
  • Create New...