Gentoo PXE 环境搭建

PXE(域执行环境)简介

PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000,linux等。

  机房操作不可能去,一个一个安装服务器,但是服务器如何快速的安装系统出了脚本,必不可少的就是PXE,以上的简介不难看出我们所需要的都有些什么软件包。

 如果要安装Gentoo系统首先要挂在Gentoo镜像文件,以下几个是我们所需要的,当然我们还要简单的进行操作。

  
  
  1. isolinux/gentoo 
  2. isolinux/gentoo.igz 
  3. image.squashfs 

 

 

软件包:dhcp tftp syslinux

系统:Linux 3.1.6-gentoo

环境:Vmware8

                     安装配置DHCP

  
  
  1. #emerge dhcp 
  2. #vim /etc/dhcp/dhcpd.conf 
  3.    #配置文件内容如下 
  4. subnet 192.168.1.0 netmask 255.255.255.0 { 
  5.    range 192.168.1.100 192.168.1.254; 
  6.    filename "pxelinux.0";  
  7.    next-server 192.168.1.101; 
  8.  

 

                    安装配置tftp

 

  
  
  1. #emerge tftp-hpa 
  2. #vim /etc/conf.d/in.tftpd  
  3. #配置文件内容如下,去掉NTFTPD_PATH="/tftproot/"的注释 
  4. ------------------------------------------------------ 
  5. INTFTPD_PATH="/tftproot/" 
  6. INTFTPD_OPTS="-R 4096:32767 -s ${INTFTPD_PATH}" 

                    制作gentoo启动文件

 1.挂在光盘&&拷贝启动文件

  
  
  1. #如果是光盘,先挂在光驱设备 
  2. # dmesg | grep hd  查看光盘设备名称 
  3. hdc: VMware Virtual IDE CDROM Drive, ATAPI CD/DVD-ROM drive 
  4. hdc: host max PIO4 wanted PIO255(auto-tune) selected PIO4 
  5. hdc: UDMA/33 mode selected 
  6. ide-cd: hdc: ATAPI 1X DVD-ROM DVD-R/RAM CD-R/RW drive, 32kB Cache 
  7. #mkdir /mnt/cdrom 
  8. #mount /dev/hdc /mnt/cdrom 
  9. #mkir /tftproot 
  10. #cp /mnt/cdrom/isolinux/gentoo /tftproot 
  11. #cd /mnt 
  12. #mkdir tmpdir 
  13. #cd tmpdir 
  14. #cp /mnt/cdrom/isolinux/gentoo.igz ./ 
  15. #cp /mnt/cdrom/image.squashfs ./ 
  16. #mkdir gentoo.dir 
  17. #cd gentoo.dir 
  18. #zcat ../gentoo.igz |cpio -idv 
  19. #mkdir mnt 
  20. #mkdir mnt/cdrom 
  21. #cp ../image.squashfs mnt/cdrom 

 2.编辑init文件

  
  
  1. --- init        2008-03-22 01:10:58.000000000 -0600 
  2. +++ init        2008-03-22 01:14:27.000000000 -0600 
  3. @@ -283,11 +283,6 @@ 
  4.                 [ ! -e ${NEW_ROOT}/dev/tty1 ] && mknod ${NEW_ROOT}/dev/tty1 c 4 1 
  5.         fi     
  6.  
  7. -       if [ "${REAL_ROOT}" != "/dev/nfs" ] && [ "${LOOPTYPE}" != "sgimips" ] 
  8. -       then 
  9. -               bootstrapCD 
  10. -       fi 
  11.         if [ "${REAL_ROOT}" = '' ] 
  12.         then 
  13.                 echo -n -e "${WARN}>>${NORMAL}${BOLD} No bootable medium found. Waiting for new devices" 
  14. @@ -387,7 +382,7 @@ 
  15.                 else 
  16.                         bad_msg "Block device ${REAL_ROOT} is not a valid root device..." 
  17.                         REAL_ROOT="" 
  18. -                http://2828602.blog.51cto.com/addblog.php       got_good_root=0 
  19. +                       got_good_root=1 
  20.                 fi 
  21.         done     
  22.  
  23. @@ -489,7 +484,6 @@ 
  24.                 fi 
  25.         fi     
  26.  
  27. -       cache_cd_contents 
  28.         # Setup the loopback mounts     
  29.  
  30.         if [ "${LOOPTYPE}" = 'normal' ] 
  31. @@ -503,7 +497,7 @@ 
  32.         elif [ "${LOOPTYPE}" = 'squashfs' ] 
  33.         then 
  34.                 good_msg 'Mounting squashfs filesystem' 
  35. -               mount -t squashfs -o loop,ro ${NEW_ROOT}/mnt/cdrom/${LOOPEXT}${LOOP} ${NEW_ROOT}/mnt/livecd 
  36. +               mount -t squashfs -o loop,ro /mnt/cdrom/${LOOPEXT}${LOOP} ${NEW_ROOT}/mnt/livecd     
  37.  
  38.                 test_success 'Mount filesystem' 
  39.                 FS_LOCATION='mnt/livecd' 

  3.重新打包gentoo.igz

 

  
  
  1. cd /mnt/tmpdir/gentoo.dir 
  2. find . -print |cpio -H newc -o --quiet > ../gentoo.igz 
  3. cd .. 
  4. cp gentoo.igz /tftproot cp /usr/share/syslinux/pxelinux.0 /tftproot cd /tftproot
  5. mkdir pxelinux.cfg cd pxelinux.cfg

 4,手动编辑

   

  
  
  1. cd /tftproot/pxelinux.cfg 
  2. vim default 
  3. -------------------------------------------------
  4. +kernel gentoo 
  5. +append initrd=gentoo.igz root=/dev/ram0 init=/linuxrc loop=/image.squashfs looptype=squashfs cdroot=1 real_root=/ 

5,启动服务 

 

  
  
  1. /etc/init.d/dhcpd start 
  2. /etc/init.d/in.tftpd start 

启动服务,之后pxe就可以启动新的服务器了~网卡要设置pxe启动哦·


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值