Sie verpacken mit
cd your_working_directory_with_modifications
find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../cusotm.initrd.lz
Mit dem zweiten Befehl wird die initrd umbenannt. Sie geben die initrd an, die beim Booten in grub verwendet werden soll.
Ich schlage vor, dass Sie die benutzerdefinierte initrd testen (booten), bevor Sie sie verschieben oder umbenennen.
Zusätzliche Informationen aus der Diskussion in den Kommentaren:
Erstens glaube ich nicht, dass Sie die Rolle von cpio / tar verstehen. Sowohl cpio als auch tar nehmen eine Reihe von Dateien und / oder Verzeichnissen und machen sie zu einer Datei oder einem Archiv.
Zweitens glaube ich nicht, dass Sie die Rolle der Komprimierung verstehen. Durch die Komprimierung wird das resultierende Archiv einfach kleiner. Sie können jedes gewünschte Werkzeug für die Komprimierung verwenden.
Sehen
https://wiki.ubuntu.com/CustomizeLiveInitrd
https://wiki.gentoo.org/wiki/Initramfs/Guide
Drittens verwendet der Linux-Kernel eher cipo als tar.
Sehen
https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt
Siehe "Warum CPIO statt Teer?" Sektion
Warum cpio statt teer?
Diese Entscheidung wurde bereits im Dezember 2001 getroffen. Die Diskussion begann hier:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0112.2/1538.html
Und es entstand ein zweiter Thread (speziell zu tar vs cpio), der hier beginnt:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0112.2/1587.html
Die schnelle und schmutzige Zusammenfassungsversion (die kein Ersatz für das Lesen der obigen Themen ist) lautet:
1) cpio ist ein Standard. Es ist Jahrzehnte alt (aus der Zeit von AT & T) und unter Linux bereits weit verbreitet (innerhalb von RPM, Red Hats Gerätetreiberdisketten). Hier ist ein Artikel aus dem Linux Journal von 1996:
http://www.linuxjournal.com/article/1213
Es ist nicht so beliebt wie tar, da die traditionellen cpio-Befehlszeilentools _truly_hideous_ Befehlszeilenargumente erfordern. Das sagt jedoch nichts über das Archivformat aus, und es gibt alternative Tools wie:
http://freecode.com/projects/afio
2) Das vom Kernel gewählte cpio-Archivformat ist einfacher und übersichtlicher (und damit einfacher zu erstellen und zu analysieren) als jedes der (buchstäblich Dutzende) verschiedenen Tar-Archivformate. Das vollständige Archivformat von initramfs wird in buffer-format.txt erläutert, in usr / gen_init_cpio.c erstellt und in init / initramfs.c extrahiert. Alle drei zusammen ergeben weniger als 26.000 lesbaren Text.
3) Das GNU-Projekt zur Standardisierung auf Teer ist ungefähr so relevant wie die Windows-Standardisierung auf Zip. Linux gehört auch nicht dazu und kann seine eigenen technischen Entscheidungen treffen.
4) Da dies ein internes Kernel-Format ist, könnte es leicht
etwas ganz Neues gewesen sein. Der Kernel bietet ohnehin eigene Tools zum Erstellen und Extrahieren dieses Formats. Die Verwendung eines vorhandenen Standards war vorzuziehen, aber nicht unbedingt erforderlich.
5) Al Viro traf die Entscheidung (Zitat: "Teer ist höllisch hässlich und wird auf der Kernelseite nicht unterstützt"):
http://www.uwsg.iu.edu/hypermail/linux/kernel/0112.2/1540.html
erklärte seine Argumentation:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0112.2/1550.html
http://www.uwsg.iu.edu/hypermail/linux/kernel/0112.2/1638.html
und vor allem den initramfs-Code entworfen und implementiert.
find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../cusotm.initrd.lz
Wenn diese Prozedur nicht funktioniert, klären Sie, welche Befehle Sie ausgeführt haben und welche nicht.