Chinaunix首页 | 论坛 | 博客
  • 博客访问: 22318
  • 博文数量: 6
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-13 09:27
文章分类

全部博文(6)

文章存档

2008年(6)

我的朋友
最近访客

分类: BSD

2008-09-13 09:40:12

原先那台下载专用机中的硬盘最近读写速度突然变得非常慢,考虑到那块硬盘本来就是使用MHDD修复的一块报废硬盘,并且修复之后一直带病工作了两年有余,因此决定让它退休,给下载机换个新硬盘。但是随之而来的问题是如何给新硬盘灌入操作系统。这是一台HP的迷你主机,使用的是一个笔记本光驱,并且这个光驱由于年久失修,基本已经读不出光盘了。好在家里还有其他电脑可以使用,这台下载机的网卡正好支持PXE启动,因此决定尝试从网络引导系统,然后再安装操作系统到硬盘上。
 
通过PXE引导FreeBSD系统需要安装、配置以下这些服务:
  • DHCP
  • tftp
  • NFS

DHCP服务的配置:

之前家里的DHCP服务是通过一台Cisco 2611路由器提供的,但是原先的配置仅仅只是提供简单的地址分配服务,并不能够提供PXE引导所需要的一些扩展属性。因此需要对DHCP服务进行一些额外配置,使得它能够向PXE客户端提供这些引导系统必须的信息。最终的配置如下:

ip dhcp pool MyDHCPPool
   network 192.168.0.0 255.255.255.0
   bootfile pxelinux.0  <-- PXE引导使用的镜像文件名
   next-server 192.168.0.18 <-- 存放镜像文件的服务器地址
   dns-server 202.96.209.6 202.96.209.133
   default-router 192.168.0.1

增加的信息分别是用于引导系统的镜像文件的名字和提供镜像文件的服务器地址。这样配置之后,PXE客户端在启动并通过DHCP获取IP地址及这些附加的信息后便能够使用tftp协议从服务器下载镜像,启动系统。

TFTP服务的配置:

TFTP服务器使用的是gentoo系统下的tftp-hpa 0.48。通过gentoo的emerge命令安装tftp-hpa之后只要进行如下设置即可。

  1. 创建一个tftp服务使用的根目录,如/var/data/tftproot
  2. 修改/etc/conf.d/in.tftpd,设置INTFTPD_PATH为上一步中制定的目录
  3. 在gentoo系统中通过命令rc-update add in.tftp default将tftp标记为系统启动时默认启动的服务之一
  4. 从获取PXELINUX,将其中的pxelinux.0复制到/var/data/tftproot
  5. 在/var/data/tftproot目录下创建一个子目录叫pxelinux.cfg
  6. 根据需要对/var/data/tftproot目录进行权限设置,加强其安全性

NFS服务的配置:

NFS 服务的配置相对比较简单。

  1. 通过emerge命令安装nfs-utils
  2. 在系统根目录下面创建一个目录,名为bsdboot
  3. 修改/etc/exports,将上一步创建的目录导出。
    /bsdboot 192.168.0.0/24(rw,no_subtree_check,root_squash,insecure_locks,anonuid=2,anongid=4)
  4. 在gentoo系统中通过命令rc-update add nfs default将NFS标记为系统启动时默认启动的服务之一

开始安装FreeBSD:

所有这些服务配置好之后就可以开始配置从网络启动FreeBSD的安装程序了。过程如下:

  1. 下载7.0-RELEASE-i386-bootonly.iso (因为这是一个仅仅是用来启动系统的光盘镜像,所以尺寸较小,大概只有34MB)
  2. 用如下命令将该光盘镜像挂载到/mnt/tmp
    mount -oro,loop 7.0-RELEASE-i386-bootonly.iso  /mnt/temp
  3. 将光盘镜像中的文件复制到/bsdbood
    cp -R /mnt/temp/* /bsdboot/
  4. cp /bsdboot/boot/pxeboot /var/data/tftproot/freebsd.0
  5. cp /bsdboot/boot/loader.conf /var/data/tftproot
  6. 用vim编辑/var/data/tftproot/freebsd.0,将/pxeroot替换为/bsdboot
  7. umount /mnt/temp
  8. 在/bsdboot/boot/loader.conf文件中加入下面这样一行配置信息
    vfs.root.mountfrom="ufs:/dev/md0c"
  9. 在/mnt/data/tftproot/pxelinux.cfg目录下面创建一个名为default的文件
  10. 修改上一步中创建的文件,加入下面这样两行文本
    label freebsd
            kernel freebsd.0
  11. 在需要安装freebse系统的电脑上设置为从网络引导,从而启动PXE客户端,当系统提示输入需要需要起动的镜像名称时,输入freebsd并回车即可
  12. 稍等片刻后就将启动到FreeBSD的sysinstall界面。
阅读(1477) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~