Ozmosis Bios für macOS High Sierra erstellen

  • Nun ja, die obige Anleitung ist ja schön und gut, aber leider nicht mehr wirklich aktuell. September 2014 ist vorbei und auch Ozmosis hat sich entwickelt. Ein bisschen... Also hier eine Ergänzung dazu, wie ihr Schritt für Schritt vorgehen solltet, wenn ihr euer eigenes Ozmosis Bios für macOS High-Sierra erstellen wollt.


    Vorab ist zu sagen:
    Ozmosis funktioniert nur bis maximal Haswell, also B97, H97 und Z97. Allerdings ist momentan eher darauf zu setzen, dass B97 und H97 nicht funktionieren, da einfach zu wenig Platz im Bios ist, um alle nötigen Dateien unterzubringen. Bei Asus und AsRock kommt es vereinzelt dennoch vor, dass genügend Platz vorhanden ist, also versucht euch ruhig selbst dran!
    Skylake, KabyLake, CoffeLake, ... braucht ihr nicht probieren, der "neue" Aptio 5 Standart ist nicht mit Ozmosis kompatibel.


    Und wie geht dat jetzt?


    Je nach Hersteller des Mainboards, müssen vor dem injizieren von Ozmosis noch einige Vorbereitungen getroffen werden. Asus und AsRock haben zum Beispiel gern mal das MSR2 Register gesperrt, wodurch der Start von macOS verhindert werden kann. macOS möchte dort anscheinend gerne rein schreiben und wenn dieses nicht möglich ist, landen wir leider nicht im Installer, wie gewünscht. Ich empfehle dennoch so ziemlich jedes Bios (auch MSI, etc.) einmal durch diesen Vorgang zu jagen. Es schadet nicht!


    AsRock:


    Hierbei gibt es noch eine Besonderheit! AsRock baut ihr Bios manchmal in eine "Aptio Capsule". Andere Hersteller genauso, allerdings lässt sich bei AsRock das Bios nicht flashen, sobald etwas in dieser Capsule verändert wird. Daher muss das Bios dort erstmal raus. Dafür öffnen wir zunächst mal das UEFITool und schieben unser Bios einfach mal darein (Beispiel: Z87 Killer):



    Dabei klicken wir jetzt mit der rechten Maustaste auf diese Capsule (im Bild ausgewählt) und klicken auf "Extract Body". Damit wird der Inhalt, der in diesem "Ordner" ist extrahiert wird. Das ist immer ein "Intel Image". Dann sollte sich bereits ein Fenster zum Speichern öffnen. Dort wählt ihr einfach einen Ordner aus und speichert es dort ab.


    Weiterer Verlauf für AsRock, Asus, MSI, ...:


    So, das wäre schonmal geschafft. Weiter geht es dann jetzt mit dem entsperren des MSR2 Registers. Dafür brauchen wir das Tool "UEFIPatch". Dieses liegt in einem Ordner mit einer patches.txt Datei, welche es auf jeden Fall benötigt - Diese also bitte nicht löschen! In diesen Ordner schiebt ihr auch euer ROM hinein. Bei mir liegt dieser Ordner "UEFIPatch_0" jetzt unter "~/Documents/Ozmosis-HighSierra/". Daher verschiebe ich mein Rom also nach ~/Documents/Ozmosis-HighSierra/UEFIPatch_0 und navigiere mit dem Terminal dort hin. Also im Terminal einfach eingeben:


    Code
    1. cd Documents/Ozmosis-HighSierra/UEFIPatch_0/


    Tipp: Die Tab-Taste hilft dir mit der Auto-Vervollständigung ;)
    Da UEFIPatch nun eine Terminal-Anwendung ist, müssen wir es auch so aufrufen. Um das Tool jetzt anzusprechen wird der Befehl ./UEFIPatch benutzt. Wenn ihr die Datei umbenannt hättet, wäre es dementsprechend anders, aber immer mit ./ vorher. Dahinter könnt ihr einfach den Namen eures ROMs schreiben (auch wieder die Autovervollständigung nutzen). Es sollte sich dann ergeben ./UEFIPatch ROMName . Bei mir wäre das dann:


    Code
    1. ./UEFIPatch Z87Killer.rom


    ENTER drücken - fertig. Wenn es fertig ist, steht im Terminal, welche Patches er angewendet hat. Das ist für uns wohl unwichtig, es kann jedoch auch sein, dass keine Patches angewendet werden müssen, da das MSR2 Register nicht gesperrt war. Dann steht einfach (wie in meinem Beispiel) im Terminal: No patches can be applied to input file
    Falls doch welche angewendet wurden, wird ein neues ROM in diesem Ordner liegen. Dieses heißt wie das originale, mit .patched hinten dran.


    Nun aber zu Ozmosis!


    Wie @kuckkuck hier schon passend aufgelistet hat, sind folgende Dateien wirklich notwendig zum Boot von Ozmosis:



    Davon werdet ihr auch alle soweit im Anhang finden, allerdings entwickelt sich das Dateisystem APFS noch immer. Da es also sein kann, dass die alte apfs.ffs Datei nicht mehr mit neueren Versionen kompatibel ist, geht es jetzt erstmal darum, die neuste apfs.efi Datei zu bekommen und in das ffs-Format umzuwandeln. Dafür braucht ihr erstmal den macOS High Sierra installer, der Version, für welche ihr euer Bios erstellt. Ich habe gerade nur den 10.13.0 Installer zur Hand, deshalb nehme ich einfach diesen für mein Beispiel.


    Die apfs.efi Datei befindet sich in /usr/standalone/i386. Und wie komme ich da jetzt hin? Ganz einfach. Beim Installieren von macOS wird unter anderem eine Ordnerstruktur einfach auf die Festplatte verschoben. Und in dieser Ordnerstruktur befindet sich eben auch die apfs.efi.
    Zunächst müsst ihr euch die Paketinhalte des Installers anzeigen lassen. Darin befindet sich dann eine BaseSystem.dmg Datei. Diese einfach per Doppelklick mounten und in den Ordner /usr/standalone/i386 navigieren. Darin liegt sie, die apfs.efi! :) Also erstmal da raus kopieren, dass wir damit arbeiten können. Den Installer brauchen wir jetzt nicht mehr!


    Viel mehr brauchen wir jetzt Kext2FFS. Mit dem Skript lassen sich sowohl Kexte, als auch .efi Dateien in das .ffs Format umwandeln. Das Tool findet ihr unten im Anhang.
    Die apfs.efi könnt ihr nun einfach in den Ordner "Efi" legen das Skript via Doppelklick ausführen. In dem Ordner FFS/Efi/Compress findet ihr danach die komprimierte apfs.ffs Datei. Leider ist sie immer noch sehr groß, aber das können wir blöderweise nicht ändern. Deshalb ist es auch nicht immer möglich B97/H97 Boards mit Ozmosis für High Sierra auszurüsten.


    Wenn das geschafft ist, muss der Ganze Ramsch jetzt nur noch ins Bios rein. Dabei hilft uns das OZMTool. Damit wir es von überall im Terminal erreichen können (und nicht immer, wie beim UEFITool mit dem Terminal dort hin navigieren müssen) gibt es einen lokalen Ordner, wo wir die Datei platzieren können. Da der Ordner standardmäßig versteckt ist könnt ihr entweder per CMD + Shift + . die versteckten Ordner anzeigen lassen, oder ihn einfach mit dem Terminal öffnen. Man gewöhnt sich dran und wenn man weiß, wo die Dinge sind es oft einfach schneller. Das Ganze geht dann so:


    Code
    1. open -a Finder /usr/bin/


    /usr/bin/ ist der Ordner in den unsere OZMTool Terminal-Anwendung muss, damit sie von überall erreicht werden kann. Einfach hineinkopieren und den Kopiervorgang authentifizieren (Password eingeben).


    Nun wie oben auch bereits beschrieben mit dem folgenden Befehl die Dateien in das Bios injizieren:


    Code
    1. OZMTool --ozmcreate -i /Pfad/zum/orgBios -o /Pfad/zum/endBios -a 1 --compressDxe -f /Pfad/zu/OzFiles/


    Hierbei muss das ./ nicht mehr benutzt werden, da Ozmosis nicht mehr in dem aktuellen Ordner liegt.


    Warum jetzt diese ganzen Sachen dabei??


    --compressDxe komprimiert die CoreDxe Datei, das Herzstück unseres Bios. Das spart nochmal zusätzlich ein bisschen Platz.
    -a 1 löscht die die Netzwerk Support Dateien des Bios. Diese werden eh selten benutzt (BSP: Wake on LAN) und können somit für extra Platz im Bios sorgen.


    Und warum "-f /Pfad/zu/OzFiles/" nach hinten??


    Wenn man öfter solche Biose baut kommt es vor, dass bei manchen eben weniger rein passt. Wenn man jetzt alle Dateien immer in einem Ordner hat, muss man halt immer etwas löschen, was auf Dauer sehr nervig werden kann. Daher habe ich zum Beispiel immer mehrere Ordner. Einmal mit allen Dateien, einmal ohne Sensoren und Injectoren usw. und einmal wirklich nur mit dem nötigsten (siehe Bild oben). So kann ich dann einfach mit den Pfeiltasten nach oben die letzte Eingabe aufrufen und direkt den Ozmosis Pfad anpassen. So muss ich nicht immer bis vorne den "Cursor" verschieben. Ist praktisch und die Anordnung der Parameter juckt das OZMTool nicht. Wenn bei euch also auch nicht alle Dateien rein passen könnt ihr einfach nur die, die oben auf dem Bild beschrieben sind im Ordner drin lassen (oder Stück für Stück Ozmosis Bestandteile, die nicht notwendig sind löschen) und erneut probieren, ob es nun klappt.


    Wenn es geklappt hat, sollte am Ende im Terminal-Fenster stehen:



    (Bios successfully saved to /Pfad/zum/endBios/)


    Wenn es nicht ging sollt dort folgendes stehen:



    (ERROR: Image exploded)


    Bei Asus Roms sollte am Ende das ROM-Image wieder umbenannt werden, zu dem original Namen! Manchmal streikt Flashback nämlich, wenn der Name anders ist :negativ:


    Was ist danach noch zu tun??


    Noch ganz war es das noch nicht. Funktionieren sollte es, dennoch solltet ihr


    1. bei euch die Sensoren, sowie auch FakeSMC aktuell halten. Dies könnt ihr genauso mit dem Kext2FFS Tool. Dabei die Kexte also einfach nach Kexts legen und nach dem Ausführen die .ffs Dateien aus dem Ordner Ffs/Kext/Compress entnehmen. Die aktuelle FakeSMC könnt ihr euch super mit diesem Tool von @Sascha_77 ziehen :)


    2. die defaults.plist anpassen. Diese ist eine, die wir immer in unsere ROMs einbauen. Sie klappt zum starten prima, aber mit iMessage oder so ist leider nicht. Eine Anleitung findet ihr dazu hier in unserem Wiki: https://www.hackintosh-forum.d…jeder-Rechner-ein-Unikat/


    Ach ja, und darf ich noch Werbung für @kuckkucks Hackintosh-Forum Theme machen? ;) Das könnt ihr einfach statt des OzmosisHorizontalThemes in euren Ozmosis-Files Ordner legen: Neue Themes / Ozmosis GUI / BootMenü / UserInterfacehttps://www.hackintosh-forum.d…jeder-Rechner-ein-Unikat/

  • --compressDxe komprimiert die CoreDxe Datei, das Herzstück unseres Bios. Das spart nochmal zusätzlich ein bisschen Platz.
    -a 1


    Ich fange immer an mit

    • --compressDXE -a 0
    • --compressDXE -a 1
    • --compressDXE -a 2

    danach wechsel ich im -f Pfad/Ordner auf High Sierra Light und wiederhole 0, 1, 2


    Daher habe ich zum Beispiel immer mehrere Ordner.


    Da habe ich nur (jeweils) zwei Ordner, ein Original und eine Kopie von Ozmosis High Sierra und nenne den High Sierra Light. :D


    Vielen Dank für deine Anleitung.

  • Nun ja, -a 0 hat den Effekt wie wenn du gar nix schreibst und -a 2 halt, dass noch ozmisis Dateien entfernt werden. Ich mache es aber lieber mit Ordnern, Gewohntheitssache :D

  • Und wenn's hart auf hart kommt und ihr ne aktuelle Grafikkarte habt mir UEFI Unterstützung, ihr gleichzeitig kein altes Betriebssystem im Legacy-Modus betreibt, dann könnt ihr auch primär die CSMCore löschen ;) das bringt auf einen Schlag nochmal ordentlich Platz :D

  • Und wenn's hart auf hart kommt und ihr ne aktuelle Grafikkarte habt mir UEFI Unterstützung, ihr gleichzeitig kein altes Betriebssystem im Legacy-Modus betreibt, dann könnt ihr auch primär die CSMCore löschen ;) das bringt auf einen Schlag nochmal ordentlich Platz :D


    Würd ich nur mit Backuplösung machen, man weiß nie, welches Genie mal wieder intermodulare Abhängigkeiten gezaubert hat...

  • Wenn ich also ein ASUS H110I-Plus mit KabyLake i5 benutze, kann ich Ozmosis nicht benutzen. Geht dann aber eine andere Methode

  • Hi zusammen,


    bin der Meinung irgendwo gelesen zu haben, dass Ozmosis auch bei Skylake (Z170A) funktioniert..
    Ist dem so??


    Gruß

    Desktop:

    Gigabyte Z170-HD3P, Intel Core i3-6100, Gigabyte Windforce R9 280X, 16GB DDR4, 256GB SSD NVME + 2TB HDD
    -> Catalina 10.15


    Mobil:

    macbookPro Touch Bar 2017

  • @snookerap so halb. Die erste Beta für Skylake Unterstützung bei Ozmosis kam bereits 2015 raus, leider ist es nicht so einfach die ans laufen zu bringen. Es soll Erfolge gegeben haben, aber selber bestätigen konnte ich es bisher nicht. Des Weiteren geht es nicht bei jedem Brett und dann auch nicht mit der oben beschriebenen Methode.

  • danke...


    dann denke ich, ich sollte lieber bei Clover bleiben.
    Wobei Ozmosis schon nen Charme hat...

    Desktop:

    Gigabyte Z170-HD3P, Intel Core i3-6100, Gigabyte Windforce R9 280X, 16GB DDR4, 256GB SSD NVME + 2TB HDD
    -> Catalina 10.15


    Mobil:

    macbookPro Touch Bar 2017

  • @snookerap hast du denn schon Erfahrung mit Ozmosis generell? Mit Skylake ist es nochmal eine ganze Hausnummer drauf. Wir haben bisher schon viel Zeit darein investiert, aber wirkliche Boot-Erfolge haben wir nicht melden können. Ich fürchte, Clover ist da alltagstauglicher.

  • Erfahrung noch keine... Ich denke, ich lass das mal.
    Läuft ja auch super zufriedenstellend mit Clover...

    Desktop:

    Gigabyte Z170-HD3P, Intel Core i3-6100, Gigabyte Windforce R9 280X, 16GB DDR4, 256GB SSD NVME + 2TB HDD
    -> Catalina 10.15


    Mobil:

    macbookPro Touch Bar 2017

  • Werden die Ozmosis-Bios von jedem User selbst erstellt, oder geben es hier User, die das nach und nach für die neueren Mainboards erstellen?


    Im Downloadbereich sind ja eher ältere Boards gelistet und man liest im Netz ziemlich oft die Verwendung von Ozmosis, auch mit neueren Boards. Ich finde dazu nur keine Downloads.


    Manche empfehlen ausschließlich Ozmosis. Ich habe hier im Forum einen Thread gelesen, da geht es um den Vergleich von Ozmosis vs. Clover. Als Antwort gibt es aber selten eine Aussage, was nun besser ist. Bei mir läuft Clover hervorragend und ein Ozmosis-Bios erstellen, traue ich mir noch nicht zu.

  • Es ist so das OZ bis Skylake genutzt werden kann damit ist es kompatibel wobei es eine ziemliche Bastelei ist die nötigen Files in einen Skylake Rom zu bauen ohne diesen dabei zu beschädigen und selbst dann hast Du noch keine Garantie dafür das Du den Rom auf das Board bringst. Eine Aussage darüber was nun besser ist sprich OZ oder Clover wirst Du nicht finden das ist so als würde man darüber diskutieren ob nun BMW oder Mercedes die besseren Autos baut sprich es ist Geschmacksache.

  • Ja, das mit Skylake usw. habe ich im 1. Beitrag gelesen. Vielleicht gibt es irgendwann etwas ähnliches, neues für die neueren Generationen.


    Vieles wird ja durch die Mac-Klone angekurbelt. Ist bei Ozmosis ja nicht anders gewesen, so wie ich gelesen habe. Da gibt es ja immer mal wieder den ein oder anderen, der es versucht.

  • Moin und vielen Dank für diese tolle Anleitung.


    Bei mir läuft jetzt auch endlich High Sierra auf dem GA-Z77-DS3H REV 1.1


    Habe es erst mit einem OZ Bios hier aus dem Forum getestet, was warum auch immer nicht funktioniert hat.


    Jetzt habe ich mir die für das Board aktuellste Biosversion geladen und nach der Beschreibung von oben ein OZ-Bios erstellt.
    Habe jetzt versucht, mit dem UEFITOOL die apfs zu aktualesieren und Treiber für LAN und Sound einzubinden.
    Leider funktioniert weder dasLAn noch der Sound, hab ich da was falsch gemacht, ich habe bis jetzt mit der Standart Default.plist gearbeitet.
    Ich habe es so verstanden, dass gerade bei diesem Board so viel Platz im BIOS ist, dass ich dort alle Treiber unterbringen kann und keine EFI Partition auf der Platte einrichten muss.


    Hat Jemand die passenden Treiber für mich?

  • Hallo avs,


    schau mal in diesen Beitrag von Griven rein: macOS Mojave Ozmosis BETA (nur für Tester)


    Dort hat er alles für das Board hochgeladen.


    PS: Welche Bios version hast du aktuell?
    Ich habe auch das gleiche Board mit Ozmosis und HighSierra 10.13.5 am laufen.

    Aktuelle Baustelle: Gigabyte H270 Gaming 3, i7-7700K, RX580 8GB, 16GB DDR4, ALC1220, WIfi AR9287, OSX 10.15, Clover r5103

    Gigabyte Z77-DS3H, Bios: F11a Ozmosis [Rev 1.1], i7-2600K, GT710, 8GB DDR3, 240GB SSD, OSX 10.12.6 & 10.13.5, Wlan: TP-WDN4800
    Asus P8Z77-M, i7-3770, 10GB DDR3-1333, 240GB SSD, OSX 10.12.6, iMac 14.2, Ozmosis
    Dell 7570, i7-8550U, UHD620, 16GB DDR4, ALC295, DW1830, 240GB SSD, 10.12.6 & Mojave PB2, Clover r4586

    Lenovo Ideapad 500s-14isk, i5-6200U, 16GB DDR3,ALC236, DW1560 (BCM94352z), OSX 10.15 Beta, Clover r4972

    Lenovo L540, i5-4300M, 8GB DDR3, ALC3202, DW1560 (BCM94352z), OSX 10.15. Beta, Clover r4972


    XPEnology DS918+ Intel i5 6400 4x2,7GHz, 8GB DDR5, 4x3TB mit Jun 1.02b + DSM 6.1.7

  • Hallo dergiftzwerg,


    Ich nutze die Biosversion 11a


    Das sind die Hinweise vom UEFI-TOOL


    parseSection: PE32 image with invalid DOS signature
    parseSection: PE32 image with invalid DOS signature
    parseSection: PE32 image with invalid DOS signature
    parseSection: PE32 image with invalid DOS signature
    parseVolume: file with duplicate GUID DADE1007-1B31-4FE4-8557-26FCEFC78275
    parseVolume: file with duplicate GUID DADE1008-1B31-4FE4-8557-26FCEFC78275


    wie muss ich da weiter vorgehen?


    Mit freundlichen Grüßen
    Sven

  • Da habe ich keine Ahnung, das kann vielleicht @griven besser beurteilen bzw helfen...

    Aktuelle Baustelle: Gigabyte H270 Gaming 3, i7-7700K, RX580 8GB, 16GB DDR4, ALC1220, WIfi AR9287, OSX 10.15, Clover r5103

    Gigabyte Z77-DS3H, Bios: F11a Ozmosis [Rev 1.1], i7-2600K, GT710, 8GB DDR3, 240GB SSD, OSX 10.12.6 & 10.13.5, Wlan: TP-WDN4800
    Asus P8Z77-M, i7-3770, 10GB DDR3-1333, 240GB SSD, OSX 10.12.6, iMac 14.2, Ozmosis
    Dell 7570, i7-8550U, UHD620, 16GB DDR4, ALC295, DW1830, 240GB SSD, 10.12.6 & Mojave PB2, Clover r4586

    Lenovo Ideapad 500s-14isk, i5-6200U, 16GB DDR3,ALC236, DW1560 (BCM94352z), OSX 10.15 Beta, Clover r4972

    Lenovo L540, i5-4300M, 8GB DDR3, ALC3202, DW1560 (BCM94352z), OSX 10.15. Beta, Clover r4972


    XPEnology DS918+ Intel i5 6400 4x2,7GHz, 8GB DDR5, 4x3TB mit Jun 1.02b + DSM 6.1.7


  • Das passiert eigentlich wenn man die ffs Dateien nicht in einem Rutsch erzeugen lässt.


    Hast du ein paar ffs schon gehabt und später dann ein paar neu erstellt und versuchst die nun alle in ein BIOS zu dreschen?
    Falls ja, dann könnte der Konflikt daher kommen.

    Zum Verkauf geplant -> Board: GA-Z97X-UD5H-BK / CPU: i7-4790K / Grafikkarte: R280X / RAM: 16GB DDR3
    CNC Maschine (Apple Power Mac G5): Board: GA-Z77N-WiFi / CPU: i5-3570K / R280X / RAM: 16GB DDR3


    Rechtschreibung, Grammatik, Satzzeichen, Textformatierung und manchmal auch ein Komma führen zu einer besseren Verständlichkeit ;) :D