ISO定制
定制ISO制作教程
# 定制ISO
1,環境準備
拷貝到指定目錄或者挂載系統鏡像
mkdir kylinos (存放鏡像的所有檔案)
建立自己的工作目錄
mkdir iso
把鏡像所有的檔案都拷貝到工作目錄
scp -r /root/kylinos * /root/iso
2,内部檔案分析
.discinfo此檔案包含安裝盤的識别資訊,缺少此檔案,則安裝時找不到CD光牒
.treeinfo記錄不同的安裝方式下,安裝程式所在的目錄結構
images/啟動檔案和驅動盤映像檔案目錄,最重要的是第二階段的引導映像
Packages/二進制的RPM安裝包目錄
repodata/RPM安裝包的描述檔案,如依賴關系,包含檔案,校驗資訊
isolinux/isolinux.bin 非模拟模式下的啟動引導程式,當使用mkisofs指令時,-b參數需要指向它
isolinux/isolinux.cfg啟動菜單(Boot Menu)配置檔案
3,修改XML檔案
修改comps.xml檔案
vi comps.xml 格式如下
Virtu-node
Virtu-node
node
false
false
ovirt-engine
。。。
Virtu-server
Virtu server
**
core
在修改完**comps.xml檔案後我們需要了解以下指令:
createrepo -g
createrepo 指令用于建立yum源(軟體倉庫),即為存放于本地特定位置的衆多rpm包建立索引,描述各包所需依賴資訊,并形成中繼資料。
-g --groupfile
指定本地軟體倉庫的組劃分,範例如下:
createrepo -g comps.xml /path/to/rpms
注意:組檔案需要和rpm包放置于同一路徑下。(可自行百度具體了解一下使用方法)
mkisofs指令
Linux mkisofs指令用于建立ISO 9660映像檔案。
mkisofs可将指定的目錄與檔案做成ISO 9660格式的映像檔案,以供刻錄CD光牒。
文法:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiIXZ05WZj91YpB3In5GcuQTO0MjMzETMwETOwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
參數比較多建議了解 使用時可複制
mkisofs -v -U -J -R -T -m repoview -m boot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -V Kylin-Server-10(x86_64) -o ~/Kylin-Server-v6.test.iso //root/iso/
使用指令注意事項
createrepo -g 時把修改完的檔案和PackageSec先移走
mv comps.xml ~/
删除原來的repodata/檔案夾
rm -rf repodata
複制comps.xml到iso工作目錄中
cp comps.xml /root/iso
最後執行
createrepo -g comps.xml ./ 生成repodata/
mkisofs 生成iso時需要注意:
如果在執行createrpo -g 時 沒有把PackageSec檔案夾移走 mkisofs生成的ISO安裝時會安裝報錯。
生成ISO檔案:
mkisofs -v -U -J -R -T -m repoview -m boot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -V **-o ~/Centos-Server-v6.test.iso //root/iso/
最後會在我們的~目錄看到我們生成的iso檔案