Centos7

無法創建 CentOS 7.2 Kickstart DVD

  • January 3, 2017

我對 kickstart 概念還很陌生,過去幾天我一直在閱讀和測試這個,我遇到了一個問題,我現在似乎在網路上的任何地方都找不到……

起初我想創建一個 PXE 引導 kickstart 安裝,但是這個選項需要一個 DHCP 伺服器,出於安全原因,我目前的網路不允許我安裝它。因此,我想創建 DVD kickstart。

所以我一直在關注多個不同的指南,它們看起來都非常相似,我最終得到了相同的結果。

這是我一直在做的事情:

1)掛載目前ISO

[root@olexporch01 ISO]# mount -o loop /ISO/CentOS-7-x86_64-DVD-1511.iso /media/
mount: /dev/loop0 is write-protected, mounting read-only
[root@olexporch01 ISO]# cd /media/
[root@olexporch01 media]# ls -l
total 636
-r--r--r--. 1 root root     14 Dec  9 17:35 CentOS_BuildTag
dr-xr-xr-x. 3 root root   2048 Dec  9 17:33 EFI
-r--r--r--. 1 root root    215 Dec  9 17:35 EULA
-r--r--r--. 1 root root  18009 Dec  9 17:35 GPL
dr-xr-xr-x. 3 root root   2048 Dec  9 17:33 images
dr-xr-xr-x. 2 root root   2048 Dec  9 17:33 isolinux
dr-xr-xr-x. 2 root root   2048 Dec  9 17:33 LiveOS
dr-xr-xr-x. 2 root root 612352 Dec  9 18:13 Packages
dr-xr-xr-x. 2 root root   4096 Dec  9 18:14 repodata
-r--r--r--. 1 root root   1690 Dec  9 17:35 RPM-GPG-KEY-CentOS-7
-r--r--r--. 1 root root   1690 Dec  9 17:35 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root   2883 Dec  9 18:14 TRANS.TBL
  1. 將目前 ISO 解壓到工作文件夾為此,我使用了 2 個不同的命令,從 ISO 目錄到工作目錄的簡單 cp -pr * 或
[root@olexporch01 /]# tar -cvf - media | (cd /bootiso/centos/ && tar -xvf - )

命令。我試圖讓 ISO 的完整性保持不變(我們永遠不知道)

通常,在這裡我會插入 kickstart 文件並重建 ISO,但只是為了測試,我使用與原始 ISO 完全相同的文件重新創建了 ISO

[root@olexporch01 /]# cd /bootiso/centos/media/
[root@olexporch01 media]# ls -l
total 292
-r--r--r--. 1 root root     14 Dec  9 17:35 CentOS_BuildTag
dr-xr-xr-x. 3 root root     33 Dec  9 17:33 EFI
-r--r--r--. 1 root root    215 Dec  9 17:35 EULA
-r--r--r--. 1 root root  18009 Dec  9 17:35 GPL
dr-xr-xr-x. 3 root root     54 Dec  9 17:33 images
dr-xr-xr-x. 2 root root   4096 Dec  9 17:33 isolinux
dr-xr-xr-x. 2 root root     41 Dec  9 17:33 LiveOS
dr-xr-xr-x. 2 root root 200704 Dec  9 18:13 Packages
dr-xr-xr-x. 2 root root   4096 Dec  9 18:14 repodata
-r--r--r--. 1 root root   1690 Dec  9 17:35 RPM-GPG-KEY-CentOS-7
-r--r--r--. 1 root root   1690 Dec  9 17:35 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root   2883 Dec  9 18:14 TRANS.TBL
[root@olexporch01 media]# mkisofs -o ../boot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V boot.iso .
I: -input-charset not specified, using utf-8 (detected in locale settings)
Using RPM_G000.;1 for  /RPM-GPG-KEY-CentOS-7 (RPM-GPG-KEY-CentOS-Testing-7)
Using YUM_P000.RPM;1 for  ./Packages/yum-plugin-aliases-1.1.31-34.el7.noarch.rpm (yum-plugin-changelog-1.1.31-34.el7.noarch.rpm)
Using YUM_P001.RPM;1 for  ./Packages/yum-plugin-changelog-1.1.31-34.el7.noarch.rpm (yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm)
Using YUM_P002.RPM;1 for  ./Packages/yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm (yum-plugin-tmprepo-1.1.31-34.el7.noarch.rpm)
Using YUM_P003.RPM;1 for  ./Packages/yum-plugin-tmprepo-1.1.31-34.el7.noarch.rpm (yum-plugin-verify-1.1.31-34.el7.noarch.rpm)
...
...
...
Using ABRT_005.RPM;1 for  ./Packages/abrt-gui-2.1.11-36.el7.centos.x86_64.rpm (abrt-gui-libs-2.1.11-36.el7.centos.x86_64.rpm)
Using 389_D000.RPM;1 for  ./Packages/389-ds-base-1.3.4.0-19.el7.x86_64.rpm (389-ds-base-libs-1.3.4.0-19.el7.x86_64.rpm)
Size of boot image is 4 sectors -> No emulation
 0.23% done, estimate finish Tue Feb  9 08:15:35 2016
 0.46% done, estimate finish Tue Feb  9 08:15:35 2016
 0.70% done, estimate finish Tue Feb  9 08:15:35 2016
 0.93% done, estimate finish Tue Feb  9 08:15:35 2016
 1.16% done, estimate finish Tue Feb  9 08:15:35 2016
 1.39% done, estimate finish Tue Feb  9 08:15:35 2016
 1.62% done, estimate finish Tue Feb  9 08:16:36 2016
 1.86% done, estimate finish Tue Feb  9 08:16:28 2016
 2.09% done, estimate finish Tue Feb  9 08:16:22 2016
 2.32% done, estimate finish Tue Feb  9 08:16:18 2016
...
...
...
99.23% done, estimate finish Tue Feb  9 08:15:57 2016
99.46% done, estimate finish Tue Feb  9 08:15:57 2016
99.69% done, estimate finish Tue Feb  9 08:15:57 2016
99.92% done, estimate finish Tue Feb  9 08:15:57 2016
Total translation table size: 2048
Total rockridge attributes bytes: 416616
Total directory bytes: 632832
Path table size(bytes): 140
Max brk space used 3ad000
2156686 extents written (4212 MB)
[root@olexporch01 media]# cd ..
[root@olexporch01 centos]# ls -l
total 4313376
-rw-r--r--. 1 root root 4416892928 Feb  9 08:15 boot.iso
dr-xr-xr-x. 8 root root       4096 Dec  9 18:14 media

最後一個 ls 是為了確保正確創建了 ISO,但是現在,當我將原始文件與新文件進行比較時,即使我使用了相同的文件,新文件也更大……

[root@olexporch01 centos]# diff boot.iso /ISO/CentOS-7-x86_64-DVD-1511.iso
Binary files boot.iso and /ISO/CentOS-7-x86_64-DVD-1511.iso differ
[root@olexporch01 centos]# ls -l boot.iso ; ls -l /ISO/CentOS-7-x86_64-DVD-1511.iso
-rw-r--r--. 1 root root 4416892928 Feb  9 08:15 boot.iso
-rw-------. 1 root root 4329570304 Feb  9 08:04 /ISO/CentOS-7-x86_64-DVD-1511.iso

當我嘗試從具有與原始文件相同的文件的新 ISO 啟動時,我收到此錯誤

錯誤資訊

除了新核心會發生的問題外,我似乎在網上找不到任何東西,但我沒有編譯新核心……

有人對我有想法嗎?

謝謝!

馬克

所以我發現了問題所在,如果其他人遇到這個問題。基本上,我所遵循的所有指南都缺少 mkisofs 命令中的參數。

這是實際的命令:

[root@olexporch01 media]# cd /bootiso/centos/media/
[root@olexporch01 media]# mkisofs -o CentOS7.2-Base-Image.iso -b isolinux/isolinux.bin 
\-c isolinux/boot.cat -no-emul-boot -V 'CentOS 7 x86_64' 
\-boot-load-size 4 -untranslated-filenames -boot-info-table -R -J -v -T -hfs .

“-hfs”參數是創建 ISO 文件系統 hfs 所必需的。沒有 hfs,ISO 將無法啟動。

總結一下,這是我創建 ISO 的方式,完整指南:

[root@olexporch01 /]# mkdir -p /bootiso/centos/media
[root@olexporch01 /]# mount /dev/cdrom /media
[root@olexporch01 /]# cd /media
[root@olexporch01 /media]# cp -pr * /bootiso/centos/media/
[root@olexporch01 /media]# cp -p /root/anaconda-ks.cfg /bootiso/centos/media/ks.cfg
[root@olexporch01 /media]# cd /bootiso/centos/media
[root@olexporch01 /media]# mkisofs -o CentOS7.2-Base-Image.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -V 'CentOS 7 x86_64' -boot-load-size 4 -untranslated-filenames -boot-info-table -R -J -v -T -hfs .

希望有一天這可以幫助某人!:)

引用自:https://serverfault.com/questions/755051