Zur Zeit (November 1999) gibt es zwei Hauptstränge bei den Linuxsystemen für PowerMacs:
Debian unterscheidet sich dabei insofern von den anderen, als sie eine eignes
Packetformat nutzt und insofern ein wenig inkomaptibel mit den anderen ist.
Mangels eigener Erfahrungen werde ich hier auch auf Debian nicht weiter eingehen.
Zu den einzelen Systemen:
MkLinux ist ein ursprünglich von Apple untertstütztes Projekt. Im Gegensatz zu allen anderen Linuxen (ob nun x86, PPC, MIPS, m68k, Alpha , oder oder), ist MkLinux eigentlich keine reinrassiges Linux, sondern setzte wie MacOS X auf eine Microkernel auf, in diesem Fall dem OSF Mk 7.0. Letzerer leitet sich vom Mach 3.0 Microkernel ab, auf dem wohl auch die Client-Version von MacOS X beruhen wird.
Anders als bei traditionelle Betriebssystemen, wie BSD, VMS, NT, ..., besteht hier der Kern des Betriebssystems, eben der Kernel, aus zwei Ebenen, nämlich dem Microkernel und einem sogenanneten Personality-Server. Der Microkernel stellt dabei die grundlegende und universell gehaltene Funktionalität zur Verfügung, die den meisten Betriebssystemen gemeinsam ist. Der Personality-Server greift auf den Microkernel zu und erweitert bzw. vervollständigt dessen Funktionalität. Damit erscheint der Personality-Server dem Anwender und den Programm als das eigentliche Betriebsystem. Im Fall von MkLinux wird eben Linux über eine Personality-Server auf OSF-Mk implementiert.
Diesen ganzen Aufwand würde man natürlich nicht treiben, wenn er keine Vorteile böte. Vor ein Vorteil beitet eine Microkernelarchitektur. Dadurch das fast die gesammt Hardwareabstraktion im Microkernel stattfindet, ist der Personality-Server hardware unabhähig. Beim Wechsel der Hardware muss also nur noch der Microkernel portiert werden und nicht auch noch der Personality-Server (beide zusammengenommen entsprechen ja dem traditionellen monilithischen Kernel). Desweiteren kann man verschieden Teilaspekte eines Betriebssystems auf verschiedene Personality-Server verteilen und so eine Art Bauskastenbetriebssystem bekommen. Dieser Ansatz wird beim GNU Hurd Projekt verfolgt. Oder man kann mehrere Betriebssysteme parrallel auf einem Rechner ohne Emulation laufen lassen (sofern sie fuer dieselbe Hardware verfügbar sind). So wäre es denkbar auf einem Mac MkLinux und MacOS X zur gleichen Zeit laufen zu lassen (allerdings müssten dazu beide denselben Microkernel nuzten, was sie leider nicht tun).
Ein starke Motivation für Apple wird sicher darin bestanden haben, im Hinblick auf ihr eigenes NextGeneration-OS etwas über Microkernel-Architekturen zu lernen. Leider hat Apple sich aber inzwischen aus dem Projekt zurück gezogen. Da die Entwicklung jedoch vor allem bei Apple (und der Open Group (vormals OSF), gesponsort von Apple) stattgefunden hat, ist MkLinux etwas ins Hintertreffen geraten, was die Unterstützung aktueller Hardware angeht (z.B. den Yosimites). Umsomehr konzentriert man sich hier auf die Unterstützung älterer Hardware und auf den Port auf HP-UX-Systeme. Vor allem NuBus-PowerMacs werden nur von MkLinux unterstützt.
Im Moment wird an einem neue Release (MkLinux R1) gearbeitet. R1 wird sehr wahrscheinlich auch auf der glibc2.1 beruhen.
Meine persönliche Einschätzung:
Trotz der Bemühungen einiger Entwickler wird MkLinux wahrscheinlich zu einer Randerscheinung werden.
Historisch war es zwar wichtiger Schritt für den Aufbruch von Linux auf dem Mac.
Technisch hinkt es aber inzwischen hinterher,
vor allem was die unterstützte Hardware angeht. Leute die neu zu Linux auf dem Mac kommen, werden
wohl häufig Hardware haben, die von MkLinux nicht unterstützt wird.
Eigentlich Schade, den das Microkernel-Konzept an sich ist nicht uninteressant, wie ja auch Apple
mit MacOS X beweist.
Ich selbst habe bis Sommer 1998 mit MkLinux DR2.1 und DR3 gearbeitet und bin dannach auf LinuxPPC R4 gewechselt. Meine Einschätzungen beziehen sich vor allem auf meine Erfahrungen in dieser Zeit und auf die Beobachtungen der Aktivitäten rund um MkLinux im Netz. Es ist gut möglich, dass meine Einschätzung, dass meine Einschätzung nicht ganz auf der Höhe der Zeit ist.
Vorteile von MkLinux
Zumindest bis Mitte 98 (DR3) war Harddisk-Performance sehr schlecht (der Rechner wirkt daher mitunter recht zäh).
Zusätzlicher Layer im System (Microkernel/ Linuxserver> verringert potentiell die Performance.
Teile des Codes sind nicht verfügbar (Boot-Extension); Stand 1998.
Im Gegensatz zu MkLinux ist LinuxPPC eine ganz normale Portierung von Linux auf eine andere CPU-Plattform, wie es anderer (z.B/. m68k, Alpha, ....) auch gibt. LinuxPPC geht dabei die Portierung des monolithischen Linuxkernel auf PowerPC-Prozessor von Paul Mackerras zuück. Daraus ist sich mittlerweile ein grosses Projekt mit vielen Entwickler hervorgegengen. Deren Zentrale ist auf der Seite www.linuxppc.org zu finden. Der LinuxPPC-kernel ist inzwischen auch in den Quellcode des offiziellen Linuxkernels aufgenommen, so dass man sich mittlerweile einfach seiner Kernel mit den Sourcen von www.kernel.org selber bauen kann.
Daneben gibt es eine Firma names LinuxPPC, die die auf LinuxPPC aufbauende Distribution vertreibt.
LinuxPPC ist ein sehr dynamische Projekt. Je nachdem wie schnell die Hardware zur Verfügung steht, wird LinuxPPC angepasst. So stand ca. 4 Monate nach Erscheinen der Yosimites ein passender Kernel zur Verfügung. Beim iBook waren es sogar nur ca. 4 Wochen. Darüber hinaus unterstützt LinuxPPC nciht nur Macs, sondern auch andere Rechner, die auf PoerPC-Prozessoren basieren, so z.B. Workstation von IBM oder Motorola bis hin zu embedded-Systemen.
Bis zur Version LinuxPPC R4 (vom Sommer 1998) beruhte LinuxPPC (wie auch MkLinux bis DR3) auf der Glibc 1.99, dem Vorläufer der glibc2, die innerhalb des letzten Jahren bei x86-Linux die alte libc5 ersetzt hat. Leider war die glibc1.99 nicht völlig kompatibel zur glibc2 und schon gar nicht zur libc5. Daher fiel oft ein unnöltig größer Portierungaufwand an. Mit LinuxPPC 1999 (ursprünglich als LinuxPPC R5 bezeichnet) fand dann der Übergang zur glibc2.1 statt, so dass vom API her LinuxPPC nun voll komaptibel, zu x86-Linux ist.
Meine persönliche Einschätzung:
Seit Sommer 1998 nutze ich LinuxPPC auf meinen Computern. Den Umstieg von MkLinux
habe ich vor allem wegen der schlechten Plattenperformance und dem nach der Veröffentlichung
von MkLinux DR3 nachlassden Engagement von Apple vollzogen. LinuxPPC ist eine stabile Plattform,
auf der ich gut arbeiten kann. Die Dynamik der Entwicklung hier scheint auch eine gewisse
Zukunftsicherheit zu garantieren.
Mit BootX gibt es nun auch für LinuxPPC einen graphischen Bootmanager, wie den MkLinux-Booter.
Vorteile von LinuxPPC
Läuft nicht auf NuBus-Macs und äteren PPC-Performas (die Performas werden erst ab den Modellen 5400 bzw. 6400 unterstützt.)
Im Gegensatz zu MkLinux, das ein in sich geschlossene Projekt ist, und zu LinuxPPC, wo Kernelentwicklung und Distribution eng beieinanderliegen, ist Yellow Dog Linux eine reine Distribution. Deren Entwickler beteiligen sich zwar auch an der Kernelentwicklung, sind hier aber nicht federführend. Yellow Dog Linux beruht auf dem Kernel der im Rahmen des LinuxPPC-Projektes entwickelt wird. Da zu einem vollständigen System mehr als nur eine Kernel gehöhrt versucht Yellow Dog Linux sich im Bereich der Servertools und im Bereich Sicherheit zu profilieren. Die erste Yellow Dog Linux Distribution ist demnach auch derYellow Dog Linux Champion Server 1.1, der sich vor allem auf Serverapplikationen konzentriert. Ein Workstationvariante der Yellow Dog Linux Distribution ist angeblich seit anfang des Jahres in Arbeit.
Bei der Einbindung neuer Hardware gibt es mitunter ein Kopf-an-Kopf-Rennen zwischen LinuxPPC und YDL. So wurden die Yosimites knapp 1 Monat früher von YDL unterstützt als von LinuxPPC.
Meine persönliche Einschätzung:
Als Server mag Yellow Dog Linux gut geeigent sein, als Workstation dagegen weniger.
Zuviele Tools fehlen dazu. Im Serverbereich dagegen spricht vor allem das Engagement
in sicherheitsrelevante Fragen für Yellow Dog Linux.
Ansonsten entsprechen die Vor- und Nachteile denen von LinuxPPC.
Gemeinsamkeiten von MkLinux, LinuxPPC und Yellow Dog Linux
Alle Varianten beruhen auf RedHat-Linux und setzen den RedHat Installer ein, bzw. haben dies früher getan. Seit LinuxPPC 99 nutzt LinuxPPC einen eigenen graphischen Installer unter X. Das Format der einzelnen Softwarepakete ist jedoch bei allen dreien das gleiche, nälich das rpm-Format. (Anmerkung Debian benutzt ein eigens Paketformat).
Systeme mit glibc1.99 sind: | MkLinux DR2.1 und DR3; Linux PPC bis R4 |
Systeme mit glibc2 oder glibc2.1 sind: | LinuxPPC 99 (R5), YDl ChampionServer 1.0 und 1.1 und vermutlich MkLinux R1 |