Unser Linux-Kernel 2.6.31 läuft auf einem eingebetteten MIPS-Prozessor mit Busybox.
Das Initialisierungsskript (rcS) startet mdev mit:
echo "/sbin/stbhotplug" > /proc/sys/kernel/hotplug
mdev -s
Kann mir jemand sagen, was das Linux-Dienstprogramm mdev macht?
Es sieht so aus, als würde es automatisch Hot-Plugging durchführen, da der stbhotplug ein Skript ist, das Ethernet-Schnittstellen handhabt.
Außerdem hat das Rootfs, das wir erhalten haben, nur ein Konsolengerät, dh es /dev/console
ist die einzige Datei in /dev
.
Wenn das System ausgeführt wird, ist das /dev
Verzeichnis jedoch voll mit Gerätedateien (z /dev/mtd
. B. usw.).
Der Grund, den ich frage, ist, dass wir gelegentlich einen Fehler erhalten, bei dem gemeldet wird, dass er /dev/ubi_ctrl
nicht oder /dev/ubi1
nicht gefunden wurde.
Wie oder wann erstellt Linux diese Geräte?
Vielen Dank.
quelle
/dev
also keine Geräte erstellt werden, kann dies ein Problemmdev
oder ein Zeitproblem sein?mdev
mknod
erfordert grundsätzlich eine Reihe vorkonfigurierter Gerätedateien.Wenn Sie eine Wahl haben, verwenden Sie stattdessen:
Dadurch wird das spezielle Dateisystem devtmpfs automatisch unter bereitgestellt
/dev
, und Module können automatisch ihre eigenen Gerätedateien erstelleninsmod
, wie unter /programming/5970595/how-to-create-a-device-node-from gezeigt -der-Init-Modul-Code-eines-Linux-Kernel-Moduls / 45531867 # 45531867Dies ist, was Buildroot und die meisten Distributionen derzeit standardmäßig tun.
quelle