首先新建一个文件夹作为工作区
mkdir ~/work
然后将系统的initrd文件拷贝过来
cd ~/work
cp /boot/initrd.img-4.9.0-3-amd64 ./
这个文件是个压缩文件,需要先解压,解压之前先重命名,加上.gz后缀
mv initrd.img-4.9.0-3-amd64 initrd.img-4.9.0-3-amd64.gz
gunzip initrd.img-4.9.0-3-amd64.gz
此时生成的文件名为initrd.img-4.9.0-3-amd64是非压缩文件,然后就可以用cpio命令提取文件。
mkdir initrd
cd initrd
cpio -divm < ../initrd.img-4.9.0-3-amd64
然后就开始按自己的需要修改文件了
修改以后,开始重新打包压缩成initrd文件
find ./ |cpio -o -H newc > ../initrd-new.img
cd ..
gzip -c initrd-new.img > initrd-new.img.gz
新生成的initrd-new.img.gz文件就是最终的initrd文件了。
也可以更简单一点:
直接修改 /usr/share/initramfs-tools/ 里面的文件,然后执行如下命令重新生成一个:
mkinitramfs -o /boot/initramfs.img-`uname -r` `uname -r`