Knapp 5 Tage Bootsequenz Hacker installiert Linux-Kernel auf einem Intel 4004

Von Sebastian Gerstl 3 min Lesedauer

Anbieter zum Thema

Einem Hardware-Hacker ist es gelungen, einen Debian-basierten Linux-Kernel auf dem ersten Mikroprozessor der Welt zum Laufen zu bringen: Einer Intel 4004 CPU aus dem Jahr 1971. Die Bootsequenz bis zum Erreichen eines Terminal-Prompts betrug dabei 4,76 Tage.

4-Bit-Linux-System: Hardware Hacker Dmitry Grinberg ist es gelungen, mit einer Intel-4004-CPU aus dem Jahr 1971 und einem überwiegend zeitgemäßen Chipset auf einem selbst entworfenen Board einen Linux-Kernel 4.4.292+ zu booten.(Bild:  Dmitry Grinberg)
4-Bit-Linux-System: Hardware Hacker Dmitry Grinberg ist es gelungen, mit einer Intel-4004-CPU aus dem Jahr 1971 und einem überwiegend zeitgemäßen Chipset auf einem selbst entworfenen Board einen Linux-Kernel 4.4.292+ zu booten.
(Bild: Dmitry Grinberg)

Hardware-Hacker Dmitry Grinberg hat ein Faible dafür, die Grenzen alter Low-End Hardware auszutesten. Bereits 2012 gelang es ihm, ein bootfähiges Linux-System auf einem von einem Atmel AVR 8-Bit-Mikrocontroller betriebenem System zu installieren. Mit seinem neuesten Projekt hat er aber die womöglich die Grenzen des absolut machbaren erreicht: Auf einem selbst entworfenem Board, dessen einzige CPU ein Intel 4004 Mikroprozessor ist, konnte er einen abgespeckten, Debian-basierten Linux-Kernel Version 4.4.292+ zum Laufen bringen. Neben der alten CPU und anderen zeitgemäßen Chips waren hierfür ein Decoder für Logikfunktionen, zwei selbst entwickelte Emulatoren, eine Reihe von Optimierungs-Iterationen und sehr viel Geduld notwendig: Zwischen Start des Systems und dem Erreichen des Linux-Kommandoprompts vergingen laut Grinberg 4,76 Tage.

Intel hatte den 4004 Mikroprozessor im Jahr 1971 entworfen. Ursprünglich für den japanischen Taschenrechnerhersteller Busicom entworfen, kaufte Intel die Rechte an dem Baustein zurück, als der Auftraggeber keine Verwendung mehr dafür fand. Mit nur 2.300 Transistoren und einer ursprünglichen Taktfrequenz von 740 kHz ist die 4-Bit-CPU nach heutigen Maßstäben primitiv, doch nach mehreren Iterationen - nicht zuletzt Intels eigenem verbesserten 8-Bit-Prozessor Intel 8086 - sollten Mikroprozessoren die Elektroniklandschaft revolutionieren und die Ära der Mikrocomputer einläuten.

Dennoch: Der gerade einmal 46 Instruktionen umfassende Befehlssatz der originalen 4-Bit-CPU wäre für sich genommen nicht in der Lage, um selbst ein Mikrokernel-System wie Linux zu stemmen. Der Intel 4004 ist in der Lage, gerade einmal 640 Byte RAM zu adressieren und verfügt nur über 16 Register zu je 4 Bits. Selbst grundlegende Operatoren wie AND oder OR sind nicht vorhanden.

Grinberg verlagerte sich daher auf einen Kunstgriff: Er schrieb für den Intel-4004-Prozessor einen Emulator eines MIPS R3000 RISC-Prozessors. Linus Torvalds hatte 1991 seinen ersten Linux-Mikrokernel auf einer DECStation 2100 Workstation geschrieben, die auf diesem Chip aufsetzte. Der Emulator für den reduzierten Befehlssatz des RISC-Chips, kombiniert mit einer zusätzlichen Emulation auf Hardware-Ebene, war in der Lage, den Linux-Kernel zu verarbeiten.

Grinberg wollte für seinen Versuch nach Möglichkeit auf zeitgemäße Technologie zurückgreifen; in seinem Board-Design verzichtete er daher vollkommen auf Bausteine wie FPGAs, die erst ab 1985 auf dem Markt erhältlich waren, oder zusätzliche Mikrocontroller. Da die Kapazität für komplexere Berechnungen auf der CPU selbst nicht vorhanden sind nutzt der von ihm geschriebene Emulator Lookup-Tabellen, um boole'sche Operationen zu emulieren und auf eine Echtzeit-Berechnung derselben zu verzichten. Auch für die unzureichende Speicheradressierung wendet der Hardware-Hacker diverse Tricks auf, um die maximale Leistung aus der alten 4-Bit-CPU herauszuholen. Am Ende schafft er es, die Intel 4004 CPU, die in der ursprünglichen 740kHz-Taktung maximal 92.000 Instruktionen pro Sekunde verarbeitet, soweit zu bringen, dass sie den abgespeckten Linux-Mikrokernel in etwas weniger als 5 Tagen bootet.

Das fertige Board. Dmitry Grinberg stellt auf seiner Website sämtliche Designs, den verwendeten Mikrokernel und sämtlichen selbst geschriebenen Code frei zur Verfügung. Wer das Design selbst nachbauen möchte müssen aber selbst sehen, wo sie die originalen Intel-Bausteine aus den 1970er Jahren beschaffen können.(Bild:  Dmitry Grinberg)
Das fertige Board. Dmitry Grinberg stellt auf seiner Website sämtliche Designs, den verwendeten Mikrokernel und sämtlichen selbst geschriebenen Code frei zur Verfügung. Wer das Design selbst nachbauen möchte müssen aber selbst sehen, wo sie die originalen Intel-Bausteine aus den 1970er Jahren beschaffen können.
(Bild: Dmitry Grinberg)

Seine finale Hardware verwendet neben einer von 740 auf 790 kHz übertakteten Intel 4004 (g+) CPU Bausteine aus Intels zeitgemäßen MCS-4-Chipsatzes wie beispielsweise dem Schnittstellenchip 4289 , einem (etwas moderneren aber auch für die 1970er Jahre zeitgemäßen) EEPROM-Chip und eine Reihe originaler Intel 4002 RAM-Bausteine. Das von ihm selbst entworfene Hardware-Board verfügt über keine Vias, sondern ausschließlich rechtwinklige Leiterbahnen auf der Vorderseite der Platine, um an die typische Board-Ästhetik der 1970er Jahre anzulehnen. Das Linux selbst wird als modernste Komponente von einem SD-Kartenleser geladen, der über ein SPI (Serial Peripheral Interconnect) mit der restlichen Hardware verbunden ist. Allein das Auslesen des Kernels über diese Verbindung nimmt 4 Stunden Zeit in Anspruch, wie Grinberg selbst in einem Zeitraffer-Video dokumentiert.

Grinberg ist sich bewusst, dass sein Design keinerlei praktischen Nutzen besitzt und daher rein als ein Kunstprojekt zu betrachten ist. Es lotet die Grenzen dessen aus, was mit einem (abgespeckten) Linux-Mikrokernel technisch möglich ist, unterstützt von Emulation und geschickter Prozessoptimierung. Für Gleichgesinnte, die sich selbst an ein solches Projekt wagen möchten, stellt Grinberg sämtliche Daten auf seiner Webseite inklusive dem Linux-Image für die SD-Karte, dem Quellcode für seinen Decstation 2100 Emulator und dem Bootloader zur Verfügung. Grinberg überlegt, eventuell auch eine Kit-Version seines Projekts zur Verfügung besteht, falls sich genügend Interessenten bei ihm melden sollten.(sg)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

(ID:50192308)