当前位置: 代码网 > 科技>操作系统>Unix > FreeBSD系统下创建DVD.iso安装光盘

FreeBSD系统下创建DVD.iso安装光盘

2008年09月08日 Unix 我要评论
FreeBSD系统下创建DVD.iso安装光盘准备刻一张FreeBSD-7.0-RELEASE的DVD,网上很多介绍都是在Windows下使用什么iso提取工具的,貌似很麻烦。参考了一些FreeBSD高手的实现,我写了一个简单的脚本,主要功能是从3张disc*.... 08-09-08

准备刻一张freebsd-7.0-release的dvd,网上很多介绍都是在windows下使用什么iso提取工具的,貌似很麻烦。参考了一些freebsd高手的实现,我写了一个简单的脚本,主要功能是从3张disc*.iso创建出一个dvd.iso

1,准备工作:
工作目录 work/ 和 3张disc*.iso, 比如
work/7.0-release-i386-disc1.iso
work/7.0-release-i386-disc2.iso
work/7.0-release-i386-disc3.iso

2,用以下代码创建脚本文件,比如 mkdvd.sh,放在work目录下。用root用户执行,将在work目录下产生一个7.0-release-i386-dvd.iso的文件。

#!/bin/sh

disc1=`ls | grep "disc1.iso"`
disc2=`ls | grep "disc2.iso"`
disc3=`ls | grep "disc3.iso"`

dvd=`echo $disc1 | sed "s/disc1/dvd/"`

## prepare temporary dir to store dvd files
if test -e tmp && test -d tmp
then
    rm -fr tmp
fi
mkdir tmp

## extract contents of each disc*.iso to temporary dir
for disc in $disc3 $disc2 $disc1
do
    mdconfig -a -f $disc -u 66
    if test -e /dev/md66
    then
    echo extract $disc ...
    mount -t cd9660 /dev/md66 /mnt
    tar -cf - -c /mnt . | tar -xf - -c tmp/
    umount /mnt
    mdconfig -d -u 66
    else
    echo can not create memory disk.
    exit -1
    fi
done

## merge index to point to the first disc
echo merge index ...
cd tmp
cat index | sed "s/||2/||1/g" > index
cat index | sed "s/||3/||1/g" > index
cat index | sed "s/|3/|1/g" > index
mv index index
cd ..

## make dvd iso file
echo make $dvd ...
mkisofs -r -no-emul-boot -b boot/cdboot -o $dvd tmp
rm -fr tmp

exit 0

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com