制作 openshift iso

###制作iso过程文档

制作openshift iso

Fedora发行版制作的工具主要有revisor和pungi两种;
revisor是一个图形化的工具,也可用命令行,但是经常会有bug,而且比较臃肿,感觉是给初级用户用的;
pungi是Fedora官方制作(或叫spin)发行版的工具,命令行,总共也就4、5个Python文件;
下面是使用 pungi来制作的iso

安装pungi

以下都是环境都是基于centos7

1
2
3
4
5
6
7
8
9
## 安装epel repo
yum install -y epel-release
## 安装elrepo
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
## 安装 pungi
yum install -y pungi hfsplus-tools kmod-hfs kmod-hfsplus docker

使用pungi build iso

1
2
3
4
5
6
git clone http://gitlab.sh.99cloud.net/zhubingbing/openshift-iso.git
cd openshif-iso
./build cobbler //先build cobbler tar包
./build //等待10几分钟iso就build好了
ls /root/kolla-iso/Ocata/x86_64/iso/CentOS-DVD-x86_64-Ocata.iso

build.sh代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash -e
case $1 in
'')
pungi --name=CentOS --ver=Ocata -c ks.cfg --isfinal --nosource --nodebuginfo --force -G -C -B
rsync -a isolinux.cfg Ocata/x86_64/os/isolinux/
rsync -a os_ks.cfg Ocata/x86_64/os/images/ks.cfg
mount Ocata/x86_64/os/images/efiboot.img /mnt
rsync -a grub.cfg /mnt/EFI/BOOT/
rsync -a grub.cfg Ocata/x86_64/os/EFI/BOOT/
umount /mnt
rm -f Ocata/x86_64/os/images/macboot.img
mkdir Ocata/x86_64/os/extras
rsync -a cobbler/init.sh Ocata/x86_64/os/extras
rsync -a cobbler/cobbler.tar Ocata/x86_64/os/extras
rsync -a openshift/registry.tar Ocata/x86_64/os/extras
rsync -a openshift/docker-registry.tar Ocata/x86_64/os/extras
rsync -a openshift/openshift-ansible.tar.gz Ocata/x86_64/os/extras
rsync -a openshift/openshift-package.tar Ocata/x86_64/os/extras
pungi --name=CentOS --ver=Ocata -c ks.cfg --isfinal --nosource --nodebuginfo --force -I
;;
"cobbler" )
docker build -t cobbler cobbler/build/; docker save cobbler > cobbler/cobbler.tar
;;
"clean")
rm -rf centos centos-extras docker epel logs ourtree work ocata Ocata cobbler/cobbler.tar
;;
esac

注意:

1
2
3
4
5
## 这些包自己预先准备好,因为过大就没放在github上面,路径是存在 openshif-iso/openshift/目录下面,如果没有这个目录自己建立
[root@localhost openshift]# ls
centos-openshift-origin.tar docker-registry.tar openshift-ansible.tar.gz openshift-package.tar registry.tar
[root@localhost openshift]# du -h
1.8G .
坚持原创技术分享,您的支持将鼓励我继续创作!