Technische Universität Braunschweig
  • Studium & Lehre
    • Vor dem Studium
      • Informationen für Studieninteressierte
      • Studiengänge von A-Z
      • Bewerbung
      • Fit4TU - Self-Assessment
      • Beratungsangebote für Studieninteressierte
      • Warum Braunschweig?
    • Im Studium
      • Erstsemester-Hub
      • Semestertermine
      • Lehrveranstaltungen
      • Studien-ABC
      • Studienorganisation
      • Beratungsnavi
      • Zusatzqualifikationen
      • Finanzierung und Kosten
      • Besondere Studienbedingungen
      • Gesundheit & Wohlbefinden
      • Campusleben
    • Nach dem Studium
      • Exmatrikulation und Vorlegalisation
      • Nach dem Abschluss
      • Alumni*ae
    • Strategien und Qualitätsmanagement
      • Strategiepapiere für Studium und Lehre
      • Studienqualitätsmittel
      • Studiengangsentwicklung
      • Qualitätsmanagement
      • Systemakkreditierung
      • Rechtliche Grundlagen
      • TU Lehrpreis
    • Für Lehrende
      • Informationen für Lehrende
      • Konzepte
      • Lernmanagementsystem Stud.IP
    • Kontakt
      • Studienservice-Center
      • Sag's uns - in Studium und Lehre
      • Zentrale Studienberatung
      • Immatrikulationsamt
      • Abteilung 16 - Studium und Lehre
      • Career Service
      • Projekthaus
  • Forschung
    • Forschungsprofil
      • Forschungsschwerpunkte
      • Exzellenzcluster der TU Braunschweig
      • Forschungsprojekte
      • Forschungszentren
      • Forschungsprofile der Professuren
    • Frühe Karrierephase
      • Förderung in den frühen Phasen der wissenschaftlichen Karriere
      • Promotion
      • Postdocs
      • Nachwuchsgruppenleitung
      • Junior Professur und Tenure-Track
      • Habilitation
      • Service-Angebote für Wissenschaftler*innen
    • Forschungsdaten & Transparenz
      • Transparenz in der Forschung
      • Forschungsdaten
      • Open Access Strategie
      • Digitale Forschungsanzeige
    • Forschungsförderung
      • Netzwerk Forschungsförderung
      • Datenbanken und Stiftungen
    • Kontakt
      • Forschungsservice
      • Graduiertenakademie
  • International
    • Internationale Studierende
      • Warum Braunschweig?
      • Studium mit Abschluss
      • Austauschstudium
      • TU Braunschweig Summer School
      • Geflüchtete
      • International Student Support
    • Wege ins Ausland
      • Studium im Ausland
      • Praktikum im Ausland
      • Lehren und Forschen im Ausland
      • Arbeiten im Ausland
    • Internationale Forschende
      • Welcome Support
      • Promotionsstudium
      • Service für gastgebende Einrichtungen
    • Sprachen und interkulturelle Kompetenzvermittlung
      • Deutsch lernen
      • Fremdsprachen lernen
      • Interkulturelle Kompetenzvermittlung
    • Internationales Profil
      • Internationalisierung
      • Internationale Kooperationen
      • Strategische Partnerschaften
      • Internationale Netzwerke
    • International House
      • Wir über uns
      • Kontakt & Sprechstunden
      • Aktuelles und Termine
      • International Days
      • 5. Studentische Konferenz: Internationalisierung der Hochschulen
      • Newsletter, Podcast & Videos
      • Stellenausschreibungen
  • Die TU Braunschweig
    • Unser Profil
      • Ziele & Werte
      • Ordnungen und Leitlinien
      • Allianzen & Partner
      • Hochschulentwicklung 2030
      • Stiftungsuniversität
      • Internationale Strategie
      • Fakten & Zahlen
      • Unsere Geschichte
    • Karriere
      • Arbeiten an der TU
      • Stellenmarkt
      • Berufsausbildung an der TU
    • Wirtschaft & Unternehmen
      • Unternehmensgründung
      • Freunde & Förderer
    • Öffentlichkeit
      • Veranstaltungskalender
      • Check-in für Schüler*innen
      • Hochschulinformationstag (HIT)
      • Kinder-Uni
      • Das Studierendenhaus
      • Gasthörer*innen & Senior*innenstudium
      • Nutzung der Universitätsbibliothek
    • Presse & Kommunikation
      • Stabsstelle Presse und Kommunikation
      • Medienservice
      • Ansprechpartner*innen
      • Tipps für Wissenschaftler*innen
      • Themen und Stories
    • Kontakt
      • Allgemeiner Kontakt
      • Anreise
      • Für Hinweisgeber
  • Struktur
    • Leitung & Verwaltung
      • Das Präsidium
      • Stabsstellen
      • Verwaltung
      • Organe, Statusgruppen und Kommissionen
    • Fakultäten
      • Carl-Friedrich-Gauß-Fakultät
      • Fakultät für Lebenswissenschaften
      • Fakultät Architektur, Bauingenieurwesen und Umweltwissenschaften
      • Fakultät für Maschinenbau
      • Fakultät für Elektrotechnik, Informationstechnik, Physik
      • Fakultät für Geistes- und Erziehungswissenschaften
    • Institute
      • Institute von A-Z
    • Einrichtungen
      • Universitätsbibliothek
      • Gauß-IT-Zentrum
      • Zentrale Personalentwicklung
      • International House
      • Projekthaus
      • Transferservice
      • Hochschulsportzentrum
      • Einrichtungen von A-Z
    • Studierendenschaft
      • Studierendenparlament
      • Fachschaften
      • Studentische Wahlen
    • Lehrer*innenbildung
      • Lehrer*innenfortbildung
      • Forschung
    • Chancengleichheit
      • Gleichstellung
      • Familie
      • Diversität
    • Kontakt
      • Personensuche
  • Suche
  • Schnellzugriff
    • Personensuche
    • Webmail
    • cloud.TU Braunschweig
    • Messenger
    • Mensa
    • TUconnect (Studierendenportal)
    • Lehrveranstaltungen
    • Im Notfall
    • Stud.IP
    • UB Katalog
    • Status GITZ-Dienste
    • Störungsmeldung GB3
    • IT Dienste
    • Informationsportal (Beschäftigte)
    • Beratungsnavi
    • Linksammlung
    • DE
    • EN
    • IBR YouTube
    • Facebook
    • Instagram
    • YouTube
    • LinkedIn
    • Mastodon
Menü
  • Struktur
  • Fakultäten
  • Carl-Friedrich-Gauß-Fakultät
  • Institute
  • Institut für Betriebssysteme und Rechnerverbund
  • Lehrveranstaltungen
  • Sommersemester 2025
Logo IBR
IBR Login
  • Institut für Betriebssysteme und Rechnerverbund
    • News
    • Wir über uns
      • Anreise
      • Raumplan
      • Projekte
      • Veröffentlichungen
      • Software
      • News Archiv
    • Connected and Mobile Systems
      • Lehrveranstaltungen
      • Abschlussarbeiten
      • Projekte
      • Veröffentlichungen
      • Software
      • Datensätze
    • Verlässliche Systemsoftware
      • Team
      • Lehre
      • Arbeiten & Jobs
      • Forschung
      • Publikationen
    • Algorithmik
      • Lehrveranstaltungen
      • Abschlussarbeiten
      • Projekte
      • Veröffentlichungen
    • Mikroprozessorlabor
    • Studium
      • Sommersemester 2025
      • Wintersemester 2024/2025
      • Abschlussarbeiten
    • Service
      • Bibliothek
      • Mailinglisten
      • Webmail
      • Knowledgebase
      • Wiki
      • Account Management
      • Service-Status
    • Spin-Offs
      • Docoloc
      • bliq (formerly AIPARK)
      • Confidential Technologies
    • Forschungsverbünde
      • IST.hub

Softwareentwicklungspraktikum: Implementierung eines Subsets der BusyBox Unix-Systemprogramme für Embedded Linux in Rust

Semester
Sommersemester 2025
StudiengängeInformatik Bachelor, Informations-Systemtechnik Bachelor
IBR GruppeVSS (Prof. Dietrich)
ArtTeamprojekt
Dozent
Photo
Prof. Dr.-Ing. Christian Dietrich
Abteilungsleiter
dietrich[[at]]ibr.cs.tu-bs.de
+49 531 3913294
Raum 135
Assistent
Photo
Dr. Sören Tempel
Wissenschaftlicher Mitarbeiter
tempel[[at]]ibr.cs.tu-bs.de
+49 531 3913292
Raum 114
LP7
SWS0+6
Ort & Zeit TBA
SpracheGerman, English on request
Scheinerwerb TBA
Anmeldung TBA

Motivation

Einführung: BusyBox ist eine quelloffene Implementierung der Standard Unix Systemprogramme (ls, grep, find, …) für das Linux Betriebssystem. Im Gegensatz zu den GNU coreutils, welche die Implementierung dieser Programme unter Linux Desktopsystemen bereitstellt, ist BusyBox stark optimiert auf eine kleine Binärgröße und damit vor allem für Embedded Linux geeignet. Aufgrund der Spezialisierung für diesen Anwendungsbereich ist BusyBox auch stark konfigurierbar, einzelne Programme und Features können—je nach Anwendungsbereich—aktiviert oder deaktiviert werden, um die Größe weiter zu reduzieren.

Problemstellung: Um die verfügbaren Systemresourcen möglichst effizient zu nutzen, ist BusyBox in der C Programmiersprache geschrieben. Diese Programmiersprache ermöglicht eine sehr systemnahe Programmierung, hat allerdings den Nachteil, dass verschiedene Sicherheitsgarantien, die wir von modernen Programmiersprachen kennen (z.B. Memory Safety) nicht gewährleistet sind. Daher finden sich in BusyBox immer wieder sicherheitskritische Schwachstellen (z.B. Buffer Overflows), die auf Probleme der C Programmiersprache zurückzuführen sind. Solche Schwachstellen sind besonders kritisch im Bereich der eingebetteten Systeme, wo Updates seltener und schwieriger eingespielt werden können.

Das SEP richtet sich an Studierende mit Interesse an Betriebssystemen und systemnaher Programmierung.

Aufgabe

Um die beschriebenen Probleme grundlegend zu verhindern, wollen wir ein Subset von BusyBox in Rust implementieren. Rust ist eine neuartige Programmiersprache für systemnahe Programme die, im Vergleich zu C, verschiedene Sicherheitsfeatures bietet. Durch die Verwendung von Rust können verschiedene, potenziell sicherheitskritische, Programmierfehler (z.B. Buffer Overflows) ausgeschlossen werden.

Darüber hinaus bietet Rust verschiedene Abstraktionen, die wir von modernen Hochsprachen kennen, die aber in C nicht verfügbar sind, z.B. Iteratoren oder Algebraische Datentypen. Dies sollten die Implementierung und den Code, im Vergleich zu C, ungemein vereinfachen.

Umsetzung

Mit Rust soll ein vordefiniertes Subset der BusyBox Systemprogramme implementiert werden. Bezüglich des zu implementierenden Subsets sollen folgende Eigenschaften erreicht werden:

  1. Klein: Ähnliche Binärgröße wie ein BusyBox mit denselben Features.
  2. Konfigurierbar: Einzelne Features und Programme sollen deaktivierbar sein.
  3. Korrekt: Im Bezug auf die POSIX-Spezifikation → Testen gegen BusyBox!

Die genannten Eigenschaften sollen über kontinuierliche Tests per GitLab CI/CD sichergestellt werden (Tests, per-Commit Größenvergleich, …). Zum Abschluss des Projektes sollte es möglich sein ein initramfs mit der entstanden Implementierung auszustatten und damit ein Linux Kernel zu booten.

Weitere Information

Folgende Ressourcen bieten weitere Informationen zu den Technologien die in diesem Projekt verwenden werden:

  • Die BusyBox Webseite
  • Die Webseite der Rust Programmiersprache
    • Rust Kenntnisse werden nicht vorausgesetzt
    • Bei Interesse lohnt sich aber schon mal ein Blick ins Rust Buch
    • Siehe sonst auch: Die Learning Resources auf der Rust Webseite
  • Die POSIX.1-2024 Spezifikation
    • Der Standard bzgl. den oben genannten Unix Systemprogrammen
    • Wie gesagt: Hier soll nur ein Subset Implementiert werden
  • Die BusyBox Integration Test Suite

aktualisiert am 09.05.2025, 13:41 von System Account vss-deploy

Für alle

Stellen der TU Braunschweig
Jobbörse des Career Service
Merchandising
Sponsoring- & Spendenleistungen
Drittmittelgeförderte Forschungsprojekte
Vertrauenspersonen für Hinweisgeber

Für Studierende

Semestertermine
Lehrveranstaltungen
Studiengänge von A-Z
Informationen für Erstsemester
TUCard

Interne Tools

Status GITZ-Dienste
Handbuch für TYPO3 (Intern)
Corporate Design-Toolbox (Intern)
Glossar (DE-EN)
Meine Daten ändern
Hochschulöffentliche Bekanntmachungen

Kontakt

Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig
Postfach: 38092 Braunschweig
Telefon: +49 (0) 531 391-0

Anreise

© Technische Universität Braunschweig
Impressum Datenschutz Barrierefreiheit