bk99.de entertain the web since 1997

Betriebssystementwicklung auf dem Raspberry Pi

Zusammenfassung

Sergey Matyukevich führt in aufeinander aufbauenden Lektionen vom ARM64-Bootcode zu Interrupts, Scheduler, Userspace und virtuellem Speicher.

Ideen

  • Früher Assemblercode richtet Stack und Ausführungszustand ein.
  • UART liefert eine einfache Diagnoseausgabe ohne vollständige Treiberumgebung.
  • Timerinterrupts ermöglichen präemptives Scheduling.
  • Seitentabellen trennen virtuelle und physische Adressen.

Einsichten

  • Bare-Metal-Arbeit macht sonst verborgene Betriebssystemannahmen sichtbar.
  • Eine serielle Konsole bleibt wertvoll, wenn höhere Schichten noch fehlen.
  • Kleine aufeinander aufbauende Schritte erleichtern Hardwarediagnose.

Fakten

  • Das Projekt zielt auf Raspberry Pi 3 und ARM64.
  • Die Lektionen enthalten Quelltext und Erklärungen.
  • Der Beispielkernel wird ohne Linux gestartet.

Empfehlungen

  • Nutze eine serielle Konsole für frühe Bootmeldungen.
  • Versioniere bekannte SD-Karten-Images für reproduzierbare Tests.

Referenzen

Originalartikel lesen →