论坛: UNIX系统 标题: LINUX下实现无盘工作站 复制本贴地址    
作者: linux [linuxchen]    论坛用户   登录
我的这套方案是在 Debian 上成功的,Debian 是 Linux 众多发行版中的其中一个,就我个人而言是最喜欢的。
基本需要:一台可以运行 Debian 的机器(需要有网卡),和 N 多的无盘机器(N>=1)

第一步:安装 Debian,如果各位安装好了 Debian,这步就可以免了^_^,安装过程就不在这里阐述了

第二步:安装需要使用的 package:kernel-package, diskless, diskless-image-simple (download only), tftpd, dhcpd mknbi nfs-user-server
# apt-get install kernel-package diskless tftpd dhcpd mknbi nfs-user-server
# apt-get install diskless-image-simple -d

第三步:制做一个供无盘使用的 kernel package(以2.4.20為例)
# wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.bz2
# tar jxvvf linux-2.4.20
# mv linux-2.4.20 /usr/src/
# cd /usr/src/
# make mrproper
# make config
注意: (1)无盘所需的设备,如网卡,都必须编译进内核,不能编译成模块
(2)in Networking options: check
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support
[ ] IP: RARP support <--- not needed
(3)in file system, -> Network File Systems --->, check
[*] NFS file system support
[*] Provide NFSv3 client support
[*] Root file system on NFS

# make dep
# make-kpkg clean
# make-kpkg --revision=diskless.1.0 kernel_image
在/usr/src下会产生一个文件 kernel-image-2.4.20_diskless.1.0_i386.deb

第四步:安裝一个基本的 Debian 系统(无盘工作站将来的环境)
# diskless-createbasetgz /tmp woody ftp://ftp.debian.org/debian/ ~/base.tgz
# cp /var/cache/apt/archives/diskless-image-simple*.deb ~/
# cd
# diskless-newimage
注意: 会询问一些问题, 默认会在 /var/lib/diskless/default/root 中裝好一个基本的 Debian 系统
# cd /usr/src
# dpkg --root /var/lib/diskless/default/root --install kernel-image-2.4.20_diskless.1.0_i386.deb
# chroot /var/lib/diskless/default/root (为无盘添加需要的package reference: debian-diskless-chroot.txt)
# exit

第五步:设置 tftpd, dhcpd
# vi /etc/inetd.conf(根据自己的需要进行修改)
------------------------------------------------------------------
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
------------------------------------------------------------------
注意最后一个参数, 该参数指定了 tftp 的 root 在哪里
# vi /etc/dhcpd.conf(根据自己的需要进行修改)
default-lease-time 3000;
max-lease-time 3000;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 10.27.1.30, 202.102.24.35;

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.1 192.168.0.254;
}
host Node {
hardware ethernet 00:E0:43:00:04:E4;
fixed-address 192.168.0.2;
filename "vmlinuz-2.4.20.nbi";
}

第六步:制作可供网络开机的 image, 放在 /tftpboot 下
# cd /var/lib/diskless/default/root
# mknbi-linux --output=/tftpboot/vmlinuz-2.4.20.nbi -ip=rom vmlinuz

第七步:产生一个新的 host
# diskless-newhost
注意:会询问一些问题,假设设定好的 host 为 192.168.0.2
# cat /var/lib/diskless/default/192.168.0.2/etc/diskless-host/exports >> /etc/exports

注意:在产生一个新的host之前,先去编辑 /var/lib/diskless/default/root/etc/hosts,将所有要加入的 host 的 IP 与 name 填入,还需要编辑/var/lib/diskless/default/root/etc/resolv.conf,填入 DNS 服务器的 IP 地址

服务端到此就配置好了,需要重新启动一下 ^_^

现在需要到 http://rom-o-matic.net 下载启动的 rom ,选择自己所使用的网卡,rom 格式选择floppy bootable rom image(.zdsk),最后点 get rom 来获得启动 rom
# cat eb-5.1.8-yournic.zdsk > /dev/fd0(不要忘记插软盘哟 ^_^)
到无盘的机器从软盘启动就可以实现无盘 Linux 了,有条件的朋友可以直接写成 rom ,插到网卡上就OK了

无盘 Linux 并没有想象的那么复杂,希望大家参照此文,完成自己的无盘 Linux


地主 发表时间: 04-02-27 20:25

论坛: UNIX系统

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号