【initrd】向虚拟文件系统initrd.img中添加驱动

时间:2022-01-03 15:55:10
  • 虚拟文件系统:initrd-2.6.18-194.el5.img
  • 希望添加网卡或SCSI等驱动
步骤:
  1. 解压initrd-2.6.18-194.el5.img;
  2. 添加*.ko文件,并修改init可执行文件;
  3. 重新打包生成initrd-2.6.18-194.el5.img;


解压 initrd-2.6.18-194.el5.img
查看initrd-2.6.18-194.el5.img的文件类型:它是一个gzip类型
  1. file initrd-2.6.18-194.el5.img
【initrd】向虚拟文件系统initrd.img中添加驱动
解压gzip文件:
  1. mv initrd-2.6.18-194.el5.img initrd-2.6.18-194.el5.gz
  2. gunzip initrd-2.6.18-194.el5.gz //解压后变为initrd-2.6.18-194.el5
  3. file initrd-2.6.18-194.el5 //查看文件类型:cpio格式
【initrd】向虚拟文件系统initrd.img中添加驱动
解压CPIO文件:
  1. cpio -idmv < initrd-2.6.18-194.el5
【initrd】向虚拟文件系统initrd.img中添加驱动

【initrd】向虚拟文件系统initrd.img中添加驱动


解压指令总结:
  1. mv initrd-2.6.18-194.el5.img initrd-2.6.18-194.el5.img.gz
  2. gunzip initrd-2.6.18-194.el5.img.gz
  3. cpio -idmv < initrd-2.6.18-194.el5.img

添加驱动

比如需要添加驱动:
  1. sym53c8xx.ko
  2. virtio_scsi.ko
则将这两个驱动拷贝到lib目录下,然后修改init文件:
【initrd】向虚拟文件系统initrd.img中添加驱动
【initrd】向虚拟文件系统initrd.img中添加驱动


打包生成initrd-2.6.18-194.el5.img

  1. find . | cpio -o -H newc | gzip -9 > ../initrd-2.6.18-194.el5.img
【initrd】向虚拟文件系统initrd.img中添加驱动