歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 遠程無盤工作站啟動的實現

遠程無盤工作站啟動的實現

日期:2017/2/27 9:28:48   编辑:更多Linux
  假設:   一台Linux Server with Turbolinux 4.0 IP:192.168.1.11 Domain:server Hostname:linux   第一台無盤工作站IP:192.168.1.5 hostname:client5   第二台無盤工作站IP:192.168.1.6 hostname:client6   條件:   Linux Server啟動DNS,DHCP,NFS,tFTP,bootp服務,修改/etc/inetd.conf,將tftp和bootps前的注釋符去掉。關於DNS和DHCP的配置請查看相關的文章。   一塊NE2000兼容網卡。   目的:   實現遠程無盤啟動(注:本文只是用軟盤仿真BootpROM,如果您有實際的BootpROM啟動經驗,請告訴大家一起分享)。   關於遠程啟動的原理,在此不在詳述,您可以參閱相關文檔。   服務器端配置:   1.進入Turbolinux 4.0的src目錄,make menUConfig,加入對bootp和nfs網絡啟動的支持,make dep,make zImage,make modules,make modules_install.   2.在/下建立tftpboot目錄,同時在tftpboot目錄下建立192.168.1.5和192.168.1.6兩個子目錄.   3.進入192.168.1.5,建立bin,etc,lib,mnt,root,tmp,var,dev,home,misc,net,proc,sbin,usr等目錄。   mknod /dev/nfsroot b 0 255   cp -a /bin/* /tftpboot/192.168.1.5/bin   cp -a /sbin/* /tftpboot/192.168.1.5/sbin   cp -a /etc/* /tftpboot/192.168.1.5/etc   cp -a /lib/* /tftpboot/192.168.1.5/lib   cp -a /dev/* /tftpboot/192.168.1.5/dev   cp -a /var/* /tftpboot/192.168.1.5/var   chmod a+w /tftpboot/192.168.1.5/tmp以便客戶端寫臨時數據。   4.修改/etc/eXPorts,加入遠程客戶端可以mount的目錄。   My /etc/exports below:   /home/golden 192.168.1.5(rw,no_root_squash)   /home/john 192.168.1.6(rw,no_root_squash)   /tftpboot/192.168.1.5 192.168.1.5(rw,no_root_squash)   /tftpboot/192.168.1.6 192.168.1.6(rw,no_root_squash)   /home/public 192.168.1.*(rw,no_root_squash)   /usr 192.168.1.*(ro,no_root_squash)   至此服務器端的配置已經完成。   客戶端配置:   1.進入/tftpboot/192.168.1.5/etc目錄,重新建立fstab,以mount剛才服務器端/etc/exports文件中授權的可mount目錄。   My /tftpboot/192.168.1.5/etc/fstab below:   192.168.1.11:/tftpboot/192.168.1.5 / nfs defaults 0 0   none /proc proc defaults 0 0   192.168.1.11:/usr /usr nfs defaults 0 0   192.168.1.11:/home/public /home/public nfs defaults 0 0   192.168.1.11:/home/golden /home/golden nfs defaults 0 0   注:/home/pulic為一自建的共享目錄,/home/golden為用戶golden的目錄。   2.修改/tftpboot/192.168.1.5/etc/sysconfig/network文件,只需以下即可:   NETWORKING=yes   FORWARD_IP4=no   HOSTNAME=client5.server   DOMAINNAME=server   GATEWAY=192.168.1.11   GATEWAYDEV=eth0   3.修改/tftpboot/192.168.1.5/etc/sysconfig/network-scripts/ifcfg-eth0文件:   DEVICE=eth0   IPADDR=192.168.1.5   NETMASK=255.255.255.0   NETWORK=192.168.1.0   BROADCAST=192.168.1.255   ONBOOT=yes   BOOTPROTO=none   4.取出turbolinux 4.0的安裝光盤,在images目錄下有boot.img文件。在linux下運行   dd if=boot.img of=/dev/fd0 bs=1440k   5.修改剛才建立的軟盤,我們不需要安裝linux,所以可刪除initrd.img。   把剛才新編譯的內核cp到軟盤上,以同名覆蓋vminuz。   boot.msg是顯示的文本信息,可自行修改(我可以有自己的linux版本了,哈...)。   6.重要的就是那個syslinux.cfg文件了,我們要修改他,讓其以我們新建立的內核啟動,並自動掛上 linux server中授權可mount的共享目錄。   My syslinux.cfg below:   display boot.msg   default normal   timeout 60   label normal   kernel vmlinuz   append root=/dev/nfsroot nfsroot=192.168.1.11:/tftpboot/192.168.1.5,tcp vga=normal   5.OK,如此就可以在客戶端用此軟盤來啟動server上的linux了。   注:您還可以有其他更多的配置方案,如:權限的控制,多台工作站共享同一配置,工作站自動獲得動態IP等。   本文只是簡單的介紹linux nfs文件系統的應用,如果您有更好的方案,請和大家一同共享。   我將繼續維護此文章。Next is about real Diskless Linux with BootpROM.   john shang   2000.05.01 1:00PM   或許我是太幸運了,經過一個下午的實驗,已經完成真正無盤啟動linux的技術,在此小弟貼出來,與各位共同分享。   條件:   一塊NE2000兼容網卡(最好是ISA的),以及提供Rom遠程啟動的軟件包etherboot。您可以在以下網址獲得   http://www.slug.org.au/etherboot   服務器端配置:   1.除了上篇文章說明的配置外,請解開下載的etherboot軟件包。   My configuration below:   tar zxvf etherboot.gar.gz --prefix /usr/local   cd /usr/local/etherboot/src,run "make".   cd /usr/local/etherboot/netboot-0.8.1,run "./configure" and "make".   2.將我們編譯的內核cp到/usr/local/etherboot/src,運行以下命令生成供遠程啟動Rom使用的內核影像文件。   mknbi -x -k zImage -o /tftpboot/vmlinuz.xterm   並把vmlinuz.xterm設成all可讀。   3.為了測試是否成功,我們可以用etherboot自帶的軟件生成Floppy仿真式的ROM,即把ROM放在軟盤上,就像是用BootProm啟動一樣。(這次可是真的同Rom一樣)   運行以下命令,將Rom仿真文件寫到軟盤上。   cd /usr/local/etherboot/src   cat floppyload.bin.pre ./bin32/ne.lzrom > /dev/fd0   請根據具體的情況,替換ne.lzrom.   4.如此,就可用此軟盤啟動了。   客戶端配置同上篇文章介紹的相同。   注:   1.建議根據網卡的ID,為其指定IP.   2.同上篇文章不同的是,你可以用主機名來代替IP名,即/tftpboot/192.168.1.5 ---> golden   3.如果用此軟盤啟動時,在find網卡後,總是probing......,大部分是你的網卡支持性不好。   4.更詳細的FAQ請在etherboot的doc目錄下查找。   5.以下是我的dhcpd.conf文件。   subnet 192.168.1.0 netmask 255.255.255.0 {   filename "/tftpboot/vmlinuz.xterm";   range dynamic-bootp 192.168.1.5 192.168.1.6;   option subnet-mask 255.255.255.0;   option broadcast-address 192.168.1.255;   option routers 192.168.1.11;   option domain-name "server";   option domain-name-servers 192.168.1.11;   }   host golden {   hardware ethernet 52:54:ab:1b:94:6b;   fixed-address 192.168.1.5;   option host-name "golden";   filename "/tftpboot/vmlinuz.xterm";   }




Copyright © Linux教程網 All Rights Reserved