OOStuBS - Technische Informatik II (TI-II)  2.4
Enwicklungsumgebung

Inhaltsverzeichnis

Als Entwicklungsumgebung wird Linux in Form von einer 32- oder 64-Bit Variante vorgesehen. Es gibt in den Vorgaben auch die Möglichkeit für MacOSX und Windows mit CygWin , diese sind zwar getestet werden aber beide nicht unterstützt. Sollten Fehler auftreten, so können zwar die Übungsleiter gefragt werden, wir garantieren aber weder, dass die Lösungen laufen, noch dass wir immer bei Problemen helfen können. Jeder der eine der beiden Umgebungen nutzt muss notfalls selber eine Lösung für seine Probleme finden.

Auf den Rechnern im Labor ist Ubuntu vorinstalliert und kann entsprechend genutzt werden. Wer auf seinem privaten Rechner nur Windows installiert hat, kann entweder zusätzlich ein Linux wie Ubuntu installieren, oder in einer Virtuellen Umgebung ein Linux installieren.

Achtung
Fehlgeschlagene Installationen auf dem privaten Rechner werden nicht als Ausrede für eine verspätete Abgabe akzeptiert.

Umgebung der Betriebssystementwicklung

Es gibt eine Vielzahl von Linux Distributionen und somit eine Vielzahl von möglichen Installationsvarianten. Aus diesem Grund wird die Aufsetzung der Entwicklungsumgebung anhand von Ubuntu 12.10 gezeigt. In anderen Distributionen läuft dies ähnlich ab, nur sind dann unter Umständen andere, mehr oder weniger Pakete zu installieren.

In Ubuntu wird eine Konsole geöffnet. Im Anschluss wird folgendes eingegeben:

sudo apt-get install build-essential gcc g++ gdb binutils make doxygen graphviz patch qemu
cd [Ordner]
wget [Archiv-Adresse]
tar xvfz [Archiv-Name].tar.gz
Zu beachten
Bei 64-Bit Ubuntu muss die apt-get-Zeile um libc6-dev-i386 erweitert werden.
Warnung
Die Installation der Pakete erfordert i.d.R. root-Rechte und muss nur bei neuen Installationen durchgeführt werden. Auf den Computern im Labor ist bereits alles notwendige installiert. Die Zeile kann dort also weggelassen werden.

Dabei muss [Ordner] mit dem Ordner ersetzt werden, in dem OOStuBS liegen soll. [Archiv-Adresse] ist die Adresse zum Archiv auf der Webseite, in dem die Vorgabe liegt. [Archiv-Name] ist dann der Name des heruntergeladenen Archivs, ohne Endung. Die Endung müsste ".tar.gz" sein.

OOStuBS bauen

Je nach verwendetem Linux müssen noch einige Dateien angepasst werden.

Makefile

In der Makefile unter PLATFORM muss das Betriebssystem unter dem entwickelt wird spezifiziert werden. Unter einem 32-Bit Linux ist es linux und unter 64 Bit entsprechend linux64.

# one of linux, linux64
# the platforms osxcross and windows are also possible but are not supported
PLATFORM=linux

misc/[PLATFORM]/config.mk

Unter dem Ordner misc sind die einzelnen Konfigurationen abgelegt. Im Unterordner der gewählten Plattform gibt es eine Datei config.mk. Diese speichert welche Dateien vorhanden sind. Bei QEMU gibt es ab und zu das Problem der Bezeichnung des Programms. In der Konfigurationsdatei gibt es eine Zeile, die mit EMU anfängt:

EMU=qemu-system-i386

Diese muss u.U. auf die richtige QEMU-Datei umgeschrieben werden. Dies hängt definitiv vom System ab. Unter Gentoo ist es z.B. "qemu-kvm".

OOStuBS bauen

Zum Bauen von OOStuBS muss zuerst die Plattform in der Datei Makefile des Hauptordners festgelegt werden. In der Zeile mir "PLATFORM=" muss entweder "linux" bei 32 Bit oder "linux64" bei 64 bit eingetragen werden. Danach kann das Betriebssystem mit der folgenden Zeile in der Konsole (im Hauptordner) gebaut werden:

make

Soll die Dokumentation gebaut werden, so ist folgendes einzugeben:

make doc

Um wieder aufzuräumen ist folgendes einzugeben:

make clean

Dies entfernt sowohl die gebauten, ausführbaren Dateien, als auch die Dokumentation. Soll nur die Dokumentation entfernt werden, so kann statt clean cleanDoc verwendet werden. Sollen die Objektdateien weg, so kann stattdessen cleanBuild verwendet werden.

OOStuBS testen und debuggen

Dank dem Emulator QEMU kann OOStuBS relativ leicht ausgeführt und debuggt werden. Mit

make run

kann OOStuBS ausgeführt werden. Es öffnet sich ein neues Fester - QEMU - in dem dann das entwickelte Betriebssystem läuft.

Liegt ein Fehler vor, so kann mit

make debug

debuggt werden. Dabei startet sowohl das QEMU-Fenster, als auch gdb in der Konsole. Das System wird dabei gleich angehalten, so dass gleich mit der Arbeit begonnen werden kann.

OOStuBS an echter Hardware testen

Um das Betriebssystem auf einem echten Computer zu testen, muss zuerst ein USB-Stick bootfähig gemacht werden. Als Bootmanager bieten sich GRUB oder Syslinux an. Für letzteres gibt es in der Windowsanleitung eine beschriebene Vorgehensweise, die in leicht abgewandelter Form auch unter Linux funktioniert.