1.挂载CentOS6.6镜像
[root@test88 ~]# mkdir /application/tools -p[root@test88 ~]# cd /application/tools/[root@test88 tools]# ls CentOS-6.6-x86_64-bin-DVD1.iso[root@test88 tools]# mount -o loop CentOS-6.6-x86_64-bin-DVD1.iso /mnt/
2.复制镜像内容到目录
[root@test88 ~]# mkdir -p /application/centos6[root@test88 centos6]# rsync -avz --exclude=Packages/* --exclude=repodata/* /mnt/ /application/centos6/#补充:rsync后面如果是/application/centos6,则会自动创建目录#Packages和repodata里的内容后面要自定义添加
3.收集需要的软件包
#root目录下默认有一个install.log文件,记录着系统安装安装的软件包cdawk '/Installing/{print "rsync -az /mnt/Packages/"$2".rpm /application/centos6/Packages/"}' install.log | bashcd /mnt/Packages/cp tree-1.5.3-2.el6.x86_64.rpm nmap-5.51-4.el6.x86_64.rpm lrzsz-0.12.20-27.1.el6.x86_64.rpm dos2unix-3.1-37.el6.x86_64.rpm telnet-0.17-48.el6.x86_64.rpm /application/centos6/Packages/
4.初始化repodata信息,创建yum源
cd /application/centos6/yum install -y createrepocp /mnt/repodata/9e2ddcc42b44eb150ebc61dde29c997318d8330b92205b3dbb3a87bcc06d10be-c6-x86_64-comps.xml comps.xmlcreaterepo -g comps.xml .#comps.xml 记录了包组内rpm包信息和依赖关系
5.添加ks.cfg文件
vim /application/centos6/isolinux/ks.cfg#platform=x86, AMD64, or Intel EM64T#version=DEVEL# Firewall configurationfirewall --disabled# Install OS instead of upgradeinstall# Use harddrive installationharddrive --partition=/dev/sda4 --dir=.# Root passwordrootpw --iscrypted $1$j2xUB1S7$9MW5sEYgcn3P/dqgF0/8L.# System authorization informationauth --useshadow --passalgo=sha512# Use graphical installtext# System keyboardkeyboard us# System languagelang en_US.UTF-8# SELinux configurationselinux --disabled# Do not configure the X Window Systemskipx# Installation logging levellogging --level=info# Reboot after installationreboot# System timezonetimezone Asia/Shanghai# System bootloader configurationbootloader --location=mbr# Clear the Master Boot Recordzerombr# Partition clearing informationclearpart --all --initlabel# Disk partitioning informationpart /boot --ondisk=/dev/sdb --asprimary --fstype="ext4" --size=200part swap --ondisk=/dev/sdb --asprimary --fstype="swap" --size=1024part / --ondisk=/dev/sdb --asprimary --fstype="ext4" --grow --size=1%packages@base@compat-libraries@debugging@developmenttreenmaplrzszdos2unixtelnet%postecho "Welcome to the peter linux system" > /etc/motd%end
6.修改isolinux.cfg引导配置文件
vim /application/centos6/isolinux/isolinux.cfglabel linux menu label ^Install or upgrade an existing system menu default kernel vmlinuz append ks=hd:sda4:/isolinux/ks.cfg initrd=initrd.img
7.生成镜像
yum install -y mkisofsmkisofs -R -J -T -v -no-emul-boot -boot-load-size 4 -boot-info-table -V CS66ISO -b isolinux/isolinux.bin -c isolinux/boot.cat -o /application/CentOS-6.6-x86_64-peter.iso /application/centos6/
8.生成ISO文件MD5值
yum install -y isomd5sumimplantisomd5 CentOS-6.6-x86_64-peter.iso checkisomd5 CentOS-6.6-x86_64-peter.iso#implantisomd5是向iso文件里植入md5值,checkisomd5是检查iso文件里的md5值
9.使用UltraISO制作启动U盘
#这里还可以使用linux下的isohybrid生成混合iso,然后dd写入的办法制作启动U盘。
10.使用虚拟机进行测试
设置虚拟机--》添加磁盘--》添加物理磁盘
打开高级--》设置U盘为第一启动盘
启动虚拟机,即可自动安装
注意事项
1.U盘设为第一启动项后默认识别为/dev/sda4
如果U盘做成引导盘后又手动进行了分区,那么识别就会以分区为准,比如/dev/sda1
将可引导ISO转化为混合ISO写入U盘才可以引导,混合ISO不是ISO,所以在isolinux.cfg中
append ks=hd:sda4:/isolinux/ks.cfg initrd=initrd.img 要写hd:sda4而不是cdrom
2.当有多块磁盘时需要在ks.cfg中加入--ondisk
另外,如果U盘分成了引导分区和其他分区,那么也要指定--ondisk,不然U盘上除了引导分区外的其他分区默认也会纳入Linux磁盘分区的范围。
# Disk partitioning information
part /boot --ondisk=/dev/sdb --asprimary --fstype="ext4" --size=200
part swap --ondisk=/dev/sdb --asprimary --fstype="swap" --size=1024
part / --ondisk=/dev/sdb --asprimary --fstype="ext4" --grow --size=1
3.ks文件中安装方式要设置为硬盘安装,--partition表示从分区安装 --dir表示从哪个安装树安装,安装树就是包含所有引导安装文件的那个目录
harddrive --partition=/dev/sda4 --dir=.
由于直接从centos6这个目录创建了镜像,所以当前目录即为安装树