Assez de
Χάος - place au sérieux de la
Tέχνη !
Dans les temps "zéroïques" («
Mavericks»), «
Trim Enabler»
patchait vilainement quelques octets de la
kext (extension du noyau) native Apple qui gérait automatiquement le
TRIM sur les SSD montés d'usine par Apple, pour étendre cette fonction aux SSD tiers installés par l'utilisateur : la
/System/Library/Extension/IOAHCIFamily.kext.
Las ! L'OS suivant «
Yosemite» a eu la mauvaise idée d'introduire le
kext_signing : vérification d'intégrité des extensions Apple au démarrage (en préalable à leur injection dans le
kernel) et hop ! la
IOAHCIFamily.kext patchée plantait méchamment le boot : l'effrayant logo de l'interdiction de stationner
⊘.
Pour contrer ce protocole de vérification et garder la
kext patchée opérationnelle, le développeur de «
Trim Enabler» a eu l'idée de désactiver le
kext_signing en passant en
NVRAM un argument de boot de type
developer qui autorisait les développeurs à démarrer en faisant charger des
kexts expérimentales par le
kernel. Ce qui nécessitait aussi, par ailleurs, une re-synchronisation du répertoire des extensions (par une commande
touch) + la recréation du
kernelcache, qui est le cache de démarrage d'
OS X comportant un clone du code du
kernel et l'adressage des extensions à charger en mode "
all loaded" (équivalant à dire : injecter le bloc des extensions sans vérification terme à terme).
Ces invraisemblables bidouilles (les seules permettant alors d'activer le
TRIM sur un SSD tiers avec l'OS «
Yosemite») avaient une fragilité qui donnait des sueurs "vertes" aux utilisateurs de «
Trim Enabler» : le moindre
reset_NVRAM faisait sauter l'argument
developer ; le moindre démarrage sans extensions supprimait le
kernelcache en restaurant le mode d'injection extension à extension qui réactivait la vérification d'intégrité - bref : les utilisateurs de «
Trim Enabler» avaient perpétuellement l'«
Épée de Damoclès » suspendue à un crin de cheval au-dessus de leur tête.
Est venue la délivrance avec la MÀJ
10.10.4 de «
Yosemite» : Apple s'est décidée à faire le geste d'introduire en natif dans l'OS une
kext dédiée à la prise en charge du
TRIM sur les SSD tiers. Cette
kext n'est pas d'entrée localisée dans le répertoire des
Extensions (inutile pour un utilisateur de SSD Apple ou de HDD), mais son original est tenu en réserve at :
/System/Library/Filesystems/AppleDataSetManagement.kext. La commande publiée corrélativement par Apple appelle le petit utilitaire
trimforce créé ad hoc at:
/usr/bin/trimforce avec le verbe
enable (activer - inversement
disable : désactiver), dont l'essentiel de l'action est de... copier l'original
/System/Library/Filesystems/AppleDataSetManagement.kext at: /
System/Extensions, de resynchroniser le dossier par un
touch, de reconstruire le
kernelcache (
prelinkedkernel sous «
El Capitan») et de forcer le re-démarrage, suite à quoi, l'extension étant présente dans le répertoire des
Extensions, elle est automatiquement injectée dans le
kernel par le
boot_loader boot.efi au boot.
Voyant l'herbe de son pré carré tondue ras par cette initiative Apple,
Oskar Groth s'est décidé à passer aux choses sérieuses : il a créé une
kext maison chargée de gérer le
TRIM sur les SSD tiers, que la nouvelle version de «
Trim Enabler» devait copier dans le dossier des
Extensions. Sauf qu'entre temps «
El Capitan» est arrivé, avec le
SIP (
System Integrity Protection), qui, tout en maintenant le protocole de vérification d'intégrité des extensions Apple, verrouille contre toute intrusion l'ensemble du répertoire de la /
System/Library, dont le dossier des
Extensions.
J'ignore comment
Oskar Groth a négocié ce nouvel obstacle : si, fidèle à son art de la bidouille, il a envisagé de désactiver le
SIP sur l'OS avant de copier sa
kext dans le dossier des
Extensions, puis de réactiver le
SIP ; ou s'il s'est résigné à avoir sa nouvelle extension sans le répertoire de la
/Library/Extensions qui accueille les extensions de tierce-partie (ou s'il a obtenu un passe-droit spécial de la part d'Apple).
Je l'ignore, car je suis comme beaucoup d'anciens utilisateurs de «
Trim Enabler», vacciné de ces fuites en avant dans des bricolages « tremblants » (« tremblants » au sens actif de "qui font trembler") - bref, j'ai assez donné (psychologiquement parlant, et textuellement sur les forums) sous «
Yosemite». Je ne veux plus savoir. Je réclame mon comptant d'«
ataraxie ». Apple fournit une
kext certifiée : je l'adopte avec la certitude de ne pas avoir de problèmes de vérification d'intégrité.
Conscient de cette fuite des utilisateurs,
Oskar Groth cherche manifestement à les fixer à l'usage de «
Trim Enabler» (toujours gratuit pour ce qui est de la gestion du
TRIM), en implémentant son logiciel de fonctionnalités de gestion supplémentaires correspondant à une version
PRO payante. Quelles fonctions ? Celles figurées sur cette capture :
10€ pour un lecteur de débit du SSD, un moniteur SMART et quelques commandes presse-boutons de libération d'espace-cache ou autre :
pfuitt ! c'est curieux : j'ai les poches cousues ces temps-ci...