使用PXE结合kickstart 自动安装Linux系统

jackadmi 2014-03-11

环境:
  系统—CentOS 6.5;
  tftp和ftp服务地址:192.168.0.11;
 
原理简述:
  1. 使用pxe协议向网络中的dhcp服务器发送请求,获取ip地址,以及tftp的地址。
  2. 向tftp 服务器获取启动加载器。
  3. 启动加载器加载default文件获取启动菜单。
  4. 最后根据选择加载内核以及安装程序。

步骤:

1. 配置/etc/dhcp/dhcp.conf

subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.100192.168.0.150; #可以动态获取的地址范围
    next-server 192.168.0.11; # tftp服务器的地址
    filename="pxelinux.0" #网络引导程序,此文件在syslinux包中
}

2. 配置tftp     
chkconfig tftp on #用来开启tftp服务

3. 向tftp服务器的家目录/var/lib/tftpboot拷贝启动和引导程序

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cp /media/isolinux/{boot.msg,splash.jpg,vesamenu.c32} /var/lib/tftpboot #boot.msg:是用来显示“[ENTER]”启动提示信息的;splash.jpg:是背景图片;vesamenu.c32是用来显示图形化的菜单的。
cp /media/images/{vmlinuz,initrd.img} /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg #网络引导程序pexelinux.0引导是会进入这个目录来加载配置文件。
cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #default即使引导程序的配置文件。

4. 使用ftp、nfs、http或cdrom等导出安装文件,此处使用ftp,文件目录为:

/var/ftp/pub/centos6.5

5. 使用system-config-kickstart制作自动安装配置文件.
可以使用/root目录下的anaconda-ks.cfg作为模板来配置。并将生成的文件保存到/var/ftp/pub/kickstart/ks.cfg

6. 将ks.cfg的路径追加到/var/lib/tftpboot/pxelinux.cfg/default的append后面即可,如下:
label linux
menu label ^Install or upgrade an existing system #图形菜单显示的字符串
menu default # 此菜单项为默认要安装的
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.0.11/pub/kickstart/ks.cfg

相关推荐