Vorschlag Devman Filesystem Struktur

Auf Embedded Systemen (MicroIOC, SCU, zukünftig auch PPC) hat das Grundsystem die Aufgabe das System zu booten, eine Netzwerkverbindung aufzubauen und einen SSH Zugang bereitszustellen. Die eigentliche Applikation wird per NFS nachgeladen. Um in einer solchen Umgebung einen Devman laufen zu lassen, hier ein Vorschlag wie man das Dateisystem für eine solche Applikation aufbauen kann.

NFS Server

$BASE /common/usr/export Basisverzeichnis für alle Applikationen
$APP devacc Eine Applikation
$ARCH i386, ppc, x86_64, noarch Prozessor Architektur

/common/usr/export/devacc/ppc/eqp/bc/bc.so.17.09.02.00
-> $BASE/$APP/$ARCH/eqp/bc/bc.so.17.09.02.00

/common/usr/export/devacc/i386/eqp/gpib/gpib.so.17.09.02.00
-> $BASE/$APP/$ARCH/eqp/gpib/gpib.so.17.09.02.00

/common/usr/export/devacc/i386/sys/devman/17/devman
$BASE/$APP/$ARCH/sys/devman/17/devman

Für jeden Frontend Computer existiert ein für diesen Host spezifisches Verzeichnis. Hier befinden sich Konfigurationsdateien und symbolische Links zu den auf diesem Host zu verwendenden Programmen und Bibliotheken

/common/usr/export/devacc/local/kp1ci04
   kp1ci04.dbs
   gpib.so           -> ../../i386/eqp/gpib/gpib.so.18.09.00.00
   library           -> ../../i386/sys/devman/18

Frontend Computer

FEC = Front End Computer = Embedded System = MicroIOC, SCU, CPU87, etc.

Ein Frontend Computer mounted den kompletten Applikationsordner.

fec:/opt/devacc  = blade:/common/usr/export/devacc

und ein Startscript fuehrt dann in etwa folgendes aus
cd /opt/devacc/local/$(hostname) && ./library/devman

Offen

Zusaetzlich die pfade /opt/acc/cpu, /opt/acc/sys, /opt/acc/eqp als symlink in der Ramdisk generieren. So koennen User die die "alten" Pfade kennen ihre Dateien wiederfinden (--> Rufbereitschaften)

Einführen eines Bereich-Verzeichnisses zwischen $BASE und $APP. Also z.B. /comm/usr/export/acc/devman bzw /common/usr/export/sd/beamview. Dies ermöglicht eine Unterscheidung in den Zugriffsrechten. Alternativ hierzu wäre eine seperate Basis für die Bereiche. Die Anzahl der Applikationen ist derzeit eher gering, man kann die Rechte auch per Applikation setzen.

Wie sieht der NFS export von $BASE aus? Es wird nur read-only exportiert. Root Squash ist aktiv. Sollte man noch ein Squash aller IDs auf eine frontend-id (z.B. 1000) durchfuehren? Die Benutzer-IDs sind auf den frontends nicht bekannt und daher koennt man die damit alle squashen. Die Ids sollen auf dem Frontend sichtbar sein, damit erkannt werden kann wer ein Geraetmodell releast hat. macht aber erst richtig sinn wenn auf den Frontends auch die Zuordnung Uid -> Name existiert. Dann muss pam und pam_ldap auf den Frontends installiert und konfiguriert sein.

Man kann auch blade:/common/usr/export/devacc irgendwo unter /media/nfs mounten und dann /opt/devacc als symlink auf /media/nfs/local/hostname setzen. Das funktioniert, wenn man aber auf die relativen symlinks schaut bekommt man einen Knoten im Kopf.

This topic: Frontend > PPCDevelopments > DevmanEmbedded
Topic revision: 18 Aug 2011, UnknownUser
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback