我的这套方案是在 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
2003.5.1
By BoyD
aquino 回复于:2003-05-01 19:45:57 |
哎,偶的硬盘太多了,没地方试~ javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)"> |
enfuzion 回复于:2003-05-01 19:50:21 |
无盘的机器管理起来比有盘的方便(个人感觉) ^_^ |
taijun 回复于:2003-05-01 21:11:13 |
偶虽然没环境试验,先收之 谢谢 |
enfuzion 回复于:2003-05-01 21:11:30 |
我这篇《无盘Linux》写的怎么样啊? 是好?是糟?兄弟们说说啊 |
轩辕砍刀 回复于:2003-05-01 21:22:44 |
精华 |
弱智 回复于:2003-05-02 08:12:11 |
[quote:39cd8ac87a="enfuzion"]我这篇《无盘Linux》写的怎么样啊? 是好?是糟?兄弟们说说啊[/quote:39cd8ac87a] 不错的说~~ 收了哈 |
xuehua 回复于:2003-05-02 08:29:12 |
保存起来慢慢看! |
memoza 回复于:2003-05-02 08:47:52 |
很好,俺也很喜欢debian,刚装了,可惜没多余的机器试验。 |
鸵鸟 回复于:2003-05-02 09:17:16 |
实用性很强的精华贴.. 支持 |
愿作蜻蜓 回复于:2003-05-02 16:10:21 |
好东西还要! |
冷雨纷飞 回复于:2003-05-05 22:03:48 |
好东西,收了 |
RedmJ 回复于:2003-06-16 21:01:52 |
你在redhat下面搞个无盘没有???? |
文章来源于领测软件测试网 https://www.ltesting.net/