一远程启动原理
客户端在启动前既无操作系统又无启动的软盘或者硬盘它只有计算机的基本部件: CPU 内存主板等但最重要的必须有网卡和启动的BootRom客户机只能通过网络获得操作系统Linux的无盘远程启动与NovellWinNT下的无盘启动技术不一样不是采用RPL( Remote Initial Program Loader)而是基于标准的BootP/DHCP和TFTP协议并通过NFS文件系统建立文件系统相对前两种更具有其通用性和适应性可以基于Linux系统远程启动DosWinWinNT 和Linux客户下面简单介绍Linux启动原理
客户端个人电脑开机后 在 TCP/IP Bootrom 获得控制权之前先做自我测试
Bootprom 送出 BOOTP/DHCP 要求而取得 IP
如果服务器收到个人电脑所送出的要求 就会送回 BOOTP/DHCP 回应内容包括客户端的 IP 地址 预设网关 及开机影像文件
否则 服务器会忽略这个要求
Bootprom 由 TFTP 通讯协议从服务器下载开机影像文件
个人电脑通过这个开机影像文件开机 这个开机文件可以只是单纯的开机程式也可以是操作系统
开机影像文件将包含 kernel loader 及压缩过的 kernel 此 kernel 将支持NFS root系统
远程客户端根据下载的文件启动机器
一切OK!!! 简单吧!好用吧!下面具体介绍如何建立Linux远程启动
二远程启动实例
作为例子定义下
Linux 服务器: server
第一个客户机pc
所有远程启动客户目录/machines
第一个远程启动客户机目录/machines/pc
首先重新编译Linux内核
make menuconfig
注意网络的支持NFSRoot支持BootP(DHCP)的支持必须包括在内
make clean
make dep
make bpImage
make modules
make modules_install
以上命令之后你会发现客户端启动的影像文件在/usr/src/linux/i/boot目录中
然后执行以下命令
mknod /dev/nfsroot b
修改启动设备让其指向NFSRoot并将boot image拷贝到Linux服务器的/tftpboot目录下
rdev /dev/nfsroot
下面为远程客户机修改服务器用于建立远程客户机的文件系统 在服务器/etc/exports 中加入
/machines/pc pc(rwno_root_squash)
/usr (rono_root_squash)
/sbin (rono_root_squash)
/bin (rono_root_squash)
/lib (rono_root_squash)
/home (rwno_root_squash)
使用DHCP在/etc/nf 加入对远程客户的支持参阅DHCPHowto
建立远程客户机目录(在服务器上)
/machines
/machines/pc
/machines/pc/bin
/machines/pc/dev
/machines/pc/etc
/machines/pc/home
/machines/pc/lib
/machines/pc/mnt
/machines/pc/proc
/machines/pc/root
/machines/pc/sbin
/machines/pc/server
/machines/pc/tmp
/machines/pc/usr
/machines/pc/var
建立bin目录
拷贝sh umount ls rm cp domainname dnsdomainname nisdomainname hostname cat mount umount
到/machines/pc/bin 中
建立dev目录 cp a /dev /machines/pc
建立etc目录
cp a /etc /machines/etc
注意必须修改/machines/pc/etc/rcd 启动文件 改 mount avt nonfs 为 mount av允许使用NFS Root文件系统
以如下格式修改/machines/pc/etc/fstab文件:
server:/machines/pc / nfs
server:/bin /bin nfs
server:/usr /usr nfs
server:/sbin /sbin nfs
server:/home /home nfs
server:/lib /lib nfs
none /proc proc
建立lib目录
拷贝/lib/l* 到/machines/pc/lib
建立sbin目录 拷贝init mount umount update rdev swapdev swapon swapoff mount umount 到 /machines/pc/sbin
建立var目录 cp a /var /machines/pc/
接下来必须建立一个链将远程客户机的IP地址链接到/machines/pc目录
最后请确认服务器上的nfsdtftpd and bootpd daemons是否启动
一切完事!远程启动很快十秒钟左右就可享用Linux
关于NFSTFTPBOOTP(DHCP)的设置请参阅Howto
相关文章列表 ——