正如标题所说,我正在尝试使用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://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