Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Um auf einer beliebigen Maschine ein fbr zu übersetzen, stehen Docker-Images zur Verfügung.

Vorraussetzungen:

  • ein svn checkout 
  • installiertes docker
  • ausreichend Speicherplatz auf dem Wirtsystem

Nomenklatur:

Damit es ein wenig einfacher wird zu identifizieren was auf dem Host und was im Image passieren soll ein wenig farbliche Unterscheidung:

  • alles was Rot ist wird auf dem Host erledigt bzw. befindet sich auf dem Host
  • alles was Grün ist wir im Docker gemacht bzw. befindet sich im Docker

HauZu oder wie bekomme ich den Container ans laufen:

Das Image hat die Möglichkeit Verzeichnisse aus dem Wirtsystem zu mounten/mappen. Das sind im Moment:

  • /data/shared/fli4l/.fbr
  • /data/work

Auf diese Verzeichnisse lassen sich dann Verzeichnisse aus dem Wirt mappen.

Im Image gibt es einen User Namens "developer", es empfiehlt sich diesen zu nutzen.

Anlegen und starten des Containers:

docker run \
    --user="developer" \
    --name fbr \
    -v /home/schmetterling/.fbr:/data/shared/fli4l/.fbr \
    -v /home/schmetterling/fli4l/svn/branches/4.0/trunk:/data/work \
    -it \
    nettworksevtooling/fli4l-buildroot-container:latest \
    /bin/bash

Zur Erklärung hier einige Details und Informationen zum DockerAufruf:

  • --user="developer" ist der oben erwähnte User im Container / Image
  • --name fbr ist der Name den der Container bekommt (kann auch anders heißen)
  • -v /home/schmetterling/.fbr:/data/shared/fli4l/.fbr ist das erste Mapping (alles vor dem Doppelpunkt ist der Pfad auf dem Wirt, danach der im Container)
  • -v /home/schmetterling/fli4l/svn/branches/4.0/trunk:/data/work das Zweite
  • -it startet den Container im interaktiven Modus (-i) und öffnet ein Pseudo-Terminal (-t)
  • nettworksevtooling/fli4l-buildroot-container:latest ist das Image, welches verwendet werden soll. Es wird automatisch von Dockerhub geladen und wird von uns dort gepflegt
  • /bin/bash was soll gemacht werden (hier also eine Commandline starten)


  • Auf das Verzeichnis wo das fbr hinterher liegen soll, muss der User im Container Schreibrechte haben (ich habe 777 gewählt)
  • Auf das Verzeichnis wo der Checkout liegt wenigstens Leserechte!

Der Developer-User im Container hat UID/GID 1011/1011.


Damit sollte dann nach kurzer Zeit der Container laufen...

Was noch zu tun ist:

man muß leider noch das .fbr Verzeichnis in das User Home linken:

cd ~
ln -s /data/shared/fli4l/.fbr .

danach sollte es /home/developer/.fbr geben.

FBR-Bau starten:

natürlich im Docker...

cd /data/work/src/packages/src/src/fbr
FBR_ARCH=x86_64 FBR_TIDY=n ./fbr-make world

damit baut es ein x86_64 FBR...

Das Ganze habe ich in einer Screen-Session laufen lassen, damit die Verbindung zum Host mal abreißen kann...

Jetzt braucht es nen Kaffee und ne Runde Geduld...


  • No labels