FreeBSD系统下创建DVD.iso安装光盘
FreeBSD系统下创建DVD.iso安装光盘
发布时间:2016-12-27 来源:查字典编辑
摘要:准备刻一张FreeBSD-7.0-RELEASE的DVD,网上很多介绍都是在Windows下使用什么iso提取工具的,貌似很麻烦。参考了一些...

准备刻一张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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Unix/BSD学习
热门Unix/BSD学习
操作系统子分类