Dies ist eine alte Version des Dokuments!


inf3b (2016)

Dieses VirtualBox Image wird für den Bachelor-Kurs InI 3 Betriebssysteme im Herbstsemester 2016 eingesetzt.

Betriebssystem Ubuntu Server 16.04 (x86_64)
Benutzer ntb
Passwort ntb
Systemsprache Englisch
Inst. Software KDE Plasma Desktop, VirtualBox Gasterweiterungen, GCC, Make, CMake, Git, SVN, Kernel-Headers, Cross Toolchain
Erstellt mit Virtualbox 4.3.28

Das inf3b-Image kann unter \\fs004\inf\001_public-programme\VMs\VirtualBox\inf3b2016 heruntergeladen werden.

Installationsanleitung

  1. VirtualBox starten:
    • für Klassenzimmer PC:
      Start → Alle Programme → Tools → Virtuelle PC → Oracle VM VirtualBox
    • für private PC:
      Installation der VirtualBox sowie dem Extension Pack von http://www.virtualbox.org
      VirtualBox starten, typischerweise: Start → Alle Programme → Oracle VM VirtualBox → Oracle VM VirtualBox
  2. Einstellungen ändern:
    • für Klassenzimmer PC:
      Damit die VM am gewünschten Ort abgelegt wird, ist der voreingestellte Pfad für VMs anzupassen. Dies geschieht im Oracle VM VirtualBox Manager unter Datei → Globale Einstellungen… → Allgemein → Voreingestellter Pfad für VMs. Standardmässig ist dieser Pfad auf C:\Users\<username>\VirtualBox VMs eingestellt. Dieser Pfad ist auf einen Pfad auf dem D-Laufwerk zu ändern, zum Beispiel D:\work\vbox.
    • für private PC:
      Je nach persönlichem Wunsch, falls eine Datenpartition vorhanden ist, empfiehlt es sich, den Pfad dort hin zu setzen, da die virtuellen Festplatten Dateigrössen von einigen GB erreichen können.
  3. VM einbinden:
    VM-Archiv (inf3b2016.ova) vom oben angegebenen Server herunterladen und lokal speichern, zum Beispiel unter D:\work\vbox. Im Oracle VM VirtualBox Manager unter Datei → Appliance importieren… → Auswählen… vorher heruntergeladenes .ova-File auswählen und importieren.
  4. Ordner für Datenaustausch:
    Im Windows unter M:\eigene_dateien (oder unter D:\) einen Ordner mit einem beliebigen Namen erstellen. In VirtualBox unter Gemeinsame Ordner den Pfad auf den vorhin erstellten Ordner ändern (dabei den Unterordner share nicht ändern!). Um den Ordner zu mounten, kann in der VM das Script (mount-share.sh) im Home-Verzeichnis ausgeführt werden. Alternativ empfiehlt sich die Verwendung eines Versionsverwaltungssystems wie Subversion, Git o.ä. In Eclipse ist zum Beispiel Subclipse installiert für die Verwendung von SVN mit Eclipse.
  5. VM starten:
    Gewünschte virtuelle Maschine markieren und über die Schaltfläche „Start“ starten.
  6. Erste Schritte:
    Während dem Booten werden einige Meldungen von VirtualBox angezeigt. Diese informieren Sie darüber welches Ihre Host-Taste ist. Durch Setzen der Checkbox können Sie weitere Meldungen unterdrücken. Die VM wird automatisch im Vollbild Modus gestartet. Sie können diesen verlassen in dem Sie <Host> + F drücken. Standardmässig ist die Host-Taste übrigens die rechte Ctrl-Taste.

NTB-Verzeichnisse

Das M-Laufwerk wird über ein Script (mount-m.sh) gemountet, welches sich im Home-Verzeichnis befindet. Beim ersten Mal wird nach dem Benutzernamen gefragt. Der Benutzername wird dann in ein Text-File geschrieben (m-user.txt).

Achtung:
Lokale Dateien in der virtuellen Maschine sind prinzipiell für jeden zugreifbar, der die Maschine startet. Ausserdem ist nicht garantiert, wie lange die Daten auf Laufwerk D der Klassenzimmer PCs überleben. Sichern Sie daher Ihre Arbeit unbedingt auf Ihrem M-Laufwerk oder auf einem Versionsverwaltungsserver.

Hinweis:
Windows verhindert, dass Sie aus der virtuellen Maschine heraus einen direkten Unterordner in M:\eigene_dateien erstellen können. Erstellen Sie deshalb einen Ordner für den Datenaustausch wie oben beschrieben bevor sie die VM starten.

Hinweis:
Die VirtualBox simuliert die Shared Folders als normale Festplatten. Aus diesem Grund gehen einige Programme in Linux (z.B. gedit) davon aus, dass die Reaktionszeiten wesentlich kürzer sind als die typischen Reaktionszeiten für Netzlaufwerke. Dies führt dazu, dass diese Werkzeuge nicht direkt in die Shared Folders schreiben können und Fehlermeldungen ausgeben. Um mit diesen Werkzeugen arbeiten zu können, empfiehlt es sich im Homeverzeichnis /home/ntb/work zu arbeiten und dann den eigenen Arbeitsstand als Datensicherung auf die Shared Folders zu kopieren.

Zoom Entwicklungsumgebung

Im Ordner /home/ntb/zoom gibt es Linux Sourcen und die Toolchain für das Zoom Board. Es gibt ein Script mit dem die Umgebungsvariablen gesetzt werden können:

$ source env.sh

Kernelmodule

Ein Kernel-Modul kann mit folgendem Makefile kompiliert werden:

obj-m += kernel-module-name.o

all:
	make -C $(WD)/linux/ M=$(PWD) modules

clean:
	make -C $(WD)/linux/ M=$(PWD) clean

Userspace Anwendungen mit CMake

Beim Generieren der Makefiles mit CMake muss das Buildroot-Toolchain-File angegeben werden:

$ cd user/space/app/directory
$ mkdir build
$ cd build
$ cmake -DCMAKE_TOOLCHAIN_FILE=$WD/buildroot-toolchain/share/buildroot/toolchainfile.cmake ..