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
或--all
:mkisofs
通常不处理备份文件。使用此参数可以将备份文件加入映像文件中;-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步骤:
- 把NFS服务器上的目录挂载到本地
/mnt/nfs/
的目录:mount -t nfs 10.0.2.2:/linuxos/rhel4.0_update3/ /mnt/nfs/
- 把已挂载的文件复制到本地:
cp -a /mnt/NFS/* /root/Desktop/rhel4.0/
- 查找
boot.cat
文件并删除掉:find rhel4.0/ -name boot.cat | xargs rm
- 查找
TRANS.TBL
文件并删除掉:find rhel4.0/ -name TRANS.TBL -exec rm {} ;
- 复制本地的所需文件到指定目录:
cp /usr/share/comps/i386/.discinfo rhel4.0/
- 把指定目录下的所有文件制作成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/