|
使用kickstart制作一个自动化安装的ISO盘
0. 提前准备, 需要安装的软件, mkisofs, kickstart
1. 挂载CentOS光盘,然后复制光盘内容到一个指定文件夹
1
2
3
4
5
6
7
8
| mount /dev/sr1 /media/cdrom/ -t iso9660 #注意我用的是虚拟机, 注意使用你的光驱设备
mkdir -p /root/auto_install
rsync -a /media/cdrom/ /root/auto_install/
# 或者使用 cp -arf /media/cdrom /root/auto_install/
# 在cp的时候一定要注意, 本人在这块耽误了1个下午时间,
# 因为我一开使用 cp -r /cdrom/* 来复制的, 才发现这种方法不会复制隐藏文件,
# 然而/cdrom下面有一些隐藏文件是启动引导所必须的, 导致没能成功
# 正确方法是使用 归档复制 cp -a /media/cdrom /root/auto_install/ 这样来复制就可以了
|
2. 复制kickstart配置文件anaconda-ks.cfg到该目录下
1
| cp /root/anaconda-ks.cfg /root/auto_install/cdrom/ks.cfg
|
3. 配置kickstart配置文件(这个需要根据跟人情况具体配置)
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
62
63
64
65
| vim /root/auto_install/cdrom/ks.cfg
# kstart file automatically generated by anaconda.
#version=DEVEL
install
cdrom
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6
rootpw --iscrypted $6$lRieOm2AuzqOKJk1$16DB6y2KHugFfuqkcj0Rmcw8568g304tkOSkOg7V7vt04MPvg30iemq48ljTX9iaWlZTVs8wQ5x7dR1.bi6Gc1
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Asia/Seoul
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
text
zerombr
clearpart --all --drives=sda
part /boot --fstype=ext4 --size=500
part pv.008002 --grow --size=1
volgroup vg_stu --pesize=4096 pv.008002
logvol / --fstype=ext4 --name=lv_root --vgname=vg_stu --grow --size=1024 --maxsize=51200
logvol swap --name=lv_swap --vgname=vg_stu --grow --size=2016 --maxsize=2016
repo --name="CentOS" --baseurl=file:///mnt/source/ --cost=100
reboot
%packages
@base
@console-internet
@core
@debugging
@directory-client
@java-platform
@mysql-client
@network-file-system-client
@php
@performance
@perl-runtime
@postgresql-client
@server-platform
@server-policy
@turbogears
@web-server
@web-servlet
@workstation-policy
oddjob
sgpio
device-mapper-persistent-data
pax
samba-winbind
certmonger
pam_krb5
krb5-workstation
perl-DBD-SQLite
certmonger
perl-CGI
%end
|
4. 设置光盘自动启动安装, ks文件位置定位
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
| chmod +w /root/auto_install/cdrom/isolinux/isolinux.cfg
vim /root/auto_install/cdrom/isolinux/isolinux.cfg
default vesamenu.c32
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.5!
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 or upgrade an existing system
kernel vmlinuz
append ks=cdrom:/ks.cfg initrd=initrd.img # 在这里添加ks文件路径参数
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
menu default #在这里添加默认启动项
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -
|
5. 制作新的iso镜像文件
1
2
3
4
5
| mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 \
--boot-info-table -V "CentOS 6.5 x86_64 AUTO Install" \
-b isolinux/isolinux.bin -c isolinux/boot.cat \
-o /root/centos6.4_auto_install.iso \
/root/auto_install/cdrom/
|
6. 将做好的ISO进行安装测试
|
|