【linux命令讲解大全】127.Linux光盘制作工具mkinitrd和mkisofs详解

2024-03-02 14:05:51 浏览数 (2)

mkinitrd

建立要载入ramdisk的映像文件

补充说明

mkinitrd命令用于建立要载入ramdisk的映像文件,以供Linux开机时载入ramdisk。

这个命令用于重新封包核心,例如你自己修改了一个设备的驱动,如果这个驱动要加入核心级别的话,就需要对核心进行重新封包,把新加的配置编译到核心内部去!

语法

mkinitrd [选项] [参数]

选项
  • -f:若指定的映像文件名称与现有文件重复,则覆盖现有的文件;
  • -v:执行时显示详细的信息;
  • --omit-scsi-modules:不要载入SCSI模块;
  • --preload=<模块名称>:指定要载入的模块;
  • --with=<模块名称>:指定要载入的模块;
  • --version:显示版本信息。
参数
  • 映像文件:指定要创建的映像文件;
  • 内核版本:指定内核版本。
实例
代码语言:javascript复制
[root@localhost tmp]# mkinitrd -v -f myinitrd.img $(uname -r)
Creating initramfs
WARNING: using /tmp for temporary files
Looking for deps of module ide-disk
Looking for deps of module ext3  jbd
Looking for deps of module jbd
Using modules:  ./kernel/fs/jbd/jbd.ko ./kernel/fs/ext3/ext3.ko
/sbin/nash -> /tmp/initrd.Vz3928/bin/nash
/sbin/insmod.static -> /tmp/initrd.Vz3928/bin/insmod
/sbin/udev.static -> /tmp/initrd.Vz3928/sbin/udev
/etc/udev/udev.conf -> /tmp/initrd.Vz3928/etc/udev/udev.conf
copy from /lib/modules/2.6.9-5.EL/./kernel/fs/jbd/jbd.ko(elf32-i386) to /tmp/initrd.Vz3928/lib/jbd.ko(elf32-i386)
copy from /lib/modules/2.6.9-5.EL/./kernel/fs/ext3/ext3.ko(elf32-i386) to /tmp/initrd.Vz3928/lib/ext3.ko(elf32-i386)
Loading module jbd
Loading module ext3

[root@localhost tmp]# file myinitrd.img
myinitrd.img: gzip compressed data, from Unix, max compression

[root@localhost tmp]# mv myinitrd.img  myinitrd.img.gz
[root@localhost tmp]# gzip -d myinitrd.img.gz
[root@localhost tmp]# file myinitrd.img
myinitrd.img: ASCII cpio archive (SVR4 with no CRC)

mkisofs

建立ISO 9660映像文件

补充说明

mkisofs命令用于将指定的目录与文件制作成ISO 9660格式的映像文件,以供刻录光盘。

语法

mkisofs [选项] [参数]

选项
  • -a--allmkisofs通常不处理备份文件。使用此参数可以将备份文件加入映像文件中;
  • -A<应用程序id>-appid<应用程序ID>:指定光盘的应用程序ID;
  • -abstract<摘要文件>:指定摘要文件的文件名;
  • -b<开机映像文件>-eltorito-boot<开机映像文件>:指定在制作可开机光盘时所需的开机映像文件;
  • -biblio<ISBN文件>:指定ISBN文件的文件名,ISBN文件位于光盘根目录下,记录光盘的ISBN;
  • -c<开机文件名称>:制作可开机光盘时,mkisofs会将开机映像文件中的全部内容作为一个文件;
  • -C<盘区编号,盘区编号>:将许多节区合成一个映像文件时,必须使用此参数;
  • -copyright<版权信息文件>:指定版权信息文件的文件名;
  • -d-omit-period:省略文件后的句号;
  • -D-disable-deep-relocation:ISO 9660最多只能处理8层的目录,超过8层的部分,RRIP会自动将它们设置成ISO 9660兼容的格式。使用-D参数可关闭此功能;
  • -f-follow-links:忽略符号连接;
  • -h:显示帮助;
  • -hide<目录或文件名>:使指定的目录或文件在ISO 9660或Rock Ridge Extensions的系统中隐藏;
  • -hide-joliet<目录或文件名>:使指定的目录或文件在Joliet系统中隐藏;
  • -J-joliet:使用Joliet格式的目录与文件名称;
  • -l-full-iso9660-filenames:使用ISO 9660 32字符长度的文件名;
  • -L-allow-leading-dots:允许文件名的第一个字符为句号;
  • -log-file<记录文件>:在执行过程中若有错误信息,预设会显示在屏幕上;
  • -m<目录或文件名>-exclude<目录或文件名>:指定的目录或文件名将不会放入映像文件中;
  • -M<映像文件>-prev-session<映像文件>:与指定的映像文件合并;
  • -N-omit-version-number:省略ISO 9660文件中的版本信息;
  • -o<映像文件>-output<映像文件>:指定映像文件的名称;
  • -p<数据处理人>-preparer<数据处理人>:记录光盘的数据处理人;
  • -print-size:显示预估的文件系统大小;
  • -quiet:执行时不显示任何信息;
  • -r-rational-rock:使用Rock Ridge Extensions,并开放全部文件的读取权限;
  • -R-rock:使用Rock Ridge Extensions;
  • -sysid<系统ID>:指定光盘的系统ID;
  • -T-translation-table:建立文件名的转换表,适用于不支持Rock Ridge Extensions的系统上;
  • -v-verbose:执行时显示详细的信息;
  • -V<光盘ID>-volid<光盘ID>:指定光盘的卷册集ID;
  • -volset-size<光盘总数>:指定卷册集所包含的光盘张数;
  • -volset-seqno<卷册序号>:指定光盘片在卷册集中的编号;
  • -x<目录>:指定的目录将不会放入映像文件中;
  • -z:建立通透性压缩文件的SUSP记录,此记录目前只在Alpha机器上的Linux有效。
参数
  • 路径:需要添加到映像文件中的路径。
实例

在linux中用mkisofs命令把文件制作成ISO步骤:

  1. 把NFS服务器上的目录挂载到本地/mnt/nfs/的目录: mount -t nfs 10.0.2.2:/linuxos/rhel4.0_update3/ /mnt/nfs/
  2. 把已挂载的文件复制到本地: cp -a /mnt/NFS/* /root/Desktop/rhel4.0/
  3. 查找boot.cat文件并删除掉: find rhel4.0/ -name boot.cat | xargs rm
  4. 查找TRANS.TBL文件并删除掉: find rhel4.0/ -name TRANS.TBL -exec rm {} ;
  5. 复制本地的所需文件到指定目录: cp /usr/share/comps/i386/.discinfo rhel4.0/
  6. 把指定目录下的所有文件制作成ISO文件: mkisofs -R -J -T -v -no-emul-boot -boot-load-size 4 -boot-info-table -V RHEL4ASDVD -b isolinux/isolinux.bin -c isolinux/boot.cat -o /RHEL4AS.iso rhel4.0/

0 人点赞