如何创建自定义Oracle Linux 7u2 iso映像

时间:2016-10-26 20:11:29

标签: linux iso-image

我一直在使用一些经过验证的步骤来使用自定义kickstart脚本创建自己的Oracle Linux 6uX ISO映像很长一段时间。我基本上做的是使用hdiutil挂载iso-image,将内容复制到工作文件夹,进行修改并使用makeiso(cdrutils)创建iso。 这里已经描述了细节; http://www.reddipped.com/2015/12/virtualbox-soa-bpm-osb-bam-33-minutes/

我刚刚尝试创建自定义的Oracle Linux 7u2 ISO映像,但直到现在都失败了。

首先使用hdiutil打开图像并且' hdiutil:附加失败 - 没有可安装的文件系统'。相反,我使用Keka来提取iso的内容。 修改了提取的iso-image的内容;

  • 删除/isolinux/boot.cat,
  • 添加新的ks-bd.ks
  • 将菜单项添加到isolinux.cfg,以便能够使用kickstart文件开始安装

    label linux_basicserver_silent\
      menu label ^Install basic server silent\
      menu default\
      kernel vmlinuz\
      append initrd=initrd.img ks=cdrom:\/ks-bd.ks\
    

然后再创建一个iso;

## Make isolinux.bin writable
chmod u+w V100082-01U/isolinux/isolinux.bin

# Build the V100082-01Uiso
cdrtools/cdrtools-*/mkisofs/OBJ/i386-darwin-clang/mkisofs -r -J -T -o V100082-01U.iso -b isolinux/isolinux.bin \
-c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R \
-m TRANS.TBL -v -V Oracle\ Linux\ 7.2 ./V100082-01U

安装iso映像并选择' linux_basicserver_silent'安装选项安装似乎在消息上停止'开始自动安装'

enter image description here

在安装菜单中选择标准交互式安装时,安装也会冻结最新步骤'已达到目标基本系统'

enter image description here

几分钟后出现同样的错误' dracut-initqueue timeout'反复显示。

enter image description here

任何提示如何解决这个问题?

- 2016年10月27日更新 -

当使用mkisofs比较orignal iso和创建的iso时,我认为没有实质性差异。

原始

./isoinfo -d -i V100082-01.iso
CD-ROM is in ISO 9660 format
System id: LINUX
Volume id: OL-7.2 Server.x86_64
Volume set id: 
Publisher id: 
Data preparer id: 
Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
Copyright File id: 
Abstract File id: 
Bibliographic File id: 
Volume set size is: 1
Volume set sequence number is: 1
Logical block size is: 2048
Volume size is: 2178717
El Torito VD version 1 found, boot catalog is in sector 701

Joliet with UCS level 3 found.
SUSP signatures version 1 found
Rock Ridge signatures version 1 found
Rock Ridge id 'RRIP_1991A'
Eltorito validation header:
    Hid 1
    Arch 0 (x86)
    ID ''
    Cksum AA 55 OK
    Key 55 AA
    Eltorito defaultboot header:
        Bootid 88 (bootable)
        Boot media 0 (No Emulation Boot)
        Load segment 0
        Sys type 0
        Nsect 4
        Bootoff EFE 3838

重建

./isoinfo -d -i V100082-01U.iso 
CD-ROM is in ISO 9660 format
System id: Mac OS X
Volume id: Oracle Linux 7.2
Volume set id: 
Publisher id: 
Data preparer id: 
Application id: MKISOFS ISO9660/HFS/UDF FILESYSTEM BUILDER & CDRECORD CD/DVD/BluRay CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
Copyright File id: 
Abstract File id: 
Bibliographic File id: 
Volume set size is: 1
Volume set sequence number is: 1
Logical block size is: 2048
Volume size is: 2251903
El Torito VD version 1 found, boot catalog is in sector 718

Joliet with UCS level 3 found.
SUSP signatures version 1 found
Rock Ridge signatures version 1 found
Rock Ridge id 'RRIP_1991A'
Eltorito validation header:
    Hid 1
    Arch 0 (x86)
    ID ''
    Cksum AA 55 OK
    Key 55 AA
    Eltorito defaultboot header:
        Bootid 88 (bootable)
        Boot media 0 (No Emulation Boot)
        Load segment 0
        Sys type 0
        Nsect 4
        Bootoff 2CF 719

1 个答案:

答案 0 :(得分:0)

不使用7zip,而是使用cdrtool实用程序isoinfo提取原始iso映像。

mkdir V100082-01U
cd V100082-01U
isoinfo -R -X -i ../V100082-01.iso

然后修改图像并使用mkisofs重建

## Make isolinux.bin writable
chmod u+w work/isolinux/isolinux.bin

# Build the V100082-01Uiso 
cdrtools/cdrtools-*/mkisofs/OBJ/i386-darwin-clang/mkisofs -r -J -T -o V100082-01U2.iso -b isolinux/isolinux.bin \
-c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -sysid LINUX \
-m TRANS.TBL -v -V OL-7.2\ Server.x86_64 ./work