Neues macOS auf altem, nicht mehr unterstützten Macs: OpenCore Legacy Patcher

Vor einigen Jahren hatte ich mein altes MacBook Pro 16″ aus Ende 2013 meinem Sohn vererbt, da ich mir ein neues MacBookPro 16″ 2019 mit einem i9 gekauft hatte und dieses nicht mehr brauchte. Problem war, dass darauf kein aktuelles macOS mehr installierbar war.

Da ich mir jetzt ein neues MacBook Pro 14″ M5 gekauft habe und mein altes meinem Sohn vererbt hatte, bekam ich das Gerät aus 2013 zurück. Die Frage war jetzt: Was mache ich damit? Ich dachte mir, mit diesem alten macOS kann und will man nichts mehr anfangen und ich könnte mal den OpenCore Legacy Patcher ausprobieren, mit dem sich ein neueres macOS auf einem alten, nicht mehr von Apple unterstützten Mac installieren lässt. Natürlich ohne Support und weitere Online-Patches, aber die bekomme ich beim alten macOS ja auch nicht mehr.

Kurz um: Ich habe den Schritt gewagt und macOS Seqouia 15.7.2 installiert. Ich bin äußerst verwundert, wie gut das Gerät mit dem macOS läuft. Es reagiert schnell und ist voll benutzbar (bisher). Auch die ganze Software, die ich bisher benutzte, funktioniert einwandfrei. Ich bin sehr überrascht. Für bsplw. meine Tochter ist das Gerät damit noch voll nutzbar.

xrdp läuft zur Zeit recht stabil auf FreeBSD

Nur eine kleine Empfehlung. Immer wieder habe ich mir xrdp auf FreeBSD angesehen. Bisher empfand ich es als unbrauchbar, da es alles andere als stabil funktionierte und teils auch nicht startete.

Seit einer Weile funktioniert xrdp hervorragend.

FreeBSD-Desktop Xfce auf xrdp unter FreeBSD 14.2

xrdp stellt eine RDP-Session her. Damit kann man einen entfernten Computer via a nutzen, ähnlich zu RDP unter Windows. Auf dem oberen Bild kann man das sehen. Hier läuft auf einem Host ein FreeBSD 14.2, worunter ein Jail mit FreeBSD 14.2 läuft, auf dem xrdp installiert ist. Darin wird dann ein Xfce ausgeführt. Seit gut drei oder vier Monaten läuft es problemfrei.

Auf macOS nutze ich Jump Desktop, um auf den xrdp-Desktop zuzugreifen. Ich hatte auch Windows App ausprobiert, hier ist aber das Problem, dass ich es nie geschafft habe, ein deutsches Tastaturlayout zu übertragen. Mit Jump Desktop, welches leider kostenpflichtig ist, ist dies problemlos möglich.

Jump Desktop Hauptfenster

Ich kann das bisher sehr empfehlen, wenn man kein FreeBSD auf seinem Computer installieren will, sondern eine zentrale Installation nutzen möchte, auf der sich auch verschiedene Nutzer gleichzeit einloggen möchten.

Gebrauchte Macs an Apple-Account gebunden

Vielleicht hilft das dem ein oder anderen. Ich habe 2023 gebraucht ein MacBook Pro 16″ (BJ 2019) als Zweitgerät auf Kleinanzeigen gekauft. Zwei Jahre lang hatte ich das in Benutzung, jetzt übergab ich es, aufgrund eines neuen Hardwarekaufs, an meinen Sohn. Also Programme, die er nicht braucht, gelöscht, Account angelegt und meinen Account gelöscht. So weit, so gut. Er hatte das Gerät jetzt gut eine Woche in Benutzung und forderte mich gestern, am 13.11.2025 auf, ihm nochmal das WLAN-Passwort zu geben, denn sein Mac sei irgendwie abgestürzt.

Ich sah mir das Gerät direkt einmal an und er hatte recht: Es versuchte, in den Internet-Recovery-Modus zu booten. Mir fiel dann ein, dass beim Erstellen vom Account meines Sohns irgendeine Apple-ID angezeigt wurde, die vom Vorbesitzer war. Anscheinend ist dieser informiert worden, dass da an seinem alten Mac gearbeitet wird. Er hat dann – so wie es aussieht – den Mac aus der Ferne vollständig gelöscht.

Zusätzlich bin ich nicht mehr in der Lage, den Mac überhaupt noch zu nutzen, da dieser via Apple-ID des Vorbesitzers entsperrt werden muss. Ich habe ihm einen Brief geschrieben (ich habe nur noch die Adresse und hoffe, er wohnt da noch) und darum gebeten, den Mac aus seinem Account zu entfernen. Wenn er das nicht macht, habe ich nur rechtliche Möglichkeiten, das zu verlangen, die aber wiederrum mit Aufwand und ggf. Kosten einhergehen. Ansonsten ist das Gerät nicht mehr als ein teurer Briefbeschwerer.

Mein Sohn ist natürlich enttäuscht und traurig. Ich hoffe, dass der Vorbesitzer noch einlenkt und alles wieder gut wird.

Also: Denkt beim Verkauf von Apple-Geräten daran, sie aus euren Accounts freizugeben und wenn ihr solche Geräte kauft, checkt das vorher. Ich denke nicht, dass hier böse Absicht hinter gesteckt hat, weiß es aber nicht. Natürlich sind alle Daten, Programme, usw. unwiderruflich gelöscht. Wohl dem, der ein Backup hat.

Testaufgaben nach einem Bewerbungsgespräch

Ich habe jetzt länger überlegt, ob ich darüber überhaupt bloggen möchte. Ich mache es doch einmal, denn es gab für mich etwas sehr interessantes und es ist schon eine ganze Weile her.

Ich war auf Jobsuche, schrieb hier und da eine Bewerbung. Dann hatte ich ein Vorstellungsgespräch und der Herr am anderen Ende der Telefonleitung meinte, es könnte passen. Nachdem er über meine Konditionen nachdachte und das mit der Geschäftsleitung durchsprach, bekam ich einen Anruf, dass diese passen würden, die Firma aber eine Testaufgabe für mich hätte. Darum soll es hier gehen, nämlich um diese eine Testaufgabe und um Testaufgaben im Allgemeinen.

Nachdem wir den Techstack abgeklärt hatten und es darum um PHP und Symfony ging und ich auch sagte, dass ich von beidem keine Ahnung habe (PHP habe ich das letzte Mal vor 20 Jahren gemacht), wurde mir versichert, dass vor dem persönlichen Kennenlernen nur noch eine einfache Testaufgabe zu meistern wäre, nämlich die Umsetzung eines Kontonummer-Bankleitzahlen-IBAN-Konverters. Ich sagte: kein Problem, das musste ich auch schon in einem echten Projekt vor einigen Jahren machen, er soll mir die Aufgabe zukommen lassen. Kurze Zeit später war dann das Dokument mit der Testaufgabe da. Fünf vollgeschriebene DinA4-Seiten. Dabei ging es nicht um die Entwicklung eines Konverters, sondern um ein gesamtes Projekt mit etlichen Zwischenstationen.

Ich sollte mich erst einmal in PHP 8.1 einarbeiten. Danach in Symfony 6.1. Um beides richtig zu machen, würde ich schon keine Stunden mehr veranschlagen, sondern eher einige Tage bishin zu wenigen Wochen. Eine Programmiersprache lerne ich zwar schnell, vor allem PHP, bei der ich nicht einmal von ganz vorne einsteigen müsste, dann aber noch ein komplexes Framework, das ist Aufwand.

Zusätzlich dazu sollte ein Login-Verfahren entwickelt werden und eine dazugehörige Website mit Datenbankanbindung (MySQL oder MariaDB). In der Datenbank sollten die bereits zuvor konvertierten Daten tabellarisch dargestellt werden. Jeder Aufruf sollte einen Zähler inkrementieren.

Weiterhin sollten die Daten dann als JSON exportiert werden können.

Dazu gehörte dann die Installation und Konfiguration von Debian 11, die Installation der benötigten Software (spezielle PHP-Version, nicht in APT drin, MySQL oder MariaDB, Symfony und Apache oder NGINX).

Das war der technische Part. Dazu kam dann ein Benutzerhandbuch für den Konverter über Funktionalität und Bedienung. Dann noch eine Dokumentation für das gesamte Deployment durch einen Laien (Installation und Konfiguration Betriebssystem, Installation und Konfiguration Webserver, Installation und Konfiguration Datenbankserver, Installation und Konfiguration PHP, Installation und Konfiguration von Symfony – durch einen Laien!).

Weiterhin sollte das Projekt vorher komplett durchgeplant werden, vermute mit Pflichenheft, war nicht genauer beschrieben und es sollten auch Tests (Unit-Tests, händische Tests) durchgeführt und dokumentiert werden.

Versteht mich bitte nicht falsch: Das alles kann ich, aber rein realistisch, wenn man es vernünftig macht, ist das ein Projekt, das man nicht in einigen Stunden hinbringt, selbst, wenn man PHP und Symfony auf hohem Level beherrscht. Schon alleine am Pflichtenheft schreibt man eine Weile, das Benutzerhandbuch rotzt man auch nicht einfach runter…

Ich lehnte den Job dann mit Begründung ab. Eine Antwort darauf erhielt ich nie.

FreeBSD-Upgrade: vom Desaster doch noch zum Erfolg? Es war schrecklich

Ich gebe es zu: Ich habe meinen Server, der online steht und, unter anderem, dieses Blog betreibt, ziemlich und auch lange vernachlässigt. Installiert war ein FreeBSD 13.3 amd64. Die aktuelle Version aus der 13er-Reihe war 13.4. So weit zurück war ich nicht, was aber das größere Problem war, waren die installierten Packages, allen voran PostgreSQL, MySQL und PHP.

Rauchender Server

Ich dachte mir, ich ziehe mein FreeBSD 13.3 direkt auf 14.2, damit zumindest das Grundsystem mal aktuell ist und Dienste wie SSH und ähnliche mit Sicherheitsupdates versorgt werden. Die Packages wollte ich dann irgendwann später nachziehen.

Also begann ich, das Upgrade durchzuführen. Das lief auch gut, bis zum ersten Reboot. Der Server kam nicht mehr hoch. Zumindest dachte ich das. Von Hetzner ließ ich mir eine KVM anschließen und war doch erstaunt: Der Server ist hochgefahren und der erste Schritt des Upgrades war erfolgreich. Jedoch hatte der Server kein Netzwerk mehr. Warum, weiß ich nicht, ich konnte es aber schnell lösen, indem ich von meiner statischen Netzwerkonfiguration auf DHCP umgestellt habe. Also weiter mit dem Upgrade.

Der zweite Reboot ging dann leider in die Hose. Ich habe mir wieder eine KVM von Hetzner anschließen lassen (die erste hatte ich nur für eine Stunde geliehen) und sah, dass ich beim Mergen der Konfigurationen irgendwo zwei Zeilen „wegoptmiert“ hatte und so ein Script, welches zum Booten benötigt wird, fehlschlug. Reboot. Die Maschine kam hoch, schmiss aber ein paar Fehlermeldungen. Problematisch war, dass ich mich mit keinem meiner Accounts anmelden konnte. Irgendwelche anderen Scripte waren auch kaputt.

Anscheinend habe ich es entweder geschafft, ein paar Dinge kaputt zu machen (was mir zuvor noch nie passiert war), oder es gab irgendwelche anderen Probleme. Durch den Boot in den Single-User-Mode konnte ich mich umsehen und habe versucht, die Probleme zu fixen. Vergeblich. Dann hatte ich aber auch keine Lust mehr und die KVM war ja auch nur für drei Stunden geliehen, es musste eine Lösung her. Fakt war, dass im etc-Verzeichnis einiges kaputt war.

Also kopierte ich das etc-Verzeichnis von einer funktionsfähigen Installation von FreeBSD 14.2, schob meine Konfigurationen hinein und kopierte alles per „scp“ auf meinen Server. Zumindest das Grundsystem funktionierte dann wieder und ich brauchte die KVM nicht mehr.

Doch kaum ein Dienst funktionierte. Wir (meine Familie und ich) sind allerdings auf ein paar Dienste angewiesen: Mail, Card– und CalDav, mein Blog, NextCloud, meine Projekte, Git, usw.

Es blieb mir nichts übrig, als alles hochzuziehen. Wieder einmal dachte ich mir, wie sinnvoll es wäre, verschiedene Dienste in verschiedenen Jails zu organisieren und regelmäßiger Updates und Upgrades durchzuführen. Es war gut ein Tag Arbeit, alles wieder ans Rennen zu bekommen, zumal auch Packages wegfielen (wxWidgets 2.8, welches ich für compow.de benötige).

FreeBSD-Grundkurs 033: MySQL für aufbauende Videos installieren

https://youtu.be/o7JoKRrQDkQIch möchte bald ein paar Videos machen, für die wir ein DMBS benötigen. In diesem Video zeige ich, wie man eine einfache (unsichere und für Produktivumgebungen nicht zu verwendende!) MySQL-Datenbank unter FreeBSD (14.2) installieren kann.

FreeBSD-Grundkurs: MySQL für spätere Videos installieren

Die Vorgehensweise

  1. # pkg install mysql90-server
  2. /etc/rc.conf bearbeiten
    • mysql_enable=“YES“
    • mysql_dbdir=“/server/database/mysql“
  3. Verzeichnis erstellen
    • # mkdir -p /server/database/mysql
    • # chown -R mysql:mysql /server/database/mysql
  4. MySQL starten
    • service mysql-server start
  5. Datenbank anlegen
    • mysqladmin create youtube
  6. Benutzer und Berechtigungen erstellen
    • # mysql mysql
    • > CREATE USER ‚youtube’@’%‘ IDENTIFIED BY ‚youtube‘;
    • > GRANT ALL PRIVILEGES ON * . * TO ‚youtube’@’%‘;
    • > FLUSH PRIVILEGES;

Hier geht es zum Video.

FreeBSD-Grundkurs 032: PostgreSQL für aufbauende Videos installieren

Ich möchte bald ein paar Videos machen, für die wir ein DMBS benötigen. In diesem Video zeige ich, wie man eine einfache (unsichere und für Produktivumgebungen nicht zu verwendende!) PostgreSQL-Datenbank (17) unter FreeBSD (14.2) installieren kann.

FreeBSD-Grundkurs: PostgreSQL für spätere Videos installieren

Die Vorgehensweise

  1. pkg install postgresql17-server
  2. /etc/rc.conf bearbeiten
    • postgresql_enable=“YES“
    • postgresql_data=“/server/database/postgres“
    • postgresql_flags=“-w -s -m fast“
    • postgresql_initdb_flags=“–encoding=utf-8 –lc-collate=C“
  3. Datenbankverzeichnis erstellen
    • # mkdir -p /server/database/postgres
    • # chown -R postgres:postgres /server/database/postgres
  4. PostgreSQL initialisieren
    • # service postgresql initdb
  5. Konfigurationen bearbeiten
    • /server/database/postgres/pg_hba.conf
    • /server/database/postgres/postgresql.conf
  6. Datenbankbenutzer erstellen
    • # createuser -s -P youtube
  7. Datenbank erstellen
    • # createdb -O youtube -E unicode

Hier geht es zum Video.

Bald neue Videos

Viele haben mir geschrieben, dass ich doch weitere Videos bzw. Tutorials machen soll. Das freut mich sehr.

Zur Zeit nimmt mich die neue Arbeitstelle und meine Familie gut ein, ich habe aber schon die nächsten Videos geplant (Themen: wxWidgets, Qt und auch FreeBSD) und freue mich, sie bald machen und veröffentlichen zu können. Es dauert allerdings noch ein paar Tage. Aber: Es wird mit den Tutorials weiter gehen.

Wenn ihr Vorschläge für bestimmte Themen habt, gerne her damit.

Mini-Kurztipp: LLVM für Windows

Ein wenig peinlich, aber vielleicht geht es dem ein oder anderem Benutzer unixoider Betriebssysteme genauso: auf FreeBSD nutze ich clang(++), auf macOS auch. Auf Linux kann ich das auch. Ich habe jetzt erst bemerkt, dass es auch auf Windows geht. Und noch mehr: die Libs, die am Ende herausfallen, sind mit denen von Visual Studio kompatibel.

LLVM (clang++) auf Windows

Wer es ausprobieren möchte, findet die Downloads hier.