Schon seit zwei Jahren rede ich auf meinen Chef ein, mal endlich einen Server anzuschaffen. "Jaja, kann man mal machen."

Aber über "die Cloud" geht bei ihm halt immer alles so schön unkomplizert (und ich bekomme immer Ausschlag, wenn ich dann irgendwas irgendwo in irgendeinem Sharepoint-Verzeichnis herunterladen muss) und alles andere (z.B. Bitwarden) regelt mein Server daheim, also wieso etwas anschaffen, wenn's doch auch so läuft?

Erstelle ich halt selbst nen Server.
Ich habe noch einen Stapel macMinis, Modell 2,1/A1176, mit Core 2 Duo Prozessor rumliegen.
Leider nie über MacOS X 10.7 hinaus gekommen, so dass man mit der einwandfrei funktionierenden Technik dank des Herstellers Unlust, die Software in Schuss zu halten, bzw dessen Lust, sie für obsolet zu erklären, nicht mehr viel anfangen kann.

Aber vielleicht kann man die Hardware mit einem anderen System weiternutzen?
Der Plan: Auf einem MacMini Ubuntu Server zu installieren.

Infos zu den alten macMinis 1,1 + 2,1

macmini 1,1 (Core Duo)

Die Core Duo Prozessoren (nicht Core 2 Duo!) sind 32bit-Prozessoren.

Ubuntus letztes 32bit System war (angeblich – kann dazu aber keinen Download finden) die Version 18.04. Einen 32bit-Download (i386) finde ich nur für die Version 16.04.
Hier geht's zu den Downloads.

Debian bietet auch für die aktuelle Version 11 noch ein 32bit Image an (i386)

Sollte man unbedingt einen Desktop benötigen, könnte ein Blick auf diese Übersicht hilfreich sein. Mir reicht für meinen Server die Kommandozeile.

Zu dieser 32bit-Problematik kommt dann noch die Problematik der nachfolgenden macmini-Generation:

macmini 2,1 (Core 2 Duo)

Die Core 2 Duo Prozessoren sind zwar 64bit-Prozessoren, allerdings hat das EFI weiterhin nur 32bit, womit die Linux-Installer nicht klar kommen.

Im Folgenden beziehe ich mich auf einen macmini 2,1 – habe also nur die Problematik des 32bit EFI und verwende ein mehr oder weniger aktuelles Ubuntu.

Erste Anläufe

Ich würde mal behaupten, ich habe jeglichen Debian und Ubuntu Installer heruntergeladen, der mir in die Finger kam, mit dd auf einen USB-Stick kopiert und versucht, den macMini zu booten.

Alles erfolglos, egal, ob ich noch dazu den alternativen Bootmanger rEFIt oder rEFInd auf dem macMini installiert hatte, über welche man Ubuntu wohl eher booten könne, als über den standardmäßigen Bootmanager von MacOS X (wenn man beim Starten die Wahltaste gedrückt hält).

Und das, obwohl sowohl Debian wie auch Ubuntu extra Installer-Images mit der Bezeichnung "Mac" zur Verfügung stellen.

So habe ich es hinbekommen

Hilfreich war dieser Eintrag in einem Forum, welcher allerdings noch viele Fragen offen lies und diese Seite hier.

Allerdings musste ich mir noch ein paar andere Dinge aus den Fingern ziehen und obwohl die Anleitung von heeris.id.au prima ist, bezog sie sich auf ein 64bit EFI.

Wir brauchen...

Natürlich den macMini, Tastatur und Monitor.

Hat man nur den Mac zur Verfügung, benötigt man noch eine Virtualisierungs-Lösung wie etwa VirtualBox mit einem darauf eingerichteten Linux-System. Hier kann man sich direkt ein fertiges Linux-Image für die VirtualBox herunterladen.

Und wir brauchen noch 2 USB-Sticks:

  • Einer enthält den Bootmanger rEFInd, von dem wir den Mac booten werden und welcher dann auch den Ubuntu-USB-Stick zum Booten erkennt
  • Der andere enthält natürlich unseren Ubuntu-Installer. Allerdings keine der angeboteten Mac-Versionen, sondern die Standard-Version. Ich habe Ubuntu 18.04 Server verwendet

Ablauf

  • rEFInd auf USB-Stick 1 flashen
  • Ubuntu-Install-Image mit Hilfe eines laufenden Linux-Systems um ein 32bit-EFI erweitern
  • Geändertes Install-Image auf USB-Stick 2 flashen
  • macMini mit rEFInd booten, hierüber den Ubuntu-Installer booten
  • Ubuntu installieren
  • Erst jetzt wird es tatsächlich kompliziert: Diverse Verrenkungen und Verbiegungen, damit der Mac auch mit dem installierten Linux booten kann

Achtung: Die Festplatte des Macs wird hierbei komplett gelöscht. Ich übernehme keine Haftung dafür, dass man seinen Mac mit der folgenden Anleitung nicht unbrauchbar macht.
Sollte man sich mit Linux-Paritationsschemata auskennen, kann man Linux auch parallel zu MacOS auf weiteren Partitionen installieren. Das war mir dann für den Anfang aber doch zu hoch.

USB-Sticks vorbereiten

USB-Stick 1: rEFInd

rEFInd ist eigentlich zur Installation auf dem Rechner gedacht, so dass es dauerhaft den lokalen Bootmanager "übertüncht".
Allerdings kann man rEFInd auch auf einen USB-Stick flashen und nur bei Bedarf verwenden, statt das System zu verändern.
Dies haben wir hier vor.

Die aktuellste Flashdrive-Version von der Sourceforge-Seite herunterladen (war in meinem Fall refind-flashdrive-0.13.2.zip )

ZIP-Datei entpacken, sie sollte eine .img-Datei enthalten, welche wir auf den USB-Stick kopieren. Allerdings nicht im Finder per Drag&Drop, sondern per Kommandozeile.

Den USB-Stick noch nicht einstecken und das Kommando diskutil list auf der Kommandozeile ausführen. Es sollten alle verfügbaren Festplatten/Partitionen aufgelistet werden.
Nun den USB-Stick, der verwendet werden soll, einstecken und nochmals diskutil list ausführen.
Die /dev/disk*, welche nun hinzugekommen ist, ist für uns relevant.

Vorsicht!
Unbedingt die richtige Ziffer bei /dev/disk* verwenden. Erwischt man statt des USB-Sticks das falsche Laufwerk, hat man sich, wenn's dumm läuft, das ganze System zerschossen!

Bei folgendem Befehl den * durch die selbst ermittelte Ziffer ersetzen.
Die Ausführung des Befehles kann einige Minuten ohne eine Fortschrittsangabe in Anspruch nehmen.

sudo dd if=/pfad/zu/refind-flashdrive-0.13.2.img of=/dev/disk* bs=1m

Wir haben nun einen USB-Stick, mit dem wir den Mac booten können.

Danach entweder die Finder-Frage, ob das eben erkannte Medium initisiert/ignoriert/ausgeschmissen werden soll mit "Ausschmeißen" beantworten oder per Kommandozeile abmelden:
diskutil unmountDisk /dev/disk*

USB-Stick 2: Ubuntu Installer vorbereiten

Ich hatte mir erst den aktuellsten Ubuntu -LTS-Server in Version 20 heruntergeladen.
Allerdings haperte es bei mir dann ganz am Schluss daran, dass das Benutzerkonto nicht angelegt wurde und ich mich nicht am System anmelden konnte. Keine Ahnung, ob ich hier irgendwo zwischendrinnen etwas verkehrt gemacht hatte oder ob es sich bei der Version um ein generelles Problem (im Zusammenhang mit der Installation auf dem alten macMini) handelt.
Die Installation von Version 18 hatte dann funktioniert. Wobei Version 18 im Gegensatz zu Version 20 wohl leider standardmäßig keinen WLAN/AirPort-Treiber mitliefert und das Internet erst einmal nur via LAN bezogen werden kann.

Ein macmini 1,1 müsste außerdem auf ein 32bit-Linux ausweichen, wie etwa ein Debian System oder Ubuntu in Version 16.

So oder so: Keine spezielle Mac-Version von Linux herunterladen! (für manche Installer-Images wird eine spezielle Mac-Version angeboten)

Außerdem benötigen wir noch ein 32bit-EFI, welches man von dieser github-Seite herunterladen kann.

Die Linux-ISO-Datei – ob nun Debian oder Ubuntu – und die Datei bootia32.efi von der GitHub-Seite nun auf ein laufendes Linux-System kopieren. Sei es ein anderer Computer, ein Raspberry Pi oder halt ein virtuelles Linux zum Beispiel in der VirtualBox ausgeführt.

Wir werden nun das Image "entpacken", bootia32.efi hinzufügen und ein neues Image erstellen, welches man nachher auf dem Mac zur Linux-Installation verwenden kann.
Das machen wir auf der Kommandozeile des Linux-Rechners.

sudo mkdir /mnt/ubuntu
sudo mount -o loop /pfad/zum/original/linuximage.iso /mnt/ubuntu

# Es sollte eine Info kommen, dass das Image nur read-only
# gemountet werden kann. Deshalb die folgenden Kniffe

cd /mnt
tar -cvf - ubuntu | (cd /tmp/ && tar -xf - )

# In die "kopierten Daten des gemounteten Images" springen und bootia32.efi reinkopieren

cd /tmp/ubuntu/EFI/BOOT
sudo cp /pfad/zum/heruntergeladenen/bootia32.efi .

# Daraus machen wir nun eine neue Image-Datei

cd /tmp/ubuntu/
sudo mkisofs -o /pfad/zum/neuen/image.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V Ubuntu .

# Diese ISO-Datei nun entweder zurück auf den Mac oder wir
# erstellen den Installations-USB-Stick gleich auf diesem Linux-Systen
# However...noch etwas aufräumen

sudo rm -r /tmp/ubuntu
sudo umount /mnt/ubuntu

Wir haben nun eine neue ISO-Datei, welche EFI in 32bit-Version enthält, so dass der Linux-Installer sich nicht aufhängt, wenn man den Mac damit bootet.

USB-Stick 2: Der Linux-Installer

Die eben erstellte ISO-Datei kopieren wir nun analog dazu, wie wir es schon mit rEFInd gemacht hatten auf einen zweiten USB-Stick.

Auch hier wieder die /dev/disk*-Nummer des USB-Sticks in Erfahrung bringen und mit

sudo dd if=/pfad/zu/erstelltem-image.iso of=/dev/disk* bs=1m

auf den USB-Stick kopieren. Dies wird nun – wie immer ohne Fortschrittsanzeige – sehr, sehr lange dauern!

Endlich: Die Installation

Die beiden USB-Sticks in den MacMini einstecken, ihn bei gedrückter Wahltaste hochfahren und "EFI boot" auswählen, welches neben der Macintosh HD angezeigt werden sollte.
Danach sollte das rEFInd-Bootmenü erscheinen und unter anderem das Ubuntu-Logo in der Liste der bootbaren Systeme auftauchen – dies ist unser Ubuntu-Installer-USB-Stick.
Diesen auswählen.

Und schon kann man mit der geführten Installation beginnen, die sich im großen und ganzen von selbst erklärt.

Nun hätte man vorab die Festplatte partitionieren können und auf einer 20GB-Partition MacOS X noch weiterhin betreiben, aber eigentlich brauche ich MacOS X auf diesem macMini nicht und die Installation mit einem "Custom storage layout" erschien mir doch zu kompliziert.
Also "Eine ganze Festplatte verwenden".

Leider bricht der Installer bei Ubuntu 20 an der Stelle "installing grub to target devices" ab. Ich konnte es mit den nachfolgenden Hacks trotzdem zum Funktionieren bringen, allerdings hatte das System dann kein Benutzerkonto, in das ich mich einloggen konnte und war somit nutzlos.
Ubuntu 18 vollendete die Installation problemlos.

Nachdem Linux nun installiert ist, haben wir an sich mit wenigen Tricks ein lauffähiges Linux auf dem Mac. Leider kann er nicht davon booten :-(

Zwei Dinge fehlen nun noch zum GLück:

  • UUID der Linux-Partition im grub-Bootloader hinterlegen, damit dieser weiß, von was er booten soll (irgendwie scheint das wohl nicht bei der Installation von alleine passiert zu sein)
  • Auch dem frisch installieren Linux ein 32bit-EFI spendieren und die EFI-Partition mac-tauglich formatieren

Diverse Kniffe und Verrenkungen, um booten zu können

UUID der Linux-Partition im grub-Bootloader hinterlegen

Linux scheint nach der Installation nicht zu wissen, von wo es booten soll.
Na, von dem eben installierten System natürlich!

1. UUID der Linux-Partition in Erfahrung bringen

Hatte bei mir nicht so ganz wie hier beschrieben funktionieren wollen, die UUID direkt im grub in Erfahrung zu bringen und dort zu hinterlegen. Ich musste etwas umständlicher an die Sache rangehen und die UUID über die Busybox-Konsole in Erfahrung bringen.

Mac wieder bei gedrückter Wahltaste (neu)starten, EFI boot auswählen und vom Ubuntu-Installer-USB-Stick booten.

Wenn das Auswahlmenü mit "Install Ubuntu Server" erscheint, schnell die Taste c drücken.
Hier schnell reagieren, da nach wenigen Sekunden automatisch der Installer gestartet wird.

Achtung: Ab jetzt haben wir ein amerikanisches Tastaturlayout!

( und ) sind shift-9 und shift-0
/ ist -
= ist ` (ohne shift)
* ist shift-8

Wir sollten mit der Kommandozeile grub> begrüßt werden.
Nun die Partition finden, die die Installation enthält:

ls

zeigt alle verfügbaren Partitionen an.

Alle aufgelisteten Partitionen analog zu ls (hd2,gpt2)/boot/grub durchgehen, bis Dateien und Verzeichnisse statt einem file not found angezeigt werden.

Danach die gefundene Partition als root-Partion eintragen:

set root=(hd2,gpt2)
linux /boot/vmlinuz break
initrd /boot/initrd
boot

Nach oder während der Eingabe von vmlinuz und initrd die Tab-Taste drücken, um autozuvervollständigen.
Es könnte stattdessen dann auch

linux /boot/vmlinuz-4.15.0.156-generic break
initrd /boot/initrd.img-4.15.0-156-generic

da stehen. break muss so oder so noch manuell hinzugefügt werden. Damit unterbrechen wir für den nächsten Schritt den Bootprozess, um weiterarbeiten zu können.

Nach der eingabe von boot sind wir dann auf der unix-Konsole/BusyBox und werden mit einem (initramfs) begrüßt.

Auch hier alle Partitionen anzeigen lassen. Jene sind in diesem System allerdings alle etwas anders benannt:

ls /dev/sd*

Alle angezeigten sd-Geräte durchprobieren, ob sich irgendwo Daten wie das Home-Verzeichnis befinden. Dazu jede Partition nach und nach mounten und durchsuchen:

mkdir /tmp/sda1
mount -o loop /dev/sda1 /tmp/sda1
ls /tmp/sda1

Nachdem das gesuchte Laufwerk gefunden wurde, die UUID in Erfahrung bringen

ls -l /dev/disk/by-uuid/

(In meinem Fall landete ich den Treffer bei /dev/sda2 und die UUID war die längste von allen von allen. Ich vermute, es könnte generell immer die längste sein)

Notieren und bloß nicht vertippen! Am besten nen Foto machen ;-)

2. UUID der Linux-Partition in grub eintragen

Nun mit reboot neustarten. Wir müssen nun nochmals auf die grub> Konsole.
Hier verwenden wir nochmals die grub-Partitionsbezeichnung, die wir zuvor schon entdeckt haben. Statt dem "break" geben wir allerdings die UUID der Partition ein, die wir eben in Erfahrung gebracht hatten.
vmlinuz und initrd können wieder mit der Tab-Taste auto-vervollständigt werden.

set root=(hd2,gpt2)
linux /boot/vmlinuz root=UUID=**Die lange UUID von gerade eben**
initrd /boot/initrd
boot

Nun sollte Linux erfolgreich booten...für's erste.
Jetzt müssen wir aber noch dafür sorgen, dass der Mac beim nächsten Einschalten ohne rEFInd-USB-Stick starten kann.

32bit EFI installieren

HFS+ EFI Partition erstellen

Es könnte lohnenswert sein, sich nun von seinem gewohnten Rechner aus via SSH mit dem neuen Ubuntu-Server zu verbinden, um die Tipparbeit einfacher zu machen. Aber natürlich kann man auch direkt am Ubuntu-Server auf der Konsole weiterarbeiten.

Ein paar Dinge installieren:

sudo apt-get install hfsprogs gdisk grub-efi-ia32

Der Bootloader des Macs erwartet, dass die EFI Partition in HFS+ formatiert ist, die Ubuntu-Installation hat sie allerdings in VFAT formatiert. Das muss nun korrigiert werden. Außerdem benötigen wir dann wieder die 32bit-Version des EFI Bootloaders.
Erst einmal müssen wir herausfinden, auf welcher Partition sich das EFI befindet.

Dazu den Befehl mount eingeben. Es sollten mehrere Zeilen ausgespuckt werden, darunter eine, in der EFI erwähnt ist. Wie etwa hier:

...
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,...
...

In dem Fall ist /dev/sda1, was wir suchen.
Kann aber von Fall zu Fall auch anders lauten, z.B. /dev/sdc1. Sollte dem so sein, müsste im Folgenden immer sda durch sdb oder sdc oder was auch immer ersetzt werden.

Die betreffende Partition abmelden:

sudo umount /dev/sda1

Etwas weiter oben hatten wir gdisk installiert. Damit formatieren wir die Partition neu in HFS+ (die Zahl hinter sda bleibt weg – wir wollen alle Partitionen sehen):

sudo gdisk /dev/sda

GPT fdisk (gdisk) version 0.8.8

Partition table scan:
  MBR: hybrid
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with hybrid MBR; using GPT.

In der Auflistung müsste GPT: present stehen. Falls dies nicht der Fall ist, dann scheint es irgendwo ein Problem zu geben, weil kein GUID partition table vorhanden ist.
In dem Fall macht es wohl keinen Sinn, weiter zu machen :-(

Nun mit p die Partitionstabelle anzeigen lassen

Command (? for help): p
...
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          194559   94.0 MiB    EF00
   2          194560       968574975   461.8 GiB   8300
   3       968574976       976771071   3.9 GiB     8200

Die erste Partition sollte den Code EF00 haben und unsere EFI-Partiton sein, da /boot/efi zuvor /dev/sda1, also die erste Partition, war.
Diese erste Partition EF00 löschen wir nun:

Command (? for help): d
Partition number (1-3): 1

Und formatieren sie mit HFS+:

Command (? for help): n
Partition number (1-128, default 1): 1

Die beiden folgenden Nachfragen einfach mit Enter bestätigen:

First sector (34-976773134, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-194559, default = 194559) or {+-}size{KMGTP}:

Als "File System Code" müssen wir nun bei der nächsten Abfrage AF00 eingeben – das ist der Code für HFS+:

Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): AF00
Changed type of partition to 'Apple HFS/HFS+'

Es wäre alles vorbereitet, doch ausgeführt hat gdisk noch nichts.
Mit p kann man sich alle geplanten Änderungen nochmals anschauen und mit w dann auf die Platte schreiben:

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.

Die Partition ist noch nicht formatiert (finde ich seltsam, aber ist wohl so). Formatieren wir sie noch auf der Kommandozeile, nachdem wir gdisk verlassen haben:

sudo mkfs.hfsplus /dev/sda1 -v Ubuntu

Leider noch nicht fertig – wir müssen noch /etc/fstab anpassen:

sudoedit /etc/fstab

Die beiden Zeilen mit EFI können gelöscht werden:

# /boot/efi was on /dev/sda1 during installation
UUID=C59D-1B30  /boot/efi       vfat    defaults        0       1

Nachdem wir mit ctrl-O und ctrl-X den Editor wieder verlassen haben, fügen wir den Verweis auf /boot/efi neu hinzu:

sudo bash -c 'echo $(blkid -o export -s UUID /dev/sda1) /boot/efi auto defaults 0 0 >> /etc/fstab'

In meinem Fall wurden hier noch etwas Text hinzugefügt, den ich wieder entfernen musste, damit es auch wirklich funktionierte.
Also nochmals die fstab öffnen:

sudoedit /etc/fstab

Sollte in der Zeile mit EFI vor UUID=... noch so etwas wie UUID /dev/sda1 stehen, dann diesen Text entfernen, so dass am Ende nur noch so etwas ähnliches wie das hier da steht:

UUID=18e44b2b-9399-3951-be98-4ce4ab6df550 /boot/efi auto defaults 0 0

Mit ctrl-O und ctrl-X den Editor wieder verlassen.

Nun sollte sich die EFI-Partition mounten lassen:

sudo mount /boot/efi

GRUB installieren

sudo mkdir -p "/boot/efi/EFI/$(lsb_release -ds)/"
sudo bash -c 'echo "This file is required for booting" > "/boot/efi/EFI/$(lsb_release -ds)/mach_kernel"'
sudo bash -c 'echo "This file is required for booting" > /boot/efi/mach_kernel'
sudo grub-install --target i386-efi --boot-directory=/boot --efi-directory=/boot/efi --bootloader-id="$(lsb_release -ds)"
sudo update-grub

hfs-bless

Dies war in den Anleitungen, die ich gefunden hatte, einfach mit apt-get installiert und ausgeführt, aber irgendwie funktioniert das repository, aus dem man das Programm installieren kann, nicht mehr.
So ist das halt mit diesen onliner-repositories...

Leider konnte ich den MacMini nicht erfolgreich booten, ohne den hfs-bless-Befehl ausgeführt zu haben.
Zum Glück ist der Quellcode noch auf Github zu finden und lässt sich relativ einfach kompilieren...wozu man aber erst noch ein paar Dinge installieren muss.

Quellcode von dieser Seite herunterladen:
https://github.com/detly/mactel-boot
Und ZIP-Datei auf den Ubuntu-Server schieben.

sudo apt-get install unzip make gcc
unzip mactel-boot-master.zip
cd mactel-boot-master/
make PRODUCTVERSION=Ubuntu
sudo cp hfs-bless /usr/sbin

hfs-bless sollte nun installiert sein.
Also führen wir den allerletzten notwendigen Schritt aus:

sudo hfs-bless "/boot/efi/EFI/$(lsb_release -ds)/System/Library/CoreServices/boot.efi"

Funktioniert's?

Nach dem Abziehen des rEFInd-USB-Sticks und einem sudo reboot wurde ich von GNU Grub begrüßt, mit der Auswahl Ubuntu zu starten (was auch funktionierte...jippie!).

Um diesen beim nächsten Neustart zu überspringen, mal alle Partitionen anzeigen lassen und unsere präferierte Partition bevorzugen.

sudo efibootmgr

Nun sollten alle Partitionen angezeigt werden.
Ubuntu 18.04.6 LTS ist die richtige.

BootCurrent: 0000
Timeout: 5 seconds
BootOrder: 0002,0001,0000,0080
Boot0000* rEFInd Boot Manager
Boot0001* ubuntu
Boot0002* Ubuntu 18.04.6 LTS
Boot0080* Mac OS X
Boot0081* Mac OS X
BootFFFF*

Wir wollen also zukünftig mit Boot0002 starten:

sudo efibootmgr -o 0002

Neuster Stand

Ich hatte ja Ubuntu 18.04 LTS installiert, wo es bereits Ubuntu 20.04 LTS gibt. Ich wage mal noch das Update und hoffe, dass es mir meine harte Arbeit nicht wieder zerschießt:

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get upgrade
sudo do-release-upgrade

(Hatte nichts zerschossen, auch wenn zwischendurch eine beunruhigende Meldung von wegen "GRUB konnte nicht installiert werden" erschien – bootet auch nach dem Update einwandfrei)

Fazit

Wir haben nun einen 15 Jahre alten macmini, auf dem das aktuellste (Linux-)Betriebssystem läuft.

Es war zwar doch zwischendurch ziemlich viel Gefrickel notwendig, aber nicht unmöglich, durchzuführen.
Technisch gesehen läuft Linux auf dem alten macMini einwandfrei, noch dazu ohne irgendwelche Treiber installieren zu müssen.

Wieso kann Apple das nicht mit macOS X? Klar, weil sie uns ständig neue Hardware verkaufen möchten ;-)

Vielleicht hätte es auch ein Raspberry Pi getan, aber alte, noch funktionstüchtige Hardware zu verwenden, ist mir immer ein Anliegen und 2x 1,83 GHz plus massig USB-Steckplätze, plus zwei SATA-Plätze für zwei SSDs, plus WLAN+Bluetooth on Board, plus ein nettes Gehäuse...sind auch nicht zu verachten.