Solche Billighack-Mumpitz-Software wie dieser TRIM-Verblöder sind gänzlich überflüssig.
Wenn man schon unbedingt sowas haben muss, dann macht man das viel besser und zuverlässiger von Hand.
Noch praktischer als "Zackzack-Buntiklicki" ist es nämlich, später ganz einfach zu wissen und zu verstehen, was man da eigentlich getan hat.
1) Kext-Signaturprüfung abschalten - ohne das geht gar nichts, weil manipulierte Kerneltreiber sonst nicht mehr benutzt werden. Ohne genau diesen Kerneltreiber gibts aber *keinerlei* Zugriff auf Festplatte oder andere SATA Geräte mehr. Muss man wohl kaum erklären warum das eine ziemlichst blöde Situation wäre.
Dass das automatisch dazu führt, dass diese beim Yogibär-OS neu hinzugekommene "Sicherheitsfunktion" komplett unterbleibt, das soll jeder mal schön selber mit seinem eigenen Gewissen ausmachen.
(Gegen die tatsächlich relevanten Schwachstellen und Angriffspunkte des Systems hilft das ohnehin nicht die Bohne. Aber es herrscht ja angeblich "Meinungsfreiheit"... ...noch.)
Dazu ist ein bestimmter zusätzlicher Bootparameter erforderlich, also so etwas das man zB bei einer Linux LiveCD am Bootprompt ganz zu Beginn von Hand eintippen müsste, oder später in der Bootloader-Konfiguration (grub.cfg) ergänzen.
Unter OS X (wo es kein solches Bootprompt mehr gibt) kann man sowas auf mehrere unterschiedliche Arten erreichen.
Entweder man lässt das unter dem Schlüssel "boot-args" ins NVRAM schreiben, also dort wo zB auch die Einstellung fürs Startvolume oder die Systemlautstärke usw gespeichert wird. Das hat den Nachteil, dass es permanent und überall wirkt, dh für jedes OS das auf dieser Maschine bootet, egal von welchem Startvolume aus, also auch für jedes ungepatchte System, jedes Nicht-Yosemite usw. - nicht hilfreich.
Die brauchbare Alternative ist die Konfigurationsdatei 'com.apple.Boot.plist' - die wirkt nur für das eine jeweilige System, in dem sie selbst liegt. Schokolade.
2) Neustarten - denn beim durchführen dieses Schrittes
muss dieser gerade geänderte Parameter bereits wirksam sein.
Ist er das nicht, dann wird der Hintergrunddienst, der ständig über neu hinzugefügte oder entfernte Kerneltreiber wacht, diese folgende Änderung leider noch nicht akzeptieren. Daraufhin wird er einen fehlerhaften Kernelcache zusammenbauen, der beim nächsten Startversuch gar nicht funktionieren kann weil der besagte Treiber einfach fehlt - und aus die Maus, das System ist nicht mehr bootfähig.
3) Den Kerneltreiber sichern (für alle Fälle) und dann patchen. Auch eine recht simple Aktion.
Dabei wird lediglich das Textfragment aus der betreffenden Datei entfernt, anhand der das Programm zwischen einer Apple-SSD und einer von anderen Herstellern unterscheidet. Als Resultat werden alle SSD genauso behandelt wie eine werksseitig von Apple ausgelieferte.
Das
bedeutet aber nicht dass der gewünschte Effekt sich tatsächlich einstellen muss - es bedeutet nur dass es zumindest versucht wird.
Dieses Textfragment ist in leicht abgewandelter Form an zwei Stellen enthalten. Eines davon betrifft nur die fest verlöteten SSD, wie man sie zB im MBAir vorfindet. Da diese sowieso von Apple ist, kann man das getrost ignorieren.
(Warum all diese ach so schlauen Blogger und Frickler im Netz auch das patchen, verschliesst sich irgendwie meinem Verständnis. Die verstehen wohl besser was sie da von anderen abgeschrieben haben als ich - keine Ahnung.)
Das zweite Vorkommen betrifft die ganz gewöhnlich per SATA verbundenen klassischen SATA Geräte, nur das ist zu ändern.
4) Den oben erwähnten Systemdienst darauf aufmerksam machen, dass sich in den Treibern etwas verändert hat und dass es damit jetzt Zeit wäre den Kernelcache zu erneuern. (Der Kernelcache ist eine aufs notwendige Minimum verkürzte und hocheffizient optimierte Sammlung aus allen zum individuellen Gerät passend ausgesuchten Kerneltreibern, sowie der eigentlichen Kerneldatei selbst. Dieser kompakte Cache verkürzt die Bootzeit um etwa eine ganze Minute und gilt somit als unentbehrlich.)
Dieser Vorgang ist das simpelste an der ganzen Aktion, dazu muss nur das Änderungsdatum des betreffenden Sammelordners aktualisiert werden, der Hintergrunddienst reagiert darauf sofort und erledigt den gesamten Rest von alleine.
5) Neustart - alles sollte problemlos funzen. Bis zum nächsten OS-Update, bei dem die gepatchte Systemdatei mit allerhöchster Wahrscheinlichkeit durch eine neuere Version ersetzt wird,
dann beginnt das gleiche Spiel wieder von vorne.
Da man jetzt selbst weiss was zu tun ist, braucht man kein Update von einer dubiosen Software-Klitsche mehr dafür - bei dem man ohnehin nie sicher sein kann, was es sonst noch so alles anstellt.
6) Den veränderten Kernelcache auch auf die Recovery-Partition zu übertragen (wie das gelegentlich vorgeschlagen wird) ist bei dieser Änderung völlig unnötig - es handelt sich ja schliesslich nicht um einen Zusatz, der immer und auf jeden Fall unentbehrlich wäre.
In denjenigen Fällen, in denen diese Übertragung dennoch notwendig ist, wo nämlich diese Kopie des Kernelcache auf der RecoveryHD die einzig wahre und später
tatsächlich verwendete Kopie ist (zB --> FileVault), hat sich der Dienst ohnehin schon selbst darum gekümmert. Das gleiche noch mal manuell zu tun wäre nur schamanischer Humbug.
-------
Schritt 1) com.apple.Boot.plist
Die Konfigurationsdatei bearbeitet man besser nur als Kopie. Dazu erstellt man sich erst mal ein Backup, und bearbeitet dann ein geändertes Exemplar zB auf dem Desktop. Dieses Duplikat kann man ganz einfach mit TextEdit erstellen und sichern, und erst danach wird der Inhalt wieder an den Ursprungsort zurückgeschrieben.
Code:
cd /Library/Preferences/SystemConfiguration/
sudo cp -p com.apple.Boot.plist com.apple.Boot.trimsave.plist
open -e com.apple.Boot.plist
# --> TextEdit öffnet die Datei
Entscheidend ist hier die folgende Stelle:
...
<key>Kernel Flags</key>
<string></string>
...
Der nötige Parameter wird hier eingefügt:
...
<key>Kernel Flags</key>
<string>kext-dev-mode=1</string>
...
Falls dort schon irgendjemand etwas drinstehen haben sollte (darüber sollte man eigentlich nur selbst bestens Bescheid wissen), dann einfach -abgetrennt mit Leerzeichen- diesen Text an das vorhandene anfügen.
Anschliessend die Datei unter gleichem Namen, aber auf dem eigenen Schreibtisch sichern.
(Textkodierung: UTF-8 ...und bitte KEIN Suffix 'txt' anfügen lassen - oder das folgende muss entsprechend abgeändert werden.)
Folgende Kommandos injizieren dann diese Änderung zurück ins Original (Admin-Kennwort natürlich erforderlich):
Code:
cd /Library/Preferences/SystemConfiguration/
sudo bash -c "cat $HOME/Desktop/com.apple.Boot.plist > com.apple.Boot.plist"
(Wer den Erfolg nochmal kontrollieren möchte, braucht einfach nur das erste Kommando zum öffnen erneut aufzurufen, mit mehrfach PFEIL-HOCH. Wenns beim ersten mal die richtige Datei erwischt hat, dann auch dieses mal.)
Schritt 2) Neustart
(Eine Anleitung hierfür gibts nur gegen signifikante Mengen an Bargeld oder Wertsachen.

)
Schritt 3) Treiberdatei patchen
Tausend Wege führen nach Canossa - also bitte kein Gemecker von wegen "...ich hab da aber ganz was anderes gelesen, bei..."
Folgenden Befehl zu verstehen wird nicht unbedingt verlangt, aber: Gesucht wird der String 'APPLE SSD', eingefasst in NUL-Bytes. Ersetzt durch nur NUL-Bytes von gleicher Länge. Das obligatorische Backup wird im gleichen Rutsch gleich mit erledigt.
Code:
cd /System/Library/Extensions/
cd IOAHCIFamily.kext/Contents/PlugIns/
cd IOAHCIBlockStorage.kext/Contents/MacOS/
exp='s,\000APPLE SSD\000,\000\000\000\000\000\000\000\000\000\000\000,sg'
sudo perl -pi.trimsave -e "$exp" IOAHCIBlockStorage
Schritt 4) Cache neu aufbauen lassen
Ultrasimpel:
Code:
sudo touch /System/Library/Extensions
Schritt 5) Noch'n Neustart
Wer auch hierfür noch eine Anleitung will, der überweist mir bitte gleich ein ganzes Monatsgehalt. Darunter mache ich sowas nicht mehr.
Anmerkung 1):
Der Kernelparameter funktioniert möglicherweise nur vorübergehend / wird geändert / whatever.
Daher sicherheitshalber
VOR jedem künftigen Systemupdate erst diese Änderungen wieder rückgängig machen!
Und zwar durch Wiederherstellung der eigens dafür erstellten Backup-Dateien:
Code:
cd /System/Library/Extensions/
cd IOAHCIFamily.kext/Contents/PlugIns/
cd IOAHCIBlockStorage.kext/Contents/MacOS/
sudo rm IOAHCIBlockStorage
sudo mv IOAHCIBlockStorage.trimsave IOAHCIBlockStorage
sudo touch /System/Library/Extensions
cd /Library/Preferences/SystemConfiguration/
sudo rm com.apple.Boot.plist
sudo mv com.apple.Boot.trimsave.plist com.apple.Boot.plist
# ...und reboot
Anmerkung 2)
Ich bin nicht für eure Fehler und/oder eigene Variationen dieser Methode verantwortlich.
Ich bezahle euch keinen neuen Toaster falls der explodiert, erstatte nicht die Rechnung vom Tierarzt für den Haarausfall der Hauskatze, und wer nicht mal richtig abschreiben kann braucht auch keine tröstenden Worte zu erwarten.
Und wem die SSD abraucht - *ich* war es bestimmt nicht der diese Idee hatte. Klaro?
Anmerkung 3)
Die Anleitung gilt auch in ein paar Monaten noch.
Ich erlaube hiermit jedem, sich den Text zu verlinken/notieren um mich zu gegebener Zeit nicht schon wieder das gleiche fragen zu müssen. Danke.