Intern
    Lehrstuhl für Informatik VIII - Informationstechnik für Luft- und Raumfahrt

    Rodos VM Installation

    Die Universität Würzburg bietet zum einfachen Einstieg eine virtuelle Maschine (Rodos IDE) an, in der alle notwendigen Programme und Sourcedateien bereits fertig installiert sind um direkt mit der Programmierung für RODOS zu beginnen.

    Alternativ können Sie Rodos auch unter Windows mit WSL nutzen, Anleitungsvideos dazu finden Sie im folgenden Youtube-Kanal.

    Die unten stehende Anleitung zum VM Setup können Sie auch als PDF hier herunterladen.

    Vorbereitung

    Bitte laden Sie die VM und die Dokumentation aus dem RodosVM gitlab Projekt  herunter.

    Anschliessend müssen Sie das VM Image noch entpacken (z.B. mit  7zip).

    Installation VirtualBox

    1. Download VirtualBox in der Version 4.3.16 oder höher von https://www.virtualbox.org/wiki/Downloads.
    2. Installation von VirtualBox.
    3. Download des VirtualBox Extension Packs von https://www.virtualbox.org/wiki/Downloads. Dabei muss darauf geachtet werden, dass die Versionsnummer der VirtualBox Extensions mit der der VirtualBox übereinstimmt.
    4. Installation des VirtualBox Extension Packs durch Doppelklicken auf die Datei des Extension Packs mit der Endung "*.vbox-extpack".

    Linux-Hosts: die Open-Source virtualbox-host-module Expansion packs, die über diverse Package Manager installiert werden können, können leider nur USB 1.0 weiterleiten. Für USB 2.0 | 3.0 Weiterleitung braucht man den Oracle Extension Pack (Downloaden &  per bash mit sudo VBoxManage extpack install  --accept-license=sha256 </Pfad/zum/ExtensionPack/ExtensionPackName> installieren)

    Erstellen und Einrichten der RodosVM

    VM Erstellen

    1. VirtualBox öffnen.
    2. In VirtualBox auf [New] klicken, um eine neue VM zu erstellen.
    3. Im sich daraufhin öffnenden Fenster für "Name and Operating System", Folgendes eingeben/auswählen:
      1. Name:      RodosVM
      2. Type:        Linux
      3. Version:   Ubuntu (64-Bit)
      4. [Next>] klicken.

    Screenshot 01

    4. Im Fenster "Memory size"

    1. mindestens 2GiB (2048MiB) Arbeitsspeicher wählen.
    2. Auf [Next>] klicken.

    Screenshot 02

    5. Im Fenster "Hard disk":

    6. Im Fenster "Hard Disk Selector":

      1. links oben auf [Add] klicken
      2. im Dateimenü zum entpackten VirtualBox-Image navigieren
      3. [Open] klicken
      4. Zurück im "Hard Disc Selector" Fenster sollte jetzt das Image angezeigt werden & markiert sein
      5. [Choose] klicken

    Screenshot Hard Disk Selector

    7. Zurück im Fenster "Hard disk" auf auf [Create] klicken.

    Snapshot Create VM

     

    VM Einrichten

    Jetzt bitte auf [Settings] klicken, und in den Untermenüs die folgenden Einstellungen vornehmen:

    1. General / Advanced: Shared Clipboard "Host to Guest" aktivieren

    2. System / Processor: bei Processors  1 CPU auswählen / lassen.

    3. Display / Screen: VideoMemory auf 128MB setzen

    4. Shared Folders

    1. rechts oben auf das kleine Ordnersymbol mit dem Plus klicken, dann im Add share Fenster:
      1. Folder Path-Dropdown: Other...
      2. jetzt öffnet sich ein Dateimenü, hier einen Ordner auswählen oder neu anlegen und [Ok] klicken
      3. Box bei Auto Mount anklicken
      4. [Ok] klicken

    5. USB: Bei Entwicklung für Hardware-Targets, wie Discovery Board, Gecko, etc müssen die entsprechenden USB Ports an die VM weitergereicht werden. Dazu können vorab Device-Filter eingerichtet werden (siehe nächster Abschnitt).   
    Bei einer laufenden VM können Sie einfach über das VirtualBox Devices-Menü erledigen. Aktivieren Sie unter Devices > USB das gewünschte Device.Screenshot: Durchleiten eines per USB verbundenen DiscoveryBoards bei laufener VM.

     

    USB Filter für STM32F4 einrichten (optional)

    Überprüfen Sie ob der USB-Filter für das Discovery Board STM32F4 vorhanden ist.

    1.  Im Menüpunkt USB (2) sollte ein Filter "STMicroelectronics STM32 STLink [0100]" vorhanden sein. Ist er Filter nicht vorhanden, muss er angelegt werden.
    2. Über den Button (3) auf der rechten Seite kann ein neuer Filter hinzugefügt werden.
    3. Über den Button (4) können die Einstellungen angepasst werden.
    4. Wichtig sind dabei die folgenden Einstellungen:
      1. Hersteller-ID: 0483
      2. Produkt-ID: 3748

     

    VirtualBox Guest Additions neu Installieren (optional)

    Die VM kommt zwar mit vorinstallierten Guest Additions, diese funktionieren aber evtl. nicht gut mit Ihrer Version von VirtualBox. Das merken Sie daran, wenn z.B. die Shared Folders oder das Copy & Paste zwischen Host und Gastsystem nicht funktionieren.

    In diesem Fall sollten Sie die Guest Additions nochmal neu Installieren. Wir haben ganz unten auf dieser Seite eine Anleitung dazu hinterlegt.

     

    Wichtige Einstellungen innerhalb der RODOS IDE

    Benutzer:

    Rodos IDE User

    Passwort:

    rodos2020

    Sudo-Passwort:

    rodos2020

    Verzeichnis des RODOS Quellcodes:

    /home/user/rodosTemplate/rodos

    Beispielprojekt für Linux:

    /home/user/eclipse-projects/rodosTemplate

    Bauen und Ausführen des Rodos-Beispiels

    in Eclipse

    Um den Einstieg in die Rodos-Programmierung so einfach wie möglich zu gestalten, haben wir ein Eclipse Projekt für eine minimale Rodos-Anwendung erstellt.

    Das Beispiel liegt unter /home/rodos/eclipse-projects/rodosTemplate.
    Auf dem Desktop der VM auf den Link zu Eclipse klicken, daraufhin öffnet sich die IDE mit dem Rodos Beispielprojekt "MyRodosApp".

    Ein Klick auf das Hammer-Symbol links oben startet die Kompilierung, zuerst werden die Rodos Libraries gebaut und anschliessend der Beispielcode.

    In der Standardeinstellung wird das Projekt für Linux gebaut, so dass es direkt in der VM ausgeführt werden kann.

    Screenshot: Klick auf das Build Symbol

    In der Console (unten mitte) wird die Ausgabe des Build Programms (cmake und make) ausgegeben und im Project Explorer (links) ist nach dem erfolgreichen build die Executable "MyRodosApp" unter rodosTemplate/build-linux/ sichtbar.

    Screenshot: Ansicht nach erfolgreichem Build

    Klicken Sie auf die "Run" Button mit dem grünen Play-Zeichen rechts neben dem "Build" Button,  um die gebaute Executable auszuführen.

    Die Ausgaben des Laufenden Programms sehen Sie in der Console unten.

     

    Rodos auf der Kommandozeile Bauen

    Sie haben zwei Möglichkeiten Rodos auf der Kommandozeile zu bauen:

    Bauen mit den Rodos Build Scripts

    1. Öffnen Sie ein Terminal
    2. Clonen Sie Rodos aus dem Gitlab aus:  git clone gitlab.com/rodos/rodos.git
    3. Wechseln Sie ins rodos verzeichnis: cd rodos
    4. Mit dem Befehl ls können sie sich den Inhalt des Verzeichnisses anzeigen lassen.
    5. Sourcen Sie das im Rodos Verzeichnis liegende setenvs-Script: source ./setenvs.sh
    6. Jetzt sollten Sie die Rodos Libraries für Linux  bauen können: rodos-lib.sh linux-x86

    Wenn die Libraries bauen, ist alles richtig eingerichtet.

    Rodos Executable bauen:

    Als Nächstes  können Sie beispielsweise das HelloWorld.cpp aus den Tuturials mit folgendem Befehl bauen: rodos-executable.sh linux-x86 ../tutorials/10-first-steps/helloworld.cpp

    Die Syntax ist:  rodos-executable.sh <Zielarchitektur> <Pfad zur cpp>

     

    Bauen mit CMake

    Ist sehr gut hier erklärt https://gitlab.com/rodos/rodos/-/blob/master/README-cmake.md

     

    Videoanleitungen

     

    VM Troubleshooting

     VirtualBox zeigt in der Auswahl keine 64bit-Versionen der Gastbetriebssysteme an:

    1. Virtualisierung im BIOS / UEFI nicht eingeschaltet → ins bios/uefi booten, dort die Option VT-x suchen und aktivieren. → Anleitung

    2. Hyper-V stört → es Ausschalten,  Anleitung

    3. Probleme mit VirtualBox >= 6.1 auf älteren PCs,  die neueren Versionen unterstützen keine Software Virtualization → eine ältere Version nutzen   ältere Version

     

    "Cannot register the hard disk 'C:\vm\[...] because a hard disk 'C:\vm\rodos\Xubuntu 18.04.3 (64bit).vdi' with UUID {a1457371-c6c4-4690-8383-ee4d757847de} already exists."

    Sie haben bereits eine VM die ein Harddisk-Image mit demselben Namen verwendet → entweder die ältere VM löschen oder eines der beiden Images umbenennen

     

    VirtualBox meldet beim Versuch die VM zu starten "kann keine weitere Sitzung öffnen"

    1. Virtualization im BIOS / UEFI nicht eingeschaltet? → ins bios/uefi booten, dort die Option VT-x suchen und aktivieren,  Anleitung
    2.  ( Warum auch immer ) → VM rauswerfen & neu erstellen hilft manchmal

     

    Nach dem Start der VM erscheint nur ein blinkender Cursor / der Bootmanager und danach ein blinkender Cursor:

    1.  Probleme mit WSL und/oder Hyper-V → wsl und Hyper-V deaktivieren oder deinstallieren :  how to turn of Hyper-V , how to turn of WSL
    2. Virtualisierung im BIOS / UEFI nicht eingeschaltet → ins bios/uefi booten, dort die Option VT-x suchen und aktivieren ,  Anleitung
    3. Beides  →  Anleitung für beide Probleme auf HowtoGeek

     

     Ich habe einen Linux PC und sehe meine USB Devices nicht in der VM / habe keine USB 2.0 | 3.0 Weiterleitung in der VM

    Einige Open Source virtualbox-host-module ExpansionPacks, die in den meisten Packetmanagern bereitgestellt werden, können nur USB 1.0. weiterleiten. Sie brauchen den original Oracle Expansion Pack (siehe Vorarbeiten).

    Einfach manuell herunterladen & dann Installieren. Das Installieren geht z.B. mit folgendem Bash Befehl: sudo VBoxManage extpack install  --accept-license=sha256 </Path/to/ExtensionPack/ExtensionPackName>

     

    Die Shared Folders / Copy & Paste zwischen Host and Gast funktionieren nicht!

    Die VM kommt zwar mit vorinstallierten Guest Additions, diese funktionieren aber evtl. nicht gut mit Ihrer Version von VirtualBox. In diesem Fall sollten Sie die Guest Additions nochmal neu Installieren (siehe nächster Abschnitt).

     

    Clang wird nicht gefunden!

    In manchen Versionen der Rodos-VM muss clang erst installiert werden.  (Sorry!)

    Geben Sie dazu den folgenden Befehl im Terminal ein: sudo apt-get install clang

     

    VirtualBox Guest Additions neu installieren

    1. Wenn die VM läuft, klicken Sie auf  [Devices] > [Insert Guest Additions CD image]

    2. Virtualbox wird dann fragen, ob es das guest additions image herunterladen soll.

    Klicken Sie auf  [Download]

    3. Manchmal müssen Sie den Download ein zweites Mal bestätigen.

    Klicken Sie auf  [Download]

    Nachdem VirtualBox das Guest Additions CD Image heruntergeladen hat, wird es automatisch gemountet und ist dann auf dem Desktop der VM sichtbar.

    Doppelklicken Sie darauf, um den Ordner mit den Installationsskripten zu öffnen.

    5. Jetzt sollte der Inhalt dem Images im  File Manager angezeigt werden.

    Rechtsklicken Sie in das File Manager Fenster und wählen Sie  [Open Terminal Here]  im Dropdown Menü.

    6. Starten des Installationsskripts:

    1. Klicken Sie ins Terminal und geben Sie das folgende Kommando ein: sudo ./autorun.sh

      drücken Sie dann  [RETURN].

    2. Wenn Ubuntu Sie nach Ihrem sudo-Passort fragt, tippen Sie: rodos 2020

      drücken Sie dann  [RETURN].

    3. Jetzt sollte ein Konsolenfenster aufgehen, dass den Output des Installationsskripts anzeigt.

      Warten Sie, bis das Installationsskript komplett durchgelaufen ist.

    screenshot of terminal commands and installation output

    7. Fahren Sie die VM komplett herunter.

    Wenn Sie die VM das nächste Mal starten, sollten die shared folders and copy & paste funktionieren.