Linux用PXE自动化安装系统和制作引导盘
来源:互联网 发布:淘宝拍卖的房子利弊 编辑:程序博客网 时间:2024/06/05 08:44
用到的主要文件
这些文件主要在光盘里面
solinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目
isolinux.cfg: isolinux.bin的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件
vesamenu.c32:是光盘启动后的安装图形界面,也属于SYSLINUX项目, menu.c32版本是纯文本的菜单
Memtest:内存检测,这是一个独立的程序
splash.jgp:光盘启动界面的背景图
vmlinuz:是内核映像
initrd.img是ramfs (先cpio,再gzip压缩)
制作引导光盘
创建引导光盘:
只做启动引导,ks默认是光盘里的myks.cfg文件,可以在菜单界面手动输入ks文件路径
cp -r /misc/cd/isolinux/ /tmp/myiso/vim /tmp/myiso/isolinux/isolinux.cfginitrd=initrd.img text ks=cdrom:/myks.cfgcp /root/myks.cfg /tmp/myiso/cd /tmp;mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso myiso/
注意:以上命令的路径都是相对于光盘的根, 而和工作目录无关,/misc/cd代表光盘路径
- mkisofs选项:
- -o 指定映像文件的名称。
-b 指定在制作可开机光盘时所需的开机映像文件。
-c 制作可开机光盘时,会将开机映像文件中的 no-eltoritocatalog 全部内容作成一个文件。
-no-emul-boot 非模拟模式启动。
-boot-load-size 4 设置载入部分的数量
-boot-info-table 在启动的图像中现实信息
-R 或 -rock 使用 Rock RidgeExtensions
-J 或 -joliet 使用 Joliet 格式的目录与文件名称
-v 或 -verbose 执行时显示详细的信息
-T 或 -translation-table 建立文件名的转换表,适用于
不支持 Rock Ridge Extensions 的系统上
PXE安装
因为centos6和centos7命令有所不同,安装的过程会有差异
centos7
1.安装前准备:关闭防火墙和SELINUX, DHCP服务器配置静态IP
2.所需软件包并启动服务
systemctl enable httpdsystemctl start httpdsystemctl enable tftp.socket (centos6:chkconfig tftp on)systemctl start tftp.socket (centos6:service xinetd restart)systemctl enable dhcpdmkdir /var/www/html/centos/7mount /dev/sr0 /var/www/html/centos/7
3.准备ks文件
/var/www/html/ks/ks6.cfg #注意:权限
kickstart详细介绍
4.配置DHCP服务并启动
vi /etc/dhcp/dhcpd.confoption domain-name "example.org";default-lease-time 600;max-lease-time 7200;subnet 192.168.100.0 netmask 255.255.255.0 {range 192.168.100.1 192.168.100.200;filename "pxelinux.0";next-server 192.168.100.100;}systemctl start dhcpd
5.准备相关文件
mkdir /var/lib/tftpboot/pxelinux.cfg/cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
6.弄好后的文件列表如下:
/var/lib/tftpboot/
├── initrd.img
├── menu.c32
├── pxelinux.0
├── pxelinux.cfg
│ └── default
└── vmlinuz
7.准备启动菜单
vi /var/lib/tftpboot/pxelinux.cfg/defaultdefault menu.c32 #启动菜单样式简约版timeout 600 #等待60s进入默认菜单menu title PXE INSTALL MENU #启动菜单大标题label auto menu label Install CentOS 7 Auto menu default kernel vmlinuz #内核文件,路径以tftpboot目录为根目录 append initrd=initrd.img ks=http://192.168.100.100/ks/ks7.cfg #kickstart文件路径label manual menu label Install CentOS 7 Manual kernel vmlinuz append initrd=initrd.img inst.repo=http://192.168.100.100/centos/7 #远程yum源
centos6
1.安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP
yum install dhcp httpd tftp-server syslinuxchkconfig tftp onchkconfig xinetd onchkconfig httpd onchkconfig dhcpd onservice httpd startservice xinetd start
2.准备Yum 源和相关目录
mkdir -pv /var/www/html/centos/{6,ks}mount /dev/sr0 /var/www/html/centos/6
3.准备kickstart文件
/var/www/html/centos/ks/centos6.cfgchmod 644 /var/www/html/centos/ks/centos6.cfg
4.准备相关的启动文件
mkdir /var/lib/tftpboot/pxelinux.cfg/cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/cd /misc/cd/images/pxeboot/cp vmlinuz initrd.img /var/lib/tftpbootcd /misc/cd/isolinux/cp boot.msg vesamenu.c32 splash.jpg /var/lib/tftpboot
5.准备启动菜单文件
cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/defaultvim /var/lib/tftpboot/pxelinux.cfg/defaultdefault vesamenu.c32 指定菜单风格timeout 600display boot.msgmenu background splash.jpgmenu title Welcome to wang CentOS 6menu 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 automenu label ^Automatic Install Centos6kernel vmlinuzappend initrd=initrd.img ks=http://192.168.100.100/centos/ks/centos6.cfglabel manualmenu label ^Manual Install Centoskernel vmlinuzappend initrd=initrd.img inst.repo=http://192.168.100.100/centos/6label localmenu defaultmenu label Boot from ^local drivelocalboot 0xffff
6.目录结构如下:
tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── boot.msg
├── initrd.img
├── pxelinux.0
├── pxelinux.cfg
│ └── default
├── splash.jpg
├── vesamenu.c32
└── vmlinuz
7.配置dhcp服务并启动
vim /etc/dhcp/dhcpd.confoption domain-name "hello.com"; #域名option domain-name-servers 192.168.100.1;subnet 192.168.100.0 netmask 255.255.255.0 {range 192.168.100.1 192.168.100.200; #分配IP地址范围option routers 192.168.100.1; #网关filename "pxelinux.0"; #网络启动引导文件next-server 192.168.100.100; #TFTP服务器IP}service dhcpd start
如果是实验要重新开一个虚拟网络,以防干扰现在的网络,虚拟机内存要大于1G,然后启动电脑进入BIOS选择网络启动
总结
PXE安装的整体流程:
主机–>dhcp服务器–>获取IP–>访问TFTP服务器IP–>获取pxelinux.0–>内核、驱动、ks文件路径–>访问ks文件–>获取yum源路径–>下载系统所需安装包
过程中注意事项都在过程中详细列出,想了解kickstart文件格式请看 anaconda详解
- Linux用PXE自动化安装系统和制作引导盘
- PXE网络引导自动化安装系统详解
- Linux下PXE+Kickstart自动化安装系统
- Linux学习pxe自动化安装系统
- PXE引导无人值守安装LINUX----网络安装系统
- 回顾SSH 和SSL 协议+系统自动化安装 : PXE服务
- 用KS和pxe自动安装linux系统
- PXE + KickStart实现全自动化系统安装
- PXE+DHCP+Apache+Kickstart系统自动化安装
- 用苹果系统制作U盘引导安装苹果系统
- PXE自动化批量安装linux操作系统
- linux操作系统自动化安装之PXE
- Linux 之pxe全自动化安装
- PXE 网络化安装linux系统
- PXE自动安装Linux系统
- linux学习 pxe安装系统
- PXE自动化安装centos6和centos7
- 用u盘制作引导盘。安装mac系统
- 【第二周】项目3-汉诺塔程序
- 在网络中,带宽MB可以写成Mb吗?
- ES6-proxy
- Leetcode 题解系列(一)
- 2017 ACM/ICPC Asia Regional Qingdao Online:1008 Chinese Zodiac
- Linux用PXE自动化安装系统和制作引导盘
- 设备注册与驱动注册
- MySQL 高可用架构之MMM
- 求解最短路径Bellman_Ford 算法优化版——结合队列
- GitHub操作
- 理解 Linux 的硬链接与软链接
- Qt操作xml文件(增删改功能)
- JQuery
- Go中使用MySQL连接池