制作自定義系統iso鏡像
阿新 • • 發佈:2018-03-01
app enable file http msg 一個 BE 簡化 oot
一、制作自己的ISO啟動盤篇
在需要安裝特定系統的時候,我們使用原版的linux系統盤鏡像來安裝,需要手動操作N多步,在機器非常多的環境下,這種方式顯然不理想,這是我我們就需要制作我們特定的系統盤來簡化安裝,釋放雙手。
制作自己的ISO啟動盤其實很簡單,只需要了解iso光盤啟動需要加載的文件,然後借助工具制作就可以。
1、創建引導光盤文件
- 1、創建一個目錄用來存放我們的iso文件
- mkdir –pv /app/myiso
- 2、將光盤掛載到一個目錄下,方便我們復制目錄
- mount /dev/sr0 /mnt
- 3、將光盤啟動文件拷貝到我們創建的目錄內
- cp -r /mnt/ /app/myiso/ #整個光盤復制過去
- 4、創建應答文件目錄並將應答文件拷貝過去
- mkdir /app/myiso/isolinux/ksdir
- cp path/ks_file /app/myiso/isolinux/ksdir/ks-mini.cfg #應答文件的創建參見http://blog.vservices.top/myblog/?p=766 第三節
- 5、修改linux的啟動菜單文件,可以參見http://blog.vservices.top/myblog/?p=766 第二節
- vim /app/myiso/isolinux/isolinux.cfg
- default vesamenu.c32
- timeout 600
- display boot.msg
- menu clear
- menu background splash.png
- label linux
- menu label ^Install CentOS 7
- kernel vmlinuz
- append initrd=c7/initrd.img ks=ksdir/ks-mini.cfg
- label local
- menu default
- menu label Boot from ^local drive
- localboot 0xffff
- 6、刪除“/app/myiso/”下的所有 "TRANS.TBL" 文件,該文件會在生成新的iso時重新生成
- find /app/myiso/ -name TRANS.TBL -exec rm {} \;
- 7、刪除 /app/myiso/repodata下除了以‘-comps.xml‘結尾的所有文件(被排除掉的是包組數據庫,這個需要保留)
- grep -v ‘-comps.xml$‘ /app/myiso/repodata/ | xargs rm -rf
- 8、創建新的rpm包數據庫
- cd /app/myiso/
- createrepo -g repodata/38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml ./ #該命令依賴createrepo這個rpm包
2、生成鏡像
- mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 7 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/c7.iso /app/myiso/
- 新的鏡像保存在/root下
3、刻錄鏡像
我們生成的鏡像雖然可以引導,但是如果將其刻錄到U盤內將不能啟動,原因是:刻錄後,U盤的MBR是空的。所以準對這種情況我們需要對光盤鏡像做一下處理。
處理方法:
- 我們需要借助syslinux這個軟件包
- yum install -y syslinux
- 安裝好這個包後我們使用一下命令,填充MBR,這樣刻入硬盤或U盤是MBR已經做好了引導區
- isohybrid /root/c7.iso
- 做完這一步,我們就可以查看這個鏡像的前512個字節了
- hexdump -C -n 512 /root/c7.iso
制作自定義系統iso鏡像