分享
 
 
 

远程无盘工作站启动的实现

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

假设:

一台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";

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有