GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kein /proc in einer Busybox-basierten eingebetteten Linux-Distribution

Nach Initialisierung und Mounten des Root-Dateisystems startet Linux /sbin/init die mit den Initialisierungen des Benutzerbereichs fortfährt, einschließlich des Mountens von /proc

Höchstwahrscheinlich Ihre rcS oder welche Konfiguration auch immer init reads tut das nicht, und Sie müssen es ihm mitteilen.

Wenn Sie einen Shell-Prompt haben, können Sie /proc einhängen manuell mit:

mount -t proc p /proc

Beachten Sie, dass der /proc Verzeichnis muss existieren, bevor Sie dort etwas einhängen können. Sie sollten es in Ihr Root-Image aufnehmen.


2) ist sehr wahrscheinlich wegen 1) - ps verwendet /proc um Informationen über laufende Prozesse zu erhalten.

1) liegt entweder daran, dass die Initialisierung dies nicht erwartet, oder daran, dass sie dies nicht tut. Überprüfen Sie, was die Verteilung angenommen ist to do on boot - wie das System hochgefahren werden soll.

Dinge, die Sie ausprobieren können:

  • Mounten Sie /proc , z. B.:mount -t proc proc /proc - Das zweite Argument ist willkürlich (es wird als Quelle des Mounts angezeigt). Überprüfen Sie, was mit PID=1

    läuft
  • /proc/cmdline einchecken welche Parameter Ihr Kernel beim Booten erhält. Wenn es init=... enthält Sie müssen es möglicherweise ändern, z. /sbin/init oder entfernen Sie es, damit der Kernel versuchen kann, die selbst auszuführende Init aufzulösen. Sie müssen dies in der Bootloader-Konfiguration tun (für R-Pi befindet sich dies in einer Textdatei auf der SD-Karte IIRC).

  • Überprüfen Sie, ob die gewünschte ausführbare Init-Datei existiert - Busybox hat normalerweise Tonnen von symbolischen Links, die auf seine Binärdatei zeigen, so dass man command [args] verwenden kann statt busybox command [args] . Diese fehlen Ihnen möglicherweise.


Linux
  1. Untersuchen des Linux /proc-Dateisystems

  2. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  3. Wie ändere ich Mount-Punkte?

  4. Linux – Zusammenführen von /usr/bin und /usr/sbin in /bin (gnu/linux)?

  5. Verständnis von Linux /proc/id/maps

Eine Anleitung zum Dateisystem „/proc“ unter Linux

/proc/cpuinfo- und /proc/meminfo-Dateien unter Linux

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

Wie erhalte ich den Pfad eines Prozesses in Unix / Linux

linux /proc/loadavg

Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?