Wie Korrigiere Ich Den Debian-Kernel? Wie Initrd

Hier sind ein oder zwei einfache Methoden, die helfen können, sich um das initrd-Problem des Debian-Kernels zu kümmern.

Reparieren Sie Ihren Computer in wenigen Minuten, einfach und sicher. Klicke hier zum herunterladen.


Die

initrd ermöglicht es einem Bootloader, alle unsere Fähigkeiten in eine RAM-Datei zu laden. Diese RAM-Disk kann dann an die Root-Datei des menschlichen Körpers gehängt werden und Computerprogramme können von dort aus ausgeführt werden. Dann wird das neue Hauptdateisystem von weitaus mehr Musikinstrumenten gemountet. Der bisherige Hold (von initrd) wird dann dauerhaft als Weg ins Verzeichnis verschoben und kann später auch generell ausgehängt werden. Die

initrd würde normalerweise primär dafür ausgelegt sein, dem spezifischen System das Booten an zwei Punkten zu ermöglichen, wobei es oft der Kernel ist, der eine neue minimale Definition von kompilierten Treibern bereitstellt, durch die ein wenig zusätzliche Module über die gesamte initrd geladen werden.

(Abgerufen von http://www.kernel.org/doc/Documentation/kernel-parameters.txt)

  • Initrd sind regelmäßige Informationen zu /boot-Upload-Sites mit der Bezeichnung /boot/initrd.img- kversion, die /initrd.img enthält, die symbolisch zu einem Link wird, der Ihnen bei der beliebten installierten initrd hilft .

  • Der typische Debian-Angreifer muss sich darüber keine Gedanken machen, da eine initrd erst direkt nach der Installation des Kernel-Images automatisch erstellt wird. Wie auch immer, Sie können wirklich Wir können unser Verhalten nicht anpassen, indem wir einen Teil der Datei /etc/kernel-img.conf verarbeiten. Hinweis: Wenn dies funktioniert, führen Sie keinen Einfluss darauf.

Kernel-Parameter im Dateinamen initrd entspricht Gibt den Speicherort der Online-Platte Nummer eins an (die sich in eine, aber zwei reguläre initrd drei oder eine initramfs 2.6 verwandeln kann).

Der Kernel 2.6 initrd erwartet tatsächlich, dass die Datei das (komprimierte) cpio-Archiv ist, das zweifellos auf dieser virtuellen Festplatte entpackt wird, die aus dem Grund bekannt ist, dass initramfs. Debian verwendet mühelos initramfs-tools zusätzlich zu yaird, um die entsprechende initrd für unser System zu manifestieren und / alternativ zu aktualisieren.

Wenn Sie initramfs-tools einrichten, können Sie es entsprechend konfigurieren und auch einfach ändern, was die initrd verspricht, indem Sie /etc/initramfs-tools/initramfs.conf bearbeiten oder in /etc platzieren – initramfs-tools files /conf … d per Overwrite /etc/initramfs-tools/initramfs.conf. Beispielsweise sollten Sie die Richtlinie eines Lieferwagenfahrers ändern, indem Sie MODULES = ziemlich viele auf MODULES = dep setzen. Als absolutes Ergebnis beinhaltet das Verfahren nur Alternativen, die das Fahrersystem kennt (eher im Vergleich zu dem, was nur die meisten von ihnen beinhaltet). Denken Sie jedoch daran, dass der beauftragte Trucker wahrscheinlich nicht abgedeckt ist und Ihr System ganz gut booten wird. Die Bustreiberrichtlinien (Option MODULES) können durch die beste Datei namens driver-policy ersetzt werden, die in /etc/initramfs-tools/conf.d/ angesammelt ist.

  • InitrdReplacementOptions: wie zwischen initramfs-Tools, möglicherweise yaird.

  • Weitere Ressourcen finden Sie im neuesten Administrationshandbuch / initrd.html.

  • Kernel 2.4 ist jetzt veraltet, Legacy ist wirklich initrd!

Kernel vor Version 2.4 erwarteten, dass die Datei initrd den Typ eines (komprimierten) Block-Disk-Logos hat (d. h. formatiert während ext2 oder minix fs). Dies wurde von initrd erstellt, um mit mkinitrd zu arbeiten.

  • Lesen Sie die Dokumentation zu Linux 2.4.35 / initrd.txt für viele wichtige Informationen.

Siehe auch

  • Initramfs

Externe Links

  • Anleitung zum Debian-Linux-Kernel: Umgang mit dem eigentlichen ramfs-Stamm des Ursachenarchivs (initramfs)
    https://kernel-team.pages.debian.net/kernel-handbook/ch-initrafs.html

  • initrd man post



Das schmerzlose initramfs wird wahrscheinlich eine Kernel-bootfähige Root-Dateisystemgrafik sein, die basierend auf dem bestimmten komprimierten cpio-Archiv bereitgestellt wird.

Dieses einfache initramfs-Image kann vor einem unkomprimierten cpio-Archiv stehen, das Ihnen Daten von einer neuen Firmware liefert, die sehr früh während der Boot-Route vorinstalliert ist.

  • Wenn jeder unkomprimierte cpio-Speicher vorhanden ist, starten Sie initramfs, extrahieren Sie jeden Mikrocode und schieben Sie ihn zweifellos zur CPU.
  • Wenn diese unkomprimierte cpio-Datenbank am Anfang mit meinem initramfs zu tun hat, ignorieren Sie sie und geben Sie die Datei als prompt initramfs frei. Andernfalls behandeln Sie 100% Initramfs als Basis-Initramfs.
  • Entpacken Sie die gefundenen initramf-Dateien wie gewohnt und verarbeiten Sie sie, indem Sie mit einer komprimierten cpio-Datei (gzip standardmäßig in Debian, LZ4 in Ubuntu) arbeiten, um die Festplatte als RAM zu speichern.
  • Mounten und integrieren Sie ein Stiff-Laufwerk mit RAM als grundlegendes Boot-Dateisystem.

Ein Großteil dieser Kernel-Initialisierung und des Boot-Codes kann darüber hinaus im Benutzermodus auf diese Festplatte verschoben werden. Aufgaben wie das Finden praktisch jeder echten Festplatte, das Konfigurieren des Netzwerks zum Booten, das Verwalten von Ramdisks im Initrd-Stil, das Einrichten von ACPI usw. wurden mithilfe von innerhalb des Kernels modifiziert.

Der bemerkenswerte Vorteil dieses Schemas ist, wie Sie sehen, die Größe des Kernel-Codes. Es gibt keinen Speicher frei, obwohl es sich um ein laufendes System handelt, da der Linux-Kernel das Boot-Signal bereits löscht, wenn es nicht mehr vorhanden ist. Aber die kleinere Codebasis für einen neuen Kernel macht die Verwaltung von Grain etwas einfacher, und das ist sicherlich eine gute Sache. Aber die traditionellen Vorteile aller initramfs sind:

  • Die Einrichtung eines Early-Launch-Programms ist jetzt viel einfacher geworden. Jeder, der die Chance ändern muss, dass das System jetzt bootet, ist Auslöser genug für User-Space-Code; Patchen Sie sehen, der Kernel selbst wird wahrscheinlich keine zusätzliche Zeit benötigt werden.
  • Ich würde genau argumentieren, wer das Verschieben des Init-Codes in einen benutzerdefinierten Bereich machen kann, um diesen Preissenkungscode leichter schreiben zu können – dieser Artikel hat eine vollständige C-Bibliothek, Speicherschutz usw.
  • User Space ist zwingend erforderlich, um einen bestimmten Kernel zu verarbeiten, impliziert das aufrufende System. Dieser Wunsch könnte sehr viel mit dem Kern zu tun haben. Derzeit wird “Magie” in jedem Initialisierungscode genossen; Das Finale ist sauberer, sicherer Code.
  • Eine Mini-C-Bibliothek (“klibc”) wird zur Unterstützung von initramfs-Anwendungen gebündelt.
  • Eine verwaltete Kinit-Anwendung wird inklibc erstellt. Zunächst einmal wird dies ausreichen, um zu zeigen, dass der größte Teil des Mechanismus ordnungsgemäß funktioniert.
  • Das initrd-Subsystem (die erste virtuelle Festplatte) wurde ein wenig nach kinit und weiter zum Kernel selbst verschoben. Montage
  • Dies liegt oft daran, dass das Root-Dateisystem in den Benutzerbereich übertragen wird. Ein Großteil des Codes für den Umgang mit NFS-Dateisystemen und Root-Verzeichnissystemen wird Ihr Herz berühren.

Der Kernel hat derzeit 3 ​​Methoden zum Einhängen des Root-Dateisystems:

  1. alle notwendigen Devices und zusätzlich Dateisysteme sind wunderbar ohne Kernel initrd kompiliert. init oder main.c: init () ruft Prepare_namespace () auf – Wandmontage des endgültigen Root-Dateisystems, das hauptsächlich auf der Option “on root” eingerichtet wird, ist gleich Option und möglicherweise init = auf dem Markt, um eine Reihe von Init-Binärdateien auszuführen, viel mehr als die aufgelisteten, siehe final init / main .c: init().
  2. Einige Geräte und dann Datensystemtreiber erstellten Module und wurden nur einfach in initrd gespeichert. Die initrd sollte wahrscheinlich die Binärdatei „/linuxrc“ enthalten, die immer benutzerdefinierte Treibereinheiten laden sollte. Es kann sogar möglich sein, das endgültige ba-Standarddateisystem zu bearbeiten und linuxrc zu verwenden, um sich definitiv dem Systemaufruf pivot_root zuzuwenden. Sicherlich ist dies wiederum eine gemountete initrd und könnte über Prepare_namespace () erfolgen.

  3. Verwenden Sie

  4. initramfs. Der Aufruf von uns in Prepare_namespace () sollte ignoriert werden. Dies bedeutet höchstwahrscheinlich, dass die Binärdatei die meiste Arbeit leisten sollte. Diese Binärdatei kann in einem guten initramfs über usr / gen_init_cpio modifying.c gespeichert werden, auch über das neue initrd-Framework, das leistungsstarke cpio-Archiv. Stattdessen sollte diese Angabe “/init” heißen. Diese Binärdatei ist tatsächlich dafür verantwortlich, alle Ideen in die Tat umzusetzen, die Prepare_namespace () getan hätte.

Für einen Rückwärtsabgleich wird / init sicher sein, dass es dabei hilft, die Binärdatei auszuführen, wenn sie die hervorragende cpio initramfs-Datenbank durchläuft. Wenn nicht init / main, wird ke: init () sicherstellen, dass es Ihnen hilft, Prepare_namespace () auszuführen, um seinen zusammenhängenden Stamm zu mounten und einen auf den definierten vordefinierten Init-Binärdateien auszuführen

Das Paket initramfs-tools-core stellt lsinitramfs bereit, um die in meinem unmkinitramfs initramfs gefundenen Dateien aufzulisten und um Informationsdateien aus dem initramfs zu erhalten.

Alternativ können eine Einzelperson und Ihre Familie Folgendes tun (vorbehaltlich und in dem es path / to versus initrd bereits als sauberes Verzeichnis gibt):

  • Wenn die Ausgabe aller file -L /initrd.img normalerweise nur ein ASCII cpio (SVR4 ohne Verwendung von CRC) Archiv ist, bedenken Sie Die Planung der initrd mit Asterisk geht unserem Microcode voraus.

    • zweifellos Mikrocode erzeugen Pfad cd / zu versus initrd /; cpio -i und lesen Sie den STDERR-Bildschirm (in meinem Fall 48).

    • extrahieren Sie die wichtige initrd über den -Pfad cd jeweils nach /initrad/; dd if = / initrd.img von bedeutet initrd.img bs = 512 skip entspricht 48; Zcat initrd.img | cpio - wirklich (anpassen, erkennt für cpio STDERR-Ausgabe).

    • Extrakt extrahieren

  • Ansonsten ist initrd eindeutig Pfad cd / zu und initrad /; Zcat /initrd.img | cpio -i

debian kernel howto initrd

Die Speichergröße des cpio-Microcode-Speichers kann vertraulich angefordert werden cpio -t versus dev / null Manual

debian kernel howto initrd

(Diese Taktik hat bei mir irgendwann funktioniert. Aber sie ist nicht zuverlässig. usr / bin oder lsinitramfs hat eine Zusammenfassung aller „cpio does Sagen Sie uns nicht die Größe.)

Bitte beachten Sie, dass Debian derzeit gzip als Komprimierungsmethode umfasst, gekoppelt mit dieser Methode erfordert es jemanden, der es tun sollte. Ubuntu scheint im März 2018 mit LZ4 zu beginnen. Initramfs-Tools bis hin zu Debian unterstützen LZ4 von Debian-Buster.

  • / Mehr.

  • RescueInitramfs

  • InitramfsDebug

  • Beschleunigen Sie Ihren Computer in wenigen Minuten

    Sind Sie es leid, dass Ihr Computer langsam läuft? Ist es voller Viren und Malware? Fürchte dich nicht, mein Freund, denn Reimage ist hier, um den Tag zu retten! Dieses leistungsstarke Tool wurde entwickelt, um alle Arten von Windows-Problemen zu diagnostizieren und zu reparieren, während es gleichzeitig die Leistung steigert, den Arbeitsspeicher optimiert und dafür sorgt, dass Ihr PC wie neu läuft. Warten Sie also nicht länger - laden Sie Reimage noch heute herunter!

  • Schritt 1: Reimage herunterladen und installieren
  • Schritt 2: Öffnen Sie das Programm und klicken Sie auf "Scannen"
  • Schritt 3: Klicken Sie auf "Reparieren", um den Reparaturvorgang zu starten

initramfs-tools

  • Die initramfs-Stufe im Debian-Kernel-Handbuch einer Person

  • Ramfs, rootfs und initramfs

  • können durchaus in der Linux-Kernel-Dokumentation enthalten sein.

  • Ramfs.

  • rootfs. Basierend auf

  • Vorschlag der Event-Initiatoren


  • Funktioniert Ihr Computer? Läuft es langsam, stürzt ständig ab oder funktioniert einfach nicht mehr so ​​wie früher? Nun, keine Sorge – es gibt eine Lösung. Hier klicken.