其实无盘的linux并没有十分困难,只是做的人不多而已。
这里我就介绍一下我的实现方法:
实现系统(RedHat 8.0+DHCPD+TFTP)
SYSLINUX =http://freshmeat.net/redir/syslinux/10177/url_tgz/syslinux-2.09.tar.gz
其实这与系统没有多大关系
安装服务器,这个服务器必须支持dhcpd(或PXE),tftpd,nfs这几个服务,这里要说的是必须要结合syslinux一齐用。
下载syslinux 编译后把pxelinux.0 拷贝到/tftpboot/, pxelinux.0 为启动文件.取得无盘工作站的网卡(MAC)
在dhcpd.conf中指定IP地址;
dhcpd文件例子:
####################################
deny unknown-clients;
option subnet-mask 255.0.0.0;
option broadcast-address 130.255.255.255;
option domain-name "";
option routers 129.0.0.254;
ddns-update-style none;
subnet 129.0.0.0 netmask 255.0.0.0 {
group {
host node1{
hardware ethernet 00:30:48:29:cb:96;
fixed-address 129.0.0.1;
filename "pxelinux.0";
option routers 129.0.0.254;
option domain-name "YY";
}
}
}
#######################################
在新建一个pxelinux.cfg目录,启动时服务器会在此目录找相应的无盘工作站的配置,文件的名称规则为IP地址的16进制的输出比如10:10:10:10 文件名为0a0a0a0a 若找不到系统会一步一步找0a0a0a00 -> 0a0a0000 -> 0a000000 -> default 在找不到那就无法启动了.
此文件的格式:
########################
DEFAULT linux
PROMPT 0
LABEL linux
KERNEL vmlinuz
append ip=dhcp root=/dev/nd01 nfsroot=129.0.0.254:/tftpboot/node vga=normal
##########################
可以自己改变.此文件指定了 服务器为129.0.0.254 无盘工作站的文件系统在/tftpboot/node下下面是我写的建无盘站文件系统的shell程序
#############################
#!/bin/sh
mkdir=`which mkdir`
cp=`which cp`
mknod=`which mknod`
chmod=`which chmod`
rm=`which rm`
chattr=`which chattr`
mkdir /tftpboot/$1
cd /tftpboot/$1
echo -n "Copy directory bin ..."
cp -a /bin .
echo " OK"
echo -n "Copy directory dev ..."
cp -a /dev .
echo " OK"
echo -n "Make a node nd0 ..."
mknod dev/nd0 b 43 0
chmod 600 dev/nd0
echo " OK"
echo -n "Copy directory etc ..."
cp -a /etc .
echo " OK"
echo -n "create directory home ..."
mkdir home
echo " OK"
echo -n "Copy directory lib ..."
cp -a /lib .
echo " OK"
echo -n "clean modules of directory lib ..."
rm -rf lib/modules
echo " OK"
echo -n "create directory root ..."
mkdir root
echo " OK"
echo -n "copy directory sbin ..."
cp -a /sbin .
echo " OK"
#echo -n "link directory usr ..."
#ln -s /usr usr
#echo "OK"
echo -n "create directory var ..."
mkdir var
cd var
echo "Entering directory var "
echo -n "copy lib"
cp -a /var/lib .
echo -n " cache"
cp -a /var/cache .
echo -n " log"
cp -a /var/log .
echo -n " tmp"
cp -a /var/tmp .
echo -n " spool"
cp -a /var/spool .
echo -n " yp"
cp -a /var/yp .
cd ../
echo -n "leaving directory var"
echo " OK"
echo -n "create directory proc usr tmp ..."
mkdir proc usr tmp
echo " OK"
echo -n "change attribute of tmp ..."
chmod 777 tmp
echo " OK"
echo -n "create file fastboot and add +i attribute ... "
touch fastboot
chattr +i fastboot
echo " OK"
#######################
## change fstab ##########
编辑/tftpboot/node/etc/fstab
添加 nodeserver:/tftpboot/node / nfs rw 0 0
修改/etc/exports
添加/tftpboot/node node1(rw,async,no_root_squash)
启动nfs
再要修改的话,可以根据自己的需要删添.
这样服务系统算是搞定了, 接下去就要编译无盘工作站内核了
下载一个内核源文件,或者就去安装盘中找一个就可以了,安装后,进入/usr/src/SPRMS/中,看到内核的源程序,make menuconfig ,此时你可以考虑无盘工作站的需要,减少一些硬件的支持,但是你必须要选上nfsroot.
我找到了其他的安装方法,都不建议使用加载modules,但是你要加载了,好像也没有什么问题,而且可以增加许多功能.不过对资源占用很多,这要看你的观点了. 接下去就把编译好的内核文件 bzImage 拷贝到/tftpboot/下 改为vmlinuz或者你可以在/tftpboot/pxelinux.cfg/xxxxxxxx 中修改 kernel + 内核文件的名字.
这样,一个无盘工作站的系统基本没有问题了,无盘站选择网络启动,浏览URL http://www.qqread.com/linux/2006/11/y268970.html
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- 无盘应用技巧 (242篇文章)
- Linux集群技术 (8259篇文章)
- 体验Linux的音影世界 (7931篇文章)
- Linux驱动大全 (8729篇文章)
- Linux下的路由的配置与应用 (11721篇文章)
- 无盘常见问题解答 (242篇文章)
- 无盘网络指南 (242篇文章)
- Linux命令简介 (9775篇文章)
- Linux防火墙 (9606篇文章)
- Linux日志专题 (8383篇文章)
- Linux与Windows Vista的桌面之争 (83次浏览)
- 对比评测Vista XP Linux启动时间 (59次浏览)
- Linux 基本概念及常用命令 (57次浏览)
- Linux系统如何判断CPU是双核还是单核 (53次浏览)
- VMware下Linux与真实主机共享上网 (31次浏览)
- Linux系统下如何更改终端显示分辨率 (30次浏览)
- 实用技巧:配置Linux操作系统环境变量 (30次浏览)
- Fedora 8 Linux下安装配置audacious过程 (27次浏览)
- Linux系统下设置环境变量Path的方法 (25次浏览)
- 最流行的发行版:Ubuntu 8.04 Alpha 2发布 (24次浏览)



