博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
制作自动化系统安装U盘
阅读量:5170 次
发布时间:2019-06-13

本文共 3759 字,大约阅读时间需要 12 分钟。

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这个目录创建了镜像,所以当前目录即为安装树
  

 

转载于:https://www.cnblogs.com/Peter2014/p/7609107.html

你可能感兴趣的文章
Objective C 总结(十一):KVC
查看>>
BZOJ 3747 洛谷 3582 [POI2015]Kinoman
查看>>
vue实战(7):完整开发登录页面(一)
查看>>
Visual Studio自定义模板(二)
查看>>
【Mood-20】滴滤咖啡做法 IT工程师加班必备 更健康的coffee 项目经理加班密鉴
查看>>
读《构建之法-软件工程》第四章有感
查看>>
使用 Printf via SWO/SWV 输出调试信息
查看>>
.net 分布式架构之分布式锁实现(转)
查看>>
Problem E: Automatic Editing
查看>>
SpringBoot 使用 MyBatis 分页插件 PageHelper 进行分页查询
查看>>
《DSP using MATLAB》Problem 6.17
查看>>
微信公众平台开发实战Java版之如何网页授权获取用户基本信息
查看>>
一周TDD小结
查看>>
sizeof与strlen的用法
查看>>
Linux 下常见目录及其功能
查看>>
开源框架中常用的php函数
查看>>
nginx 的提升多个小文件访问的性能模块
查看>>
set&map
查看>>
集合类总结
查看>>
4.AE中的缩放,书签
查看>>