使用kickstart制作一个自动化安装的ISO盘

0. 提前准备, 需要安装的软件, mkisofs, kickstart, CentOS-6.5-i386-bin-DVD1.iso

1. 挂载CentOS6.5(CentOS-6.5-i386-bin-DVD1.iso)光盘,然后复制光盘内容到一个指定文件夹

mount /dev/sr1 /media/cdrom/ -t iso9660 #注意我用的是虚拟机, 注意使用你的光驱设备mkdir -p /root/auto_installrsync -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到该目录下

cp /root/anaconda-ks.cfg /root/auto_install/cdrom/ks.cfg

3. 配置kickstart配置文件(这个需要根据跟人情况具体配置)

vim /root/auto_install/cdrom/ks.cfg# kstart file automatically generated by anaconda. #version=DEVELinstallcdromlang en_US.UTF-8keyboard usnetwork --onboot yes --device eth0 --bootproto dhcp --noipv6rootpw  --iscrypted $6$lRieOm2AuzqOKJk1$16DB6y2KHugFfuqkcj0Rmcw8568g304tkOSkOg7V7vt04MPvg30iemq48ljTX9iaWlZTVs8wQ5x7dR1.bi6Gc1firewall --service=sshauthconfig --enableshadow --passalgo=sha512selinux --disabledtimezone Asia/Seoulbootloader --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 worktextzerombrclearpart --all --drives=sda part /boot --fstype=ext4 --size=500part pv.008002 --grow --size=1  volgroup vg_stu --pesize=4096 pv.008002logvol / --fstype=ext4 --name=lv_root --vgname=vg_stu --grow --size=1024 --maxsize=51200logvol swap --name=lv_swap --vgname=vg_stu --grow --size=2016 --maxsize=2016 repo --name="CentOS"  --baseurl=file:///mnt/source/ --cost=100reboot%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-policyoddjobsgpiodevice-mapper-persistent-datapaxsamba-winbindcertmongerpam_krb5krb5-workstationperl-DBD-SQLitecertmongerperl-CGI%end

4. 设置光盘自动启动安装, ks文件位置定位

chmod +w /root/auto_install/cdrom/isolinux/isolinux.cfgvim /root/auto_install/cdrom/isolinux/isolinux.cfgdefault vesamenu.c32#prompt 1timeout 600display boot.msgmenu background splash.jpgmenu title Welcome to CentOS 6.5!menu color border 0 #ffffffff #00000000menu color sel 7 #ffffffff #ff000000menu color title 0 #ffffffff #00000000menu color tabmsg 0 #ffffffff #00000000menu color unsel 0 #ffffffff #00000000menu color hotsel 0 #ff000000 #ffffffffmenu color hotkey 7 #ffffffff #ff000000menu color scrollbar 0 #ffffffff #00000000label 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 nomodesetlabel rescue  menu label ^Rescue installed system  kernel vmlinuz  append initrd=initrd.img rescuelabel local  menu label Boot from ^local drive  menu default #在这里添加默认启动项  localboot 0xfffflabel memtest86  menu label ^Memory test  kernel memtest  append -

5. 制作新的iso镜像文件

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进行安装测试