免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1031 | 回复: 0
打印 上一主题 下一主题

用mkisofs制作iso文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-31 13:29 |只看该作者 |倒序浏览
mkisofs(make iso file system)
  功能说明:建立ISO 9660映像文件。
   语  法:mkisofs [-adDfhJlLNrRTvz][-print-size][-quiet][-A ][-abstract ][-b ][-biblio ][-c ][-C ][-copyright ][-hide ][-hide-joliet ][-log-file ][-m ][-M ][-o ][-p ][-P ][-sysid ][-V ][-volset ][-volset-size ][-volset-seqno ][-x ][目录或文件]
  补充说明:mkisofs可将指定的目录与文件做成ISO 9660格式的映像文件,以供刻录光盘。
  参  数:
  -a或--all mkisofs通常不处理备份文件。使用此参数可以把备份文件加到映像文件中。
  -A或-appid 指定光盘的应用程序ID。
  -abstract 指定摘要文件的文件名。
  -b或-eltorito-boot 指定在制作可开机光盘时所需的开机映像文件。
  -biblio 指定ISBN文件的文件名,ISBN文件位于光盘根目录下,记录光盘的ISBN。
  -c 制作可开机光盘时,mkisofs会将开机映像文件中的全-eltorito-catalog全部内容作成一个文件。
  -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 RidgeExtensions的系统中隐藏。
  -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。
  -T或-translation-table 建立文件名的转换表,适用于不支持Rock Ridge Extensions的系统上。
  -v或-verbose 执行时显示详细的信息。
  -V
###################################################################################
mkisofs(8) 程序作为 sysutils/cdrtools port 的一部分, 将生成 ISO 9660 文件系统,其中包含 UNIX® 命名空间中的文件名。最简单的用法是:
# mkisofs -o imagefile.iso /path/to/tree

这个命令将创建一个包含 ISO9660 文件系统的 imagefile.iso 文件,它是目录树 /path/to/tree 的一个副本。 在处理过程中,它将文件名称映射为标准的 ISO9660 文件系统的文件名,将排除那些不典型的 ISO 文件系统的文件。有很多选项能够用来克服那些限制。特别的,-R 选项能够启用 Rock Ridge 扩展一般的 UNIX 系统,-J 选项能启用用于 Microsoft 系统的 Joliet 扩展,-hfs 选项能用来创建用于 Mac OS® 系统的 HFS 文件系统。对于那些即将要在 FreeBSD 系统中使用 CD 的人来说,-U 选项能用来消除所有文件名的限制。当使用 -R 选项时,它会产生一个 文件系统映像,它与您从那儿启动 FreeBSD 树是一样的,虽然它在许多方面也违反了 ISO 9660 的标准。
  
最后一个常用的选项是 -b。 它用来指定启动映像的位置,用以生成 “El Torito” 启动 CD。 这个选项使用一个参数, 用以指定将写入 CD 的目录的根。默认情况下, mkisofs(8) 会以常说的 “软盘模拟” 方式来创建 ISO, 因此它希望引导映像文件的尺寸恰好是 1200, 1440 或 2880 KB。 某些引导加载器, 例如 FreeBSD 发行版磁盘, 并不使用模拟模式;这种情况下, 需要使用 -no-emul-boot 选项。 因此, 如果 /tmp/myboot 是一个包含了启动映像文件 /tmp/myboot/boot/cdboot 的可引导的 FreeBSD 系统,您就可以使用下面的命令生成 ISO 9660 文件系统映像 /tmp/bootable.iso:
# mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot
完成这些工作之后, 如果您的内核中配置了 md,就可以用下列命令来挂接文件系统了:
# mdconfig -a -t vnode -f /tmp/bootable.iso -u 0# mount -t cd9660 /dev/md0 /mnt
可以发现 /mnt 和 /tmp/myboot 是一样的。
还可以使用 mkisofs(8) 的其它选项来调整它的行为。特别是修改 ISO 9660 的划分格式,创建 Joliet 和 HFS 格式的磁盘。查看 mkisofs(8) 联机手册得到更多的帮助。

例子:
#!/bin/sh
# NTARS ISO maker
mydate=`date +%F`
mkisofs -o TTT-$mydate.iso \
-R -J -V "TTT setup" \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \
-A "TTT Install CD"  TTT/


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/89795/showart_1950288.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP