Chinaunix首页 | 论坛 | 博客
  • 博客访问: 566186
  • 博文数量: 375
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 15
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-20 10:21
文章分类

全部博文(375)

文章存档

2015年(1)

2014年(374)

分类: LINUX

2014-08-18 11:02:32

原文地址:[原创] PXE 安装 step by step 作者:ailms

、客户机启动时发出 PXE 请求  

-1PXE 网卡 :建议使用 Intel 的网卡。

-2、确保想要安装/使用的内核或者 initrd 可以正确识别该网卡,否则后面无法连接 NFS 服务器,但可以获取 ip

-3、设置为网卡启动。记得安装完毕要改为硬盘启动,否则一开机又自动进入安装界面了

、确保客户机能够获取到 ip

-1DHCP 服务器必须启动

-2、针对 PXE 客户机增加下面一段配置

      class “pxe-install"  {

           match if substring(option vendor-class-identifier,0,9) = "PXEClient"

           next-server 172.17.64.39;

           filename "linux-install/pxelinux.0"

      }

注意,这里的 filename 是相对于 TFTP 的启动目录而言的,一般是 /tftpboot ,所以就是 /tftpboot/linux-install/pxelinux.0


、客户机能够启动到安装界面

       a)启动 tftp 服务器 /etc/xinetd.d/tftp ,确保存在 /tftpboot/linux-install/pxelinux.0 文件,用 netstat -a |grep tftp 可以看到

            
[root@dhcp ~]# netstat -a |grep tftp

udp        0      0 *:tftp                  *:*

[root@dhcp ~]#

     

b)把安装光盘的 images/pxeboot/ 下的 vmlinuz initrd 拷贝到 /tftpboot/linux-install/ 下。

         要注意,如果你拷贝的是 RHEL4 vmlinuz initrd ,则 resuce 模式只接受 RHEL4 iso ;如果加载的是 RH9 vmlinuz initrd 也一样。

         即使你原来的主机上安装的是 RH9 ,但如果加载的是 RHEL4 vmlinuz initrd ,则 resuce 时必须指定 /tmp/RHEL4 而不是 /tmp/RH9 ,否则

         会报告 ISO 的安装树和启动介质的版本不同

         所以建议在 /tftpboot/linux-install 下再建立两个子目录 rh9/ rhel4/ ,分别用于存放这两个不同版本的内核和 initrd 。目录结构如下


      c)配置文件 /tftp/linux-install/pxelinux.cfg/deafult

              [root@dhcp pxelinux.cfg]# cat default

# all path are relative to the directory in which pxelinux.0 stays

default linux                  # 注释 :默认启动 label=linux 的条目

prompt 1                      # 注释:固定显示 boot:” 提示符

timeout 100                  # 注释 10

display /msgs/boot.msg

F1 /msgs/boot.msg

F2 /msgs/general.msg

F3 /msgs/expert.msg

F4 /msgs/param.msg

F5 /msgs/rescue.msg

F6 /msgs/memtest.msg

F7 /msgs/bootlocal.msg

label linux

        kernel vmlinuz

        append initrd=initrd.img ramdisk_size=8192

label text

        kernel vmlinuz

        append initrd=initrd.img text ramdisk_size=8192

label expert

        kernel vmlinuz

        append expert initrd=initrd.img ramdisk_size=8192

label ks

        kernel vmlinuz

        append ks initrd=initrd.img ramdisk_size=8192

label lowres

        kernel vmlinuz

        append initrd=initrd.img lowres ramdisk_size=8192

label memtest

        kernel memtest

        append -

label rescue

        kernel vmlinuz

        append initrd=initrd.img rescue ramdisk_size=8192

label local

        localboot 1

[root@dhcp pxelinux.cfg]#

          

           注意,所有路径都是相对于 pxelinux.0 所在的目录而言的

      d)消息文件 /tftpboot/linux-install/msgs/ 目录下,可能需要修改部分文件名和文件的显示内容,已匹配上面的 default 文件

              [root@dhcp msgs]# ll

total 44

-rw-r--r--  1 root root 562 Feb 13 23:04 bootlocal.msg

-rw-r--r--  1 root root 510 Feb 13 23:24 boot.msg

-rw-r--r--  1 root root 668 Oct 20  2004 expert.msg

-rw-r--r--  1 root root 871 Oct 20  2004 general.msg

-rw-r--r--  1 root root 562 Feb 13 23:02 memtest.msg

-rw-r--r--  1 root root 860 Oct 20  2004 param.msg

-rw-r--r--  1 root root 530 Oct 20  2004 rescue.msg

[root@dhcp msgs]#

要确保 expert.msg 等几个文件显示的菜单和 boot.msg 一样。

 

四、客户机能够拿到安装文件 NFS 把放有 ISO 文件的分区导出

 

[root@dhcp msgs]# exportfs

/tmp/RHEL4     

/tmp/RH9       

[root@dhcp msgs]#

五、启动客户机

通过 tethereal ,可以发现客户机发送的 PXE 信息


就是 vendor class identifier 这一行,所以上面的 class 语句就是针对该选项的


可以看到已经出现 DHCP OFFER 消息了,在经过 DHCPREQUEST DHCPACK 后,就可以获取到 ip

 
下面是开始 TFTP 传输的过程了


最后可以看到菜单了


上面是按 F2 出现的,所以显示 General Boot Help

    

上面是选择 F6 memtest),进行内存测试,该程序是 RHEL4 提供的,RH9 没有,位于光盘的 isolinux/



安装过程中使用的是 udp 连接

[root@dhcp dhcp]# tcpdump host 172.17.64.246  |more

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes

21:44:12.993657 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023652 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023700 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023740 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023779 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023818 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023857 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023896 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023952 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023991 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.024031 IP dhcp.n7css.com > 172.17.64.246: udp



阅读(611) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~