·ChinaUnix首页 ·论坛 ·博客 
Linux首页 | Linux新闻 | Linux文档 | Linux论坛 | Linux下载 | Linux博客 | Linux搜索
新手入门 | 安装启动 | 管理员指南 | 开发手册 | 桌面应用 | 程序开发 | 数据库 | 网络技术| CentOS | Fedora | MySQL | Apache | Ubuntu | Gentoo| OSCON08
  Linux时代 >> 技术文档 >> 系统管理
 
[原创] PXE 安装 step by step
来源: ChinaUnix博客  日期: 2008.03.13 16:07 (共有条评论) 我要评论
 

                               
一、客户机启动时发出 PXE 请求  :
-)1、PXE 网卡 :建议使用 Intel 的网卡。
-)2、确保想要安装/使用的内核或者
initrd 可以正确识别该网卡,否则后面无法连接 NFS 服务器,但可以获取 ip
-)3、设置为网卡启动。记得安装完毕要改为硬盘启动,否则一开机又自动进入安装界面了
二、确保客户机能够获取到 ip :
-)1、DHCP 服务器必须启动
-)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

               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/12066/showart_495400.html
  发表评论 查看评论(共有条评论) 我要提问
 
 


最新资讯更多>> 
· 番茄花园事件给我们的反思
· 红帽收购Qumranet加强虚拟化领..
· Debian 下一个稳定版的代号被确..
· 发行版发布:Mandriva Linux 2..
· Sun VirtualBox v2.0 发布
· Ubuntu Linux用户突破800万
· Mandriva Linux 2009 RC 1 发布
· 构建Linux版本的谷歌Chrome浏览器
· 发行版发布:Scientific Linux..
· BSD发行版:DragonFly BSD 2.1..
论坛热点更多>> 
· 奔腾老机器16M内存,还能用什..
· 【经典】我是一条内存
· 刚接到通知
· 建议!
· 下班我们部门KTV有美女陪 o(..
· 中秋都有什么打算啊
· 誰懂裝修啊,來幫幫忙
· UNIX环境高级编程这本书怎么样?
· 真实的战争~~~~来晚的已经没..
· 《深入理解Linux网络内幕》原..
文档更新更多>> 
· 用YUM升级CentOS系统中PHP和MySQL
· [转]Red Hat Linux 安全设置指南
· 使用Emacs作为文件管理器
· linux内核的移植与遭遇问题的解决
· KStar 校园网锐捷认证GUI版
· 给eclipse安装CDT插件开发C/C++工程
· ubuntu 8.10 安装 Lotus Symphony
· fsck命令
· RHEL5的kickstart中的%packages部..
· linux 线程实现机制分析
 
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2008 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们