OOStuBS - Technische Informatik II (TI-II)
2.4
|
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.
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
libc6-dev-i386
erweitert 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.
Je nach verwendetem Linux müssen noch einige Dateien angepasst werden.
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
.
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:
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
".
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.
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.
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.