Erstellen der Gerätedateien mit Make_devices-1.2

Das Make_devices Paket enthält ein Skript zum Erzeugen von Gerätedateien.

Approximate build time:  1 SBU
Required disk space:     160 KB

Make_devices ist abhängig von: Bash, Bzip2, Coreutils.

Erstellen von Gerätedateien

Beachten Sie, dass beim Entpacken von make_devices-1.2.bz2 kein neuer Ordner erstellt wird, in den Sie wechseln könnten, da das Paket nur ein Shell-Skript enthält.

Installieren Sie das Skript make_devices:

bzcat make_devices-1.2.bz2 > /dev/make_devices
chmod 754 /dev/make_devices

Gerätedateien sind spezielle Dateien: Sie können Daten erzeugen oder empfangen. Üblicherweise gehören sie zu einem physikalischen Teil Hardware. Gerätedateien können mit dem folgenden Kommando erzeugt werden: mknod -m mode name type major minor. In diesem Kommando entspricht mode den oktal angegebenen Rechten (Lesen/Schreiben/Ausführen), und name ist der Name der zu erzeugenden Gerätedatei. Es mag überraschend erscheinen, aber der Name der Gerätedatei ist frei wählbar, abgesehen davon, dass viele Programme sich darauf verlassen, dass Gerätedateien wie /dev/null ihren üblichen Namen besitzen. Die drei verbleibenden Parameter teilen dem Kernel mit, welches Gerät die Datei denn nun tatsächlich referenziert. type ist ein Buchstabe, entweder b oder c, und gibt an, ob das Gerät in Blöcken (wie zum Beispiel Festplatten) oder zeichenweise angesprochen wird (wie z. B. die Konsole). major und minor sind Nummern, die zusammen einen eindeutig identifizierbaren Kode für das Gerät ergeben. Eine Liste der zur Zeit zugewiesenen Nummern für Linux finden Sie in der Datei devices.txt im Unterordner Documentation in den Kernelquellen.

Beachten Sie, dass eine Major/Minor-Kombinationen üblicherweise sowohl einem Block- als auch einem Zeichenorientierten Gerät zugeordnet ist. Es handelt sich jedoch um vollkommen unterschiedliche Geräte, die nicht einfach vertauscht werden können. Ein Gerät wird durch alle drei Werte type/major/minor identifiziert und nicht nur durch major/minor. Wenn Sie also eine Gerätedatei erstellen, achten Sie darauf, den korrekten Typ anzugeben.

Weil das Nachschlagen von Typ, Major- und Minor-Nummern mittels mknod eine typische Fehlerquelle ist, wurde das Skript make_devices erstellt. Es enthält eine komplette Serie von mknod-Kommandos; eines pro Gerät, inklusive empfohlenem Namen, Rechten und Gruppenzuordnungen. Es wurde so erstellt, dass nur die üblichen Geräte aktiviert sind. Die restlichen Zeilen sind auskommentiert. Sie sollten make_devices mit einem Editor öffnen und an Ihre Bedürfnisse anpassen. Dies braucht seine Zeit, aber es ist sehr einfach. Wenn Sie zufrieden sind, führen Sie das Skript aus, um die Gerätedateien anzulegen:

[Warnung]

Warnung

Ein Fehler beim Bearbeiten von make_devices (zum Beispiel bei der Anzahl der Partitionen) kann zu Fehlern beim Booten führen.

cd /dev
./make_devices

Falls Sie in „Einhängen der Dateisysteme proc- und devpts“ keine Schwierigkeiten mit dem Einhängen des Dateisystems devpts hatten, können Sie diesen Abschnitt überspringen und im nächsten Abschnitt weitermachen. Wenn Sie devpts nicht einhängen konnten, müssen Sie einige statische ptyXX und ttyXX Gerätedateien erzeugen. Dafür öffnen Sie make_devices in Ihrem Editor, suchen den Abschnitt „Pseudo-TTY masters“ und aktivieren einige ptyXX-Geräte -- eine Handvoll reicht, um die Testsuites zufriedenzustellen, aber wenn Sie einen Kernel ohne devpts-Unterstützung wünschen, brauchen Sie wahrscheinlich weitaus mehr (jedes xterm, ssh-Verbindung, telnet-Sitzung und so weiter benutzt ein Pseudo-Terminal). In dem direkt darauf folgenden Abschnitt „Pseudo-TTY slaves“ aktivieren Sie bitte noch die zugehörigen ttyXX-Geräte. Wenn Sie fertig sind führen Sie ./make_devices in /dev erneut aus, dadurch werden die neuen Geräte erzeugt.

Inhalt von Make_devices

Installiertes Skript: make_devices

Kurze Beschreibung

make_devices ist ein Skript zum Erzeugen der grundlegenden statischen Gerätedateien im Ordner /dev.