先下载3张cd的iso
再用下面第二种方法生成dvd(简单) 本人已经测试通过可用,(第一个安装画面不要检测此ios)
现在的Linux发行版大多都有DVD版本的了, 一张DVD就搞定了,比如Fedora Core,SUSE,Debian等,但是RedHat Linux 9却由于RedHat公司已经停止维护,所以目前没有DVD版,安装时还要不停地更换CD碟片,实在麻烦,后来在网上看到有些前辈已经实现这个工作,将7CD制作在了一张DVD上,可以启动安装, 实在眼馋,后来自己就也琢磨着做了一个,现将制作过程记录如下。
最后,本人也是Linux初学者,文章中的不足之处还请大家不吝赐教,多提意见,谢谢!
版权信息:该文章版权由Wu Yin所有。可在非商业目的下任意传播和复制。对于商业
目的下对本文的任何行为需经作者同意。联系方式:lazy_fox#msn.com
*方法一*:
01. 实现的难点:
a. 必需是光盘启动
b. 让安装程序不知道所需要的
02. 需要的工具:
由于本人是Linux的初学者,对Linux操作不是很熟练,所以大部分工作在Windows下完成, 下面分别列出Windows下和Linux下需要用到的软件
a. Windows下需要的软件UltraISO,这个是用来从光盘制作镜像文件的工具,网上有下载
b. Linux下需要软件anaconda-runtime,这个软件在RedHat Linux 9的第二张CD中, 软件名称为:anaconda-runtime-9.0-4.i386.rpm,如果没有安装请现自行安装一下, 这个是用来告诉安装程序哪个rpm文件在哪个地方可以找到
03. 首先在Windows下用UltraISO将CD1制作成镜像文件:RedHat_Linux_9_on_DVD.iso,为什么一定要用UltraISO制作镜像文件,而不是直接拷贝,是因为CD1是可启动光盘,直接拷贝无法拷贝到启动信息,CD1的主要目录解构为:
-rwxr-xr-x 2 root root 248 2003-03-14 autorun
drwxr-xr-x 7 root root 4096 2003-03-14 dosutils
-rw-r--r-- 3 root root 6192 2003-03-14 EULA
-rw-r--r-- 3 root root 18385 2003-03-14 GPL
drwxr-xr-x 3 root root 2048 2003-03-14 images
drwxr-xr-x 2 root root 2048 2003-03-14 isolinux
-rw-r--r-- 3 root root 6127 2003-03-14 README
-rw-r--r-- 2 root root 13052 2003-03-14 README-Accessibility
-rw-r--r-- 2 root root 6686 2003-03-14 README.*
drwxr-xr-x 4 root root 2048 2003-03-14 RedHat
-rw-r--r-- 2 root root 25824 2003-03-14 RELEASE-*
-rw-r--r-- 3 root root 1910 2003-03-14 RPM-GPG-KEY
-r--r--r-- 1 root root 1823 2003-03-14 TRANS.TBL
04. 用UltraISO打开RedHat_Linux_9_on_DVD.iso文件,将CD2放到光驱中,用UltraISO把CD2的/RedHat/RPMS/中的*.rpm文件(除去TRANS.TBL文件)全部拷贝到CD1(也就是RedHat_Linux_9_on_DVD.iso)的/RedHat/RPMS目录下,CD3也这样操作,然后保存RedHat_Linux_9_on_DVD.iso文件,这样将得到了一个1G多的RedHat_Linux_9_on_DVD.iso文件
05. 截止目前已经做完了大部分工作,解决了前面提到的难点a,现在切换到Linux系统下开始解决难点b,安装程序主要是根据/RedHat/base目录下的hdlist文件和hdlist2文件来判断rpm包路径的,这两个文件就是用上面提到的anaconda-runtime制作的
06. 在Linux下将RedHat_Linux_9_on_DVD.iso文件mount到/mnt/cdrom/目录,并将其全部拷贝出到一个临时目录下(因为此时的RedHat_Linux_9_on_DVD.iso文件是只读的),比如/root/rh9,然后在命令行中输入:
/usr/lib/anaconda-runtime/genhdlist /root/rh9/
这时在/root/rh9/RedHat/base目录下生成了新的hdlist文件和hdlist2文件,将这两个文件备份出来。
07. 再切换到Windows下:(,用UltraISO打开RedHat_Linux_9_on_DVD.iso文件,将刚才的hdlist文件和hdlist2文件拷贝到/RedHat/base目录下,然后保存RedHat_Linux_9_on_DVD.iso文件。至此大功告成,剩下的就是烧录光盘了
08. 缺点有:
a. 有些工作需要在Windows下完成,系统切换,拷贝,较麻烦,最好能全部在Linux下完成
*方法二*:
1. 首先你必須要有一个很大的磁盘空间 大概要3.5g是空闲的 建立一个文件夹Createiso,然后把你的3个iso文件shrike-i386-disk1.iso,shrike-i386- disk2.iso,shrike-i386-disk3.iso放到Createiso中
2. 输入以下命令
mkdir shrike-i386-disc{1,2,3} shrike-docs
这是建立 shrike-i386-disc{1,2,3} 和 shrike-docs 这4个目录
3.将刚才放入Createiso中的3个iso镜像文件挂载到建立好的shrike-i386-disc{1,2,3} 这3个目录
mount -o ro,loop shrike-i386-disc1.iso shrike-i386-disc1
mount -o ro,loop shrike-i386-disc2.iso shrike-i386-disc2
mount -o ro,loop shrike-i386-disc3.iso shrike-i386-disc3
4 输入以下命令
cp -a shrike-i386-disc1/isolinux shrike-i386-disc1/.discinfo .
这是copy shrike-i386-disc1里的isolinux和.discinfo这两个文档到此目录
5 编辑.discinfo文件 将第4行的 1 换成 1,2,3 以表示要用這三个disk iso
6 输入以下命令(以下整个是一条指令)
mkisofs -o shrike-i386-dvd.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -m TRANS.TBL -x shrike-i386-disc1/.discinfo -x shrike-i386-disc1/isolinux -graft-points shrike-i386-disc1 .discinfo=.discinfo isolinux/=isolinux RedHat/=shrike-i386-disc2/RedHat RedHat/=shrike-i386-disc3/RedHat docs/=shrike-docs
最后生成shrike-i386-dvd.iso,大功告成.将shrike-i386-dvd.iso文件刻成DVD光盘,以后安装Red Hat 9.0时就不用换盘了,够酷吧!
注:mkisofs命令不是Linux系统自带的,用前需要先安装.文件名为mkisofs-2.01.a19-0.i686.rpm 此文件可到以下地址下载:
http://rpmfind.net/linux/RPM/Productivity_Multimedia_CD_Record.html
安装 rpm -ivh mkisofs-2.01.a19-0.i686.rpm 后,便可使用了!!!