最近在调试fuse,需要在启动的时候不加载fuse。可是initramfs里面加载了,于是需要修改initramfs。把fuse模块删除。
1 解压主img:
$ cp /boot/initramfs-6.11.8.img .
$ mkdir img
$ cpio -i -D img -F initramfs-6.11.8.img
192 blocks
2 解压fs
$ dd if=initramfs-6.11.8.img of=fs.img skip=192
$ mkdir fs
$ zcat fs.img | sudo cpio -i -D fs
545394 blocks
由于有块设备要创建,需要root选项。
3 移除ko
sudo rm fs/lib/modules/6.11.8/kernel/fs/fuse/fuse.ko
4 重新打包
$ cd fs
$ find . | cpio -o -c | gzip -9 > ../fs_new.img
$ cd ..
$ dd if=initramfs-6.11.8.img of=new.img count=192
$ cat fs_new.img >> new.img
$ sudo cp new.img /boot/initramfs-6.11.8.img
参考:
https://linuxconfig.org/how-to-uncompress-and-list-an-initramfs-content-on-linux