无盘Linux (笔记)

发表于:2007-07-04来源:作者:点击数: 标签:
我的这套方案是在Debian上成功的,Debian是 Linux 众多发行版中的其中一个,就我个人而言是最喜欢的。 基本需要:一台可以运行Debian的机器(需要有网卡),和N多的无盘机器(N=1) 第一步:安装Debian,如果各位安装好了Debian,这步就可以免了^_^,安装过

我的这套方案是在 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下面搞个无盘没有????

原文转自:http://www.ltesting.net