操作系统 
首页 > 操作系统 > 浏览文章

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

(编辑:jimmy 日期: 2025/5/6 浏览:3 次 )

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

上一篇:FreeBSD学习经验
下一篇:FreeBSD5.2.1上建立功能完整的邮件服务器(POSTFIX)
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?