使用(gunzip 和 cpio)解压内核文件生成的文件,覆盖一些文件并重新打包所有内容,无法启动

使用(gunzip 和 cpio)解压内核文件生成的文件,覆盖一些文件并重新打包所有内容,无法启动

正如标题所说,我正在尝试使用gunzip和cpio解压内核文件(假设第一个:initrd.img-5.10.0-18-amd64.gz),覆盖一些文件并重新打包所有内容。问题是生成的新内核文件不可启动。有人可以帮助我理解为什么吗?就连大小也不同。我想做的是更改 initrd.img* 文件的内容,因为我正在尝试使用 Ubuntu 22.04 上的 CUBIC 作为主机操作系统,使用一组新的配置文件、徽标和图像来自定义 Debian 11 ISO 映像, Debian 11 作为 CUBIC 中的“访客”。以下是我发出的命令:

mkdir /home/ziomario/Scrivania/PassT-Cubic/kernels
mkdir /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped
mkdir /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64

cd /home/ziomario/Scrivania/PassT-Cubic/kernels/

gunzip -k initrd.img-5.10.0-18-amd64.gz

mkdir /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64

cpio -idv < initrd.img-5.10.0-18-amd64 -D /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64


mkdir -p usr/share/plymouth/
mkdir -p usr/share/plymouth/themes/homeworld/

cp /usr/share/plymouth/debian-logo.png usr/share/plymouth/

cp /usr/share/plymouth/themes/homeworld/debian.png usr/share/plymouth/themes/homeworld/

cp /usr/share/plymouth/themes/homeworld/logo.png usr/share/plymouth/themes/homeworld/


cp usr/share/plymouth/debian-logo.png /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64/usr/share/plymouth/

cp usr/share/plymouth/themes/homeworld/debian.png /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64/usr/share/plymouth/themes/homeworld

cp usr/share/plymouth/themes/homeworld/logo.png /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64/usr/share/plymouth/themes/homeworld

cd /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64

find . -print -depth | cpio -o > ../../initrd.img-5.10.0-18-amd64

find: warning: you have specified the global option -depth after the  argument
-print, but global options are not positional, i.e., -depth  affects tests
specified before it as well as those specified after it.   Please specify global
options before other arguments.

893621 blocks

cd ../..

gzip initrd.img-5.10.0-18-amd64

使用 CUBIC“刻录”新的 ISO 映像并选择默认内核来启动后,我发现生成的内核文件无法启动。事实上,它们的尺寸比原来的要大。这是我尝试在虚拟机中启动它们时报告的错误:

https://ibb.co/rm5WRSz

我不知道为什么。内核文件里面看起来一切都好。我在我的谷歌驱动器中放置了错误的文件。也许您想在您身边测试一下它们?感谢您非常非常有用的支持。

https://drive.google.com/drive/folders/16z5INJTSB3YcpzE980q9eqRIRVG02-JH?usp=sharing

无论如何,报告的错误是:https://ibb.co/rm5WRSz

答案1

解决方案是:

find . -depth | cpio --create --format='newc' > ../../initrd.img-5.10.0-19-amd64

相关内容