通过PXE网络安装OpenBSD 4.2
1. 准备PXE服务
我的PXE服务安装在Ubuntu 7.10 Desktop环境,配置过程如下:
1.1 配置tftp
确保安装了xinetd,因为tftp是借助xinetd监听端口的,/etc/xinetd.d/tftp的内容如下:
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no }
参数 “-s /tftpboot” 指定tftp的根目录为/tftpboot,这个目录的文件结构如下:
yingyuan@yyresearch:~$ ls -Rl /tftpboot/ /tftpboot/: 总用量 5024 -rw-r--r-- 1 root root 5068775 2007-11-27 18:25 bsd.rd drwxr-xr-x 2 root root 4096 2007-11-28 10:59 etc -rw-r--r-- 1 root root 52928 2007-11-27 18:25 pxeboot /tftpboot/etc: 总用量 4 -rw-r--r-- 1 root root 12 2007-11-28 10:59 boot.conf
bsd.rd是OpenBSD的ram disk文件系统,pxeboot是PXE请求时返回的启动加载文件,这两个文件都可以从安装光盘或者从ftp镜像网站提取。boot.conf是由pxeboot读取的启动配置文件,内容只有一行:
boot bsd.rd
启动tftp服务,
yingyuan@yyresearch:~$ sudo /etc/init.d/xinetd restart
1.2 配置DHCP服务
/etc/dhcp3/dhcpd.conf的配置内容如下,
ddns-update-style none; option domain-name "example.com"; option domain-name-servers 10.0.0.1; default-lease-time 600; max-lease-time 7200; class "openbsd-pxeboot-class" { match pick-first-value (option dhcp-client-identifier, hardware); filename "pxeboot"; next-server 10.0.0.1; } subclass "openbsd-pxeboot-class" 1:8:0:27:3B:56:0; subnet 10.0.0.0 netmask 255.255.255.0 { pool { allow members of "openbsd-pxeboot-class"; option routers 10.0.0.1; range 10.0.0.200 10.0.0.240; } }
需要安装OpenBSD机器的网卡MAC地址是08:00:27:3B:56:00,协议是以太网(协议号是1),我们把它分到openbsd-pxeboot-class这个类里。
启动dhcp服务,
yingyuan@yyresearch:~$ sudo /etc/init.d/dhcp3-server restart
2. 准备HTTP网络安装文件
我只从OpenBSD的镜像FTP站点拷贝了一些必要的文件,放在Apache的OpenBSD/i386目录下,
yingyuan@yyresearch:~$ ls -l /var/www/OpenBSD/i386 总用量 145976 -rw-r--r-- 1 yingyuan yingyuan 42603450 2007-11-27 17:21 base42.tgz -rw-r--r-- 1 yingyuan yingyuan 6229740 2007-11-27 17:16 bsd -rw-r--r-- 1 yingyuan yingyuan 5068775 2007-11-27 17:13 bsd.rd -rw-r--r-- 1 yingyuan yingyuan 5185536 2007-11-27 17:08 cd42.iso -rw-r--r-- 1 yingyuan yingyuan 78804092 2007-11-27 17:31 comp42.tgz -rw-r--r-- 1 yingyuan yingyuan 1240720 2007-11-27 17:34 etc42.tgz -rw-r--r-- 1 yingyuan yingyuan 266 2007-11-28 12:27 index.txt -rw-r--r-- 1 yingyuan yingyuan 100845 2007-11-27 17:00 INSTALL.i386 -rw-r--r-- 1 yingyuan yingyuan 22354 2007-11-27 17:02 INSTALL.linux -rw-r--r-- 1 yingyuan yingyuan 7656850 2007-11-27 17:35 man42.tgz -rw-r--r-- 1 yingyuan yingyuan 1287 2007-11-27 17:14 MD5 -rw-r--r-- 1 yingyuan yingyuan 2292887 2007-11-27 17:38 misc42.tgz -rw-r--r-- 1 yingyuan yingyuan 52928 2007-11-27 17:14 pxeboot
启动www服务,
yingyuan@yyresearch:~$ sudo /etc/init.d/apache2 restart
3. 安装OpenBSD 4.2
把机器设置为从网络启动,一按电源按照提示操作就OK了。
分区的时候我选择把整块硬盘分为一个OpenBSD分区,标签分配如下,
标签 容量 挂载点 ---------------------------- a 512M / b 512M swap c 整个硬盘 d 1G /var e 剩下的空间 /usr
指定大小的时候以磁盘扇区(512 bytes)为单位,所以需要计算一下。每个标签之间默认间隔一个磁道。