歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> FreeBSD下建立無盤X服務器指引

FreeBSD下建立無盤X服務器指引

日期:2017/2/27 9:38:50   编辑:更多Linux

*譯文 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






Copyright © Linux教程網 All Rights Reserved