当前位置:Linux教程 - Linux资讯 - FreeBSD下建立无盘X服务器指引

FreeBSD下建立无盘X服务器指引

 *译文 from http://www.freebsd.org/doc/en_US.ISO_8859-1/articles/diskless-x/index.Html *原作 Jerry Kendall,[email protected] *译者 paulliang,[email protected] 水平有限,敬请指正 -------------------------------------------------------------- 在一些FreeBSD-hacker列表上朋友的帮助下,我创建了一个无盘X终端。X终端的建立首先 要建立一个挂上NFS的最小的有效的无盘系统。这些相同的步骤被用于建立两个独立的无盘系 统。首先是http://altair.kcis.com,一个运行在一台旧的386DX-40上无盘X终端,它有个340M的硬盘,可 我并不想改换,它经由以太网从antares.kcis.com引导。第二个系统是一台486DX2-66机。我装设了一个没有本 地硬盘的无盘FreeBSD(完全的)。服务器是运行SunOS 4.1.3的一台Sun 670MP机。对于两者需有相同的设置。我 确信会存在需要加入到此的一些东西,欢迎任何批评。 1、创建boot floppy (On the diskless system) 由于网络引导载入器不能工作在一些TSR系统如MS-DOS用,所以最好是创建一个专用boot floppy,或者如果可 能,你创建一个MS-DOS菜单,在系统启动时它会询问什么样的配置载入。(config.sys autoexec.bat文件). 以下是我的使用方法,它工作的很好。My MS-DOS菜单如下。 Example 1. config.sys [menu] menuitem=normal, normal menuitem=unix, unix [normal] .... normal config.sys stuff ... [unix] Example 2. autoexec.bat @ECHO OFF goto %config% :normal ... normal autoexec.bat stuff ... goto end :unix cd netboot nb8390.com :end 2、获取网络引导程序(On Server) 编译位于/usr/src/sys/i386/boot/netboot的程序"net-boot"。你可阅读Makefile的顶部注释,如有需要改 变,请做个备份。当编译完成后,就会有两个MS-DOS可执行文件:nb8390.com和nb3c509.com,其中一个是运行 无盘服务器所需的,它将可从引导服务器载入内核,基于这点,可将两个程序都拷入boot floppy。 3、确定那一个程序运行(On the diskless system) 如果你知道以太网适配器晶片组,那是很容易的。如果是NS8390晶片组,或是基于NS8390晶片组的,选用 nb8390.com;如果是基于3com 509晶片组的,选用nb3c509.com程序。如果你不知道是什么晶片组,请先试用其 中一个,当出现“NO adapter found”,再试用另一个。 4、从网络上引导 也可在任意config.sys/autoexec.bat文件之外引导。我的以太网适配器是WD8013下16位模式,所以我选择运行 nb8390.com。 C:>cd netboot C:>nb8390 Boot from Network (Y/N) ? Y BOOTP/TFTP/NFS bootstrap loader ESC for menu Searching for adapter.. WD8013EBT base 0x0300, memory 0x000D8000, addr 00:40:01:43:26:66 Searching for server... 无盘系统尝试寻找一个引导服务器(boot server)。注意上面地址那一行,稍后将会用到 这些数字。如果想自动运行,那么请修改config.sys和autoexec.bat文 件和重启无盘系统。类似地,对于3com 509晶片组,可运行nb3c509.com。如果在搜索适配器是出"NO adapter found"信 息,请查实Makefile的确实设置。 5、允许系统从网络上引导(On the Server) 确信文件 /etc/inetd.conf开启了tftp和bootps服务: tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /tftpboot # # Additions by who ever you are bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab 如果你改变了/etc/inetd.conf,请发送HUP信号给inetd。 还记得在无盘系统上引导载入器有关地址行的输出信息吗?猜对了,现在就要用它了。 增加一个条目到/etc/bootptab(可能要创建这个文件)。它显示象以下的内容: altair: :ht=ether: :ha=004001432666: :sm=255.255.255.0: :hn: :ds=199.246.76.1: :ip=199.246.76.2: :gw=199.246.76.1: :vm=rfc1048: 解释如下: altair 无盘系统名(没有域或) ht=ether 以太网的硬件类型 ha=004001432666 硬件地址(上述注意的) sm=255.255.255.0 子掩码 hn 告诉服务器发送客户机名给客户机 ds=199.246.76.1 告诉客户机那一台是域名服务器 ip=199.246.76.2 告诉客户机它是IP地址是这个值 gw=199.246.76.1 告诉客户机,缺省网关是这个值 vm=... 离开 注意:IP地址设置的要正确。以上是我一些设置,你应根据你的情况作相应的设置。 在服务器上创建目录"/tftpboot",它包含为了无盘系统的服务器提供服务的配置文件,这些文件被命名为 "cfg."的形式,就是无盘系统的IP地址。atlair的配置文件是/tftpboot/cfg.199.246.76.2,它的内 容是: rootfs 199.246.76.1:/DiskLess/rootfs/altair hostname altair.kcis.com 行hostname altair.kcis.com仅仅是告诉无盘系统一个完整的域名是什么。 行rootfs 199.246.76.1:/DiskLess/rootfs/altair告诉无盘系统NFS挂载表里根文件系统的位置。 注意:NFS挂载表根文件系统挂载后是只读的。 如果有需要,无盘系统可重挂成可读可写的。 我使用386DX-40机作专门的X终端。 "altair"的层次是: / /bin /etc /tmp /sbin /dev /dev/fd /usr /var /var/run 实际的文件列表是: -r-xr-xr-x 1 root wheel 779984 Dec 11 23:44 ./kernel -r-xr-xr-x 1 root bin 299008 Dec 12 00:22 ./bin/sh -rw-r--r-- 1 root wheel 499 Dec 15 15:54 ./etc/rc -rw-r--r-- 1 root wheel 1411 Dec 11 23:19 ./etc/ttys -rw-r--r-- 1 root wheel 157 Dec 15 15:42 ./etc/hosts -rw-r--r-- 1 root bin 1569 Dec 15 15:26 ./etc/XF86Config.altair -r-x------ 1 bin bin 151552 Jun 10 1995 ./sbin/init -r-xr-xr-x 1 bin bin 176128 Jun 10 1995 ./sbin/ifconfig -r-xr-xr-x 1 bin bin 110592 Jun 10 1995 ./sbin/mount_nfs -r-xr-xr-x 1 bin bin 135168 Jun 10 1995 ./sbin/reboot -r-xr-xr-x 1 root bin 73728 Dec 13 22:38 ./sbin/mount -r-xr-xr-x 1 root wheel 1992 Jun 10 1995 ./dev/MAKEDEV.local -r-xr-xr-x 1 root wheel 24419 Jun 10 1995 ./dev/MAKEDEV 不要忘记运行设备目录(dev Directory)里的MAKEDEV。 altair的/etc/rc文件有: #!/bin/sh # PATH=/bin:/ eXPort PATH # # configure the localhost /sbin/ifconfig lo0 127.0.0.1 # # configure the ethernet card /sbin/ifconfig ed0 199.246.76.2 netmask 0xffffff00 # # mount the root filesystem via NFS /sbin/mount antares:/DiskLess/rootfs/altair / # # mount the /usr filesystem via NFS /sbin/mount antares:/DiskLess/usr /usr # /usr/X11R6/bin/XF86_SVGA -query antares -xf86config /etc/XF86Config.altair > /dev/null 2>&1 # # Reboot after X exits /sbin/reboot # # We blew up.... exit 1


[1] [2] 下一页 

 

 

(出处:http://www.sheup.com)


上一页 [1] [2]