InitWare als Systemd-Fork auch für macOS

InitWare auf einem iMac

Anfang August hatte ich über das Projekt InitWare berichtet, dass ein an Systemd angelehntes Init-System für BSD-Distributionen zum Ziel hat. Nun meldet sich der Entwickler zurück und kündigt kommende Unterstützung auch für macOS an.

Auf macOS portiert

Nachdem InitWare auf NetBSD, FreeBSD, DragonFlyBSD und zuletzt auch auf OpenBSD lauffähig sei, verbleibe nur die Portierung auf ein weiteres wichtiges BSD-Betriebssystem, nämlich macOS, so der Entwickler. Gesagt – getan, er besorgte sich einen iMac aus 2. Hand und begann damit, InitWare unter macOS zu bauen. Da die Hauptarbeit bereits für die anderen BSD-Varianten geleistet wurde, war diese Portierung relativ einfach. 90 % der Arbeit habe darin bestanden, eine Reihe kleinerer im Systemd-Quellcode verwendeter GNU/Linux-Erweiterungen zu POSIX durch die POSIX-Äquivalente zu ersetzen.

Verbleibende Probleme

Noch ist die Portierung aber nicht ganz auf dem Stand der anderen BSDs. Eines der zu lösenden Probleme ist es, einen adäquaten Ersatz für die Kernel Virtual Memory (KVM) API zu finden, die von InitWare auf den freien BSDs verwendet wird, um Metadaten über Prozesse zu erhalten. Diese wurde mit macOS 10.5 abgeschafft. Da auch ein ProcFS wie unter Linux fehlt, das ähnliche Informationen liefert, vermutet der Entwickler, dass die BSD-Standardschnittstelle sysctl(3) von macOS ähnliche Informationen bereithält.

Alternative zu Launchd

Somit erhält macOS neben Launchd, das in Teilen die Entwicklung von Systemd beeinflusst hat, über einen Umweg mit InitWare eine Systemd-nahe Implementierung. Geplant ist, künftig das bestehende pkgsrc-wip-Rezept für InitWare unter NetBSD zu erweitern, um InitWare auch unter macOS zu unterstützen, was es jedem, der InitWare unter macOS ausprobieren möchte, ermöglichen wird, dies recht einfach zu tun. Anzumerken bleibt, dass InitWare als Ganzes vorerst noch Alpha-Software bleibt.

Teilt den Beitrag, falls ihr mögt

Abonnieren
Benachrichtige mich bei
4 Kommentare
Most Voted
Newest Oldest
Inline Feedbacks
View all comments