CentOS-6.5.iso定制化

1、安装制作系统镜像所需要的工具

1
yum -y install anaconda repodata createrepo mkisofs rsync

2、拷贝iso解压后的文件到/os目录下

3、修改启动安装导向文件/os/isolinux/isolinux.cfg,下面为修改后内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
default vesamenu.c32

#prompt 1

timeout 200

display boot.msg

menu background splash.jpg
menu title Welcome to GCloud 4.1!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux
menu label ^Install gcloud 4.1!
menu default
kernel vmlinuz
append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img

4、创建自响应文件 ks.cfg ,把此文件放在/os/isolinux/ks.cfg

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Kickstart file automatically generated by anaconda.

#version=DEVEL

install

cdrom

lang en_US.UTF-8

keyboard us

network --onboot no --device eth0 --bootproto dhcp --noipv6

rootpw --plaintext infocore

firewall --disabled

authconfig --enableshadow --passalgo=sha512

selinux --disabled

timezone Asia/Shanghai

bootloader --location=mbr

zerombr

clearpart --all --initlabel

%pre

mkdir /os
mount /dev/sr0 /os
repo --name="CentOS" --baseurl=file:///os --cost=100

%packages --nobase

@core

%end

reboot

%post

echo -ne '
mkdir /os/
mount -o loop /dev/sr0/ /os/
mkdir -p /root/gcloud/
cp -R /os/gcloud/* /root/gcloud/
chmod +x /root/gcloud/*.sh
/root/gcloud/compute.sh
' >>/root/install.sh

chmod +x /root/install.sh
/root/install.sh
rm -f /root/install.sh
cp /root/gcloud/onekeyInstall.sh /root/

%end

5、创建软件仓库

1
2
3
4
5
6
7
8
9
10
11
cd /os

declare -x discinfo=$(head -1 .discinfo)

cp repodata/*-c6-x86_64-comps.xml ./c6-x86_64-comps.xml

rm -f /repodata/*

mv ./c6-x86_64-comps.xml repodata

createrepo -g repodata/c6-x86_64-comps.xml ./

6.修改光盘背景,文字等信息

6.1修改系统自动安装过程中显示的背景图片.修改光盘背景,文字等信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#进入光盘images目录
cd /os/images/

#install.img镜像中包含了光盘安装过程中使用到的背景图片,挂载此img文件
mount -o loop -t squashfs install.img /mnt/install

mkdir tmp

#挂载的install.img不能编辑,需要拷贝一份,修改后替换原install.img文件
rsync -av /mnt/install/ tmp/

#进入背景图片所在目录,选择需要修改的图片,并替换(主机图片尺寸,格式需要与原来的相同),图片位置为:tmp/install/usr/share/anaconda/pixmaps

#重新创建新的install.img
mksquashfs tmp/ install_v1.img -all-root

#替换install.img
cp tmp/install_v1.img install.img
6.2 修改安装过程中的欢迎语
1
2
3
4
5
6
7
8
9
10
mkdir /os/isolinux/tmp

#解压initrd.img镜像
xz -dc ../initrd.img | cpio -id

#修改欢迎语.buildstamp文件,把其中的CentOS替换为PowerSoft
vim .buildstamp

#创建新的initrd.img并替换
find . | cpio -c -o | xz -9 --format=lzma > ../initrd.img

7、启动界面及登录界面CentOS字样修改:

1
2
3
4
5
6
7
8
9
10
11
12
13
yum install -y rpm-build

rmp -ivh *.src.rpm

rpmbuild -ba *.spec

tar -xzvf *.tar.gz

tar -zcvf *.tar.gz *

infonix-release-6-5.3.infonix.11.src.rpm

centos-release-6-5.el6.centos.11.1.x86_64.rpm

8、重构系统,生成ISO镜像

1
2
3
mkisofs -o /tmp/GCloud-4.1_64.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T .

ls .|grep -v "comps.xml"|xargs -i rm -f {} cd ../ createrepo -g repodata/comps.xml ./ declare -x discinfo=`head -1 .discinfo` mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -o/opt/Mycentos7.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-