Der Kernel blieb beim Booten hängen und brachte die Meldung „Mounting misc binaryx format filesystem…“ Kein Fehler aber er machte eben nicht weiter.

Fehler beim Booten binary format skipped

binfmt_misc ist eine Funktion des Linux-Kernels, mit der beliebige ausführbare Dateiformate erkannt und an bestimmte User Space-Anwendungen wie Emulatoren und virtuelle Maschinen übergeben werden können. Es ist eines von mehreren Binärformat-Handlern im Kernel, die an der Vorbereitung eines User-Space-Programms für die Ausführung beteiligt sind .

Die ausführbaren Formate werden über die Dateisystemschnittstelle des Spezialdateisystems binfmt_misc registriert (normalerweise unter einem Teil von / proc bereitgestellt). Dies erfolgt entweder direkt durch Senden spezieller Sequenzen an die Datei register procfs oder mithilfe eines Wrappers wie Debian-basierten Distributionen binfmt-support package oder systemds systemd-binfmt.service

Mit dem Kernelmodul binfmt_misc, das in den Versionen 2.1.43 und höher des Linux-Kernels enthalten ist, können Systemadministratoren Interpreter für verschiedene Binärformate basierend auf einer magischen Zahl oder ihrer Dateierweiterung registrieren und den entsprechenden Interpreter aufrufen, wenn eine übereinstimmende Datei vorhanden ist ausgeführt wird.


Sicherstellen, dass der Kernel Ihres PCs binfmt_misc unterstützt

Um zu überprüfen, ob in Ihrem aktuellen Kernel die erforderliche Unterstützung für binfmt_misc bereits konfiguriert ist, gehen Sie wie folgt vor:

root@gentoo-pc ~ # modprobe configs &>/dev/null
root@gentoo-pc ~ # zgrep CONFIG_BINFMT_MISC /proc/config.gz

Wenn dies CONFIG_BINFMT_MISC = y (bevorzugt) oder CONFIG_BINFMT_MISC = m zurückgibt, haben Sie bereits die erforderliche Option ausgewählt und sollten jetzt zum nächsten Abschnitt unten springen.

Andernfalls müssen Sie die Option konfigurieren, Ihren Kernel neu erstellen und anschließend neu starten.

Wenn Sie genkernel verwenden, geben Sie Folgendes ein:

root@gentoo-pc ~ # genkernel <your normal genkernel options> --menuconfig

Wenn Sie Ihre Kernel lieber manuell erstellen möchten, stellen Sie sicher, dass Sie eine aktuelle Version des Kernel-Quellbaums in / usr / src / linux haben, und geben Sie dann Folgendes ein:

root@gentoo-pc ~ # cd /usr/src/linux
root@gentoo-pc /usr/src/linux # make distclean
root@gentoo-pc /usr/src/linux # zcat /proc/config.gz > .config
root@gentoo-pc /usr/src/linux # make olddefconfig
root@gentoo-pc /usr/src/linux # make menuconfig

Navigieren Sie nach dem Start des Konfigurationstools zur Kategorie Executable file formats / Emulations (Ausführbare Dateiformate / Emulationen) , geben Sie sie ein und wählen Sie die Option Kernel-Unterstützung für MISC-Binärdateien aus (durch Drücken von y; setzt dabei CONFIG_BINFMT_MISC = y in der Kernel-Konfigurationsdatei):

Turning on the kernel option BINFMT_MISC

Beachten Sie, dass Sie diese Option bei Bedarf auch modularisieren können, ich empfehle jedoch, sie einzubauen. Wenn dies erledigt ist, beenden Sie das Tool, indem Sie viermal auf Esc drücken, und drücken Sie dann y, wenn Sie gefragt werden, ob Sie Ihre neue Konfiguration speichern möchten.

Das Tool wird dann beendet. Wenn Sie entweder das Buildkernel- oder das Genkernel-Skript verwenden, sollte der Kernel automatisch erstellt und installiert werden. Wenn Sie jedoch manuell arbeiten, müssen Sie dies selbst starten:

root@gentoo-pc /usr/src/linux # make
root@gentoo-pc /usr/src/linux # make modules_install
root@gentoo-pc /usr/src/linux # make install
root@gentoo-pc /usr/src/linux # cd
root@gentoo-pc ~ #

Nachdem der neue Kernel erfolgreich erstellt und installiert wurde, starten Sie ihn neu, um ihn zu verwenden.