📄 00000004.htm
字号:
mkdir /mnt/usr <BR> 拷贝完即是第一台目录结构完成,但是需要修改一些档案,才能符合 remote-boot <BR> client的需求. <BR> <BR> 修改 server上 /export/client-1/etc/fstab,该档应该是: <BR> fstab <BR> --------- <BR> /dev/hda2 swap swap defaults 1 1 <BR> /dev/hda1 / ext2 defaults 1 1 <BR> none /proc proc defaults 1 1 <BR> <BR> 假设 remote-boot client都没有硬碟,所以通通砍掉只留下 proc. <BR> fstab <BR> ----------- <BR> none /proc proc defaults 1 1 <BR> <BR> 再编辑 /export/client-1/etc/rc.d/rc.S,在此 script的最开头 mount上 server <BR> 分出的 usr 目录,如, <BR> rc.S <BR> ---------- <BR> #!/bin/sh <BR> # <BR> # /etc/rc.d/rc.S: System initialization script. <BR> # <BR> # Mostly written by: Patrick J. Volkerding, <<A HREF="mailto:volkerdi@ftp.cdrom.com>">volkerdi@ftp.cdrom.com></A> <BR> # <BR> PATH=/sbin:/usr/sbin:/bin:/usr/bin <BR> /sbin/mount 192.168.1.1:/export/usr /usr # <-----加入这一行 <BR> <BR> 既然已经 telnet到这 remote-boot server,乾脆利用 server针对 client需求 <BR> 重新编译核心.但是 remote-boot linux与正常的 Linux在核心设定仍然有一些 <BR> 些差异,所以在设定时特别加入适合 remote-boot linux的选项. <BR> <BR> 由於 linux是 32位元多工多人作业系统,如果实际记忆体不足,就会有 swapper <BR> 产生(硬碟置换档),既然已经是 diskless自然就没有硬碟.记忆体很大还无所谓, <BR> 但是作为 client端可能不见得有很多记忆体.跑一些很耗记忆体的程式(如 X <BR> window),就出了问题.但是也有修改程式允许 swap也放在 server上,只不过这 <BR> patch有认版本,太新太旧就不认得,我测试的区间在大於等於 2.0.21,小於 <BR> 2.0.28之内,另外敝人很少碰"奇数版"核心,不太了解与"偶数版"相对应的版次. <BR> 此外 Albert K T Hui也提供较新核心版本的 nfsswap的 patch资讯,可以从: <BR> <A HREF="http://www-math.math.rwth-aachen.de/~LBFM/claus/nfs-swap/">http://www-math.math.rwth-aachen.de/~LBFM/claus/nfs-swap/</A> <BR> 抓回来(for kernel 2.0.30, 2.0.32, 2.1.59),只不过这些 patch有一点点小问 <BR> 题,会造成 yp client(ypbind)失效,而 etherboot内附的就不会发生此问题,大 <BR> 概是不同作者缘故吧. <BR> <BR> 把 etherboot这程式放在 /usr/src下并解开: <BR> <BR> cd /usr/src <BR> tar zxfv etherboot-2.1.tar.gz <BR> <BR> 找找 nfs-swap-2.0.21.dif.gz (版次不同,所在目录也不同),并复制到 linux核 <BR> 心的 source下. <BR> <BR> cp nfs-swap-2.0.21.dif.gz /usr/src/linux <BR> <BR> 对核心作修改并设定, <BR> <BR> cd /usr/src/linux <BR> zcat nfs-swap-2.0.21.dif.gz | patch -p1 -s <BR> <BR> make config <BR> <BR> 其中选项在 <BR> * Filesystems <BR> * <BR> Quota support (CONFIG_QUOTA) [N/y/?] <BR> Minix fs support (CONFIG_MINIX_FS) [Y/m/n/?] <BR> : <BR> : <BR> /proc filesystem support (CONFIG_PROC_FS) [Y/n/?] <BR> NFS filesystem support (CONFIG_NFS_FS) [Y/m/n/?] < <BR> Allow swap files to be on NFS filesystems (CONFIG_SWAP_NFS) [Y/n/?] < <BR> Root file system on NFS (CONFIG_ROOT_NFS) [Y/n/?] < <BR> BOOTP support (CONFIG_RNFS_BOOTP) [Y/n/?] < <BR> RARP support (CONFIG_RNFS_RARP) [Y/n/?] < <BR> <BR> 一定要打 Y(也不能 modules方式载入),其中 "CONFIG_SWAP_NFS"这选项需经过 <BR> patch才会显现出来,另外针对不同 client所装上的网路卡,在 Network Device <BR> setting 选择载入,但绝对不能以 module方式载入,否则当 kernel bottting时 <BR> 因为还没启动网路卡,自然没启始网路就抓不到 "root-path"(挂掉!).在 <BR> "nfsroot.txt" 文章中有提到 Root on via NFS的 Linux并不支援 module载入 <BR> 方式,而我实际测试除了 network device不能之外,其他类型 modules还是可以 <BR> 载入,比如 File-System中的 VFAT module,我试过仍然可以 insmod再来 mount <BR> Win95 VFAT的 partition.大概原作者考量怕把 network device也扔到 module <BR> 去了,造成没办法 bootting,所以才如此建议吧.而後, <BR> <BR> make dep ; make clean ; make zImage <BR> <BR> 重新编译核心,但不是给 server用,是留给 client来 remote-boot用的. <BR> <BR> 到此 remote-boot client-1目录架构就算完成了,本地端的"耍宝型" Linux算是 <BR> 功成身退.(硬碟 format掉留给其他 OS,或留下做 swapper悉听尊便) <BR> <BR> <BR>************************************************* <BR>[制作 remote-boot image-file与 server端其他设定] <BR>************************************************* <BR> <BR> <BR> 本文一开始有提到 Unix本来就有 bootp的协定,而 linux都有支援 bootp相关 <BR> 的 server & client.但是支援 bootp的 boot-rom实在不好找,找一种随处都可 <BR> 以买到的 boot-rom所支援的协定,那就是 Novell ipx boot-rom.而非常有幸的 <BR> linux很难得拥有 Unix世界里非常少见的 NCP server(Novell有自己的 UNIX-- <BR> Novell UnixWare),并且不只一个.因为 linux的 ipx socket是由大名鼎鼎的一 <BR> 家公司 Caldera (<A HREF="http://www.caldera.com)所支持,拜这家公司所赐,在">http://www.caldera.com)所支持,拜这家公司所赐,在</A> linux <BR> 上不管是 server or client or ipx-router都蓬勃发展,独傲其他 Unix. linux <BR> 上目前有两个,一为 Lin Ware deamon,另一为 Mars_NWE.前者有限制 kernel <BR> 版本,必须在 1.3.58以前(因为会改 linux kernel source,以後版本已经不认 <BR> 得了),由於作者已不在研发 lin-wared,所以选择 Mars_NWE. <BR> <BR> 这个 Mars_NWE模拟 Novell server相当逼真,也可以 remote-boot client,甚 <BR> 至允许让 client执行 syscon ,fconsole...等系统程式(甚至比某家出的二半 <BR> 调子 "FPNW"还优秀). <BR> <BR> 由於 Mars_NWE安装及设定是有相当篇幅,参照 mars_nwe source/doc/install <BR> 或依前文所述的网址或杂志安装设定,并且确定各种平台 client(NT,95,OS/2..) <BR> 连接存取正常,可以制作 image-file. <BR> <BR> 如果是以原版 Win 95 CD-ROM的 rplimage.exe来制作 image-file,自然有些步 <BR> 骤还是得照 remote-boot Win95的规矩. <BR> 找一台 Win95开机,但一定要为"原始"的 Win95,不能 OSR1(SP#1)或 OSR2(SP#2) <BR> ,因为等一会要用到的 rplimage.exe 会认版本.(微软从 OSR1的 Win95并没有附 <BR> 上 NETSETUP相关的工具,换句话说即不支援 remote-boot).并且一定要跳到 "纯 <BR> DOS"(DOS 7.0)就是开机时按 F8再到 "6"选项,为何不能进 Win95再以 "DOS box" <BR> 来作呢?可以试试 DOS Box下的 rplimage.exe就知道.... :P <BR> <BR> 进入 DOS 7.0来 format (format a:/s)一片软碟开机片,并且解开 linux /root <BR> 下的 lodlin.zip中有个 loadlin.exe也放在这开机片,并且把 server上刚才 <BR> compile出来的 /usr/src/linux/arch/i386/boot/zImage <BR> 给拷在这开机片.编辑此片的 autoexec.bat <BR> autoexec.bat <BR> ------------- <BR> loadlin zimage root=/dev/nfs <BR> <BR> 而这张要制作 image-file磁片还需要一些档案,总列表如下: <BR> boot-disk file list <BR> --------------------- <BR> IO SYS <BR> MSDOS SYS <BR> DRVSPACE BIN <BR> COMMAND COM <BR> ZIMAGE (Linux Kernel) <BR> LOADLIN EXE (载入 kernel的程式) <BR> AUTOEXEC BAT <BR> DBLBUFF SYS <BR> HIMEM SYS (最好从 95也拷过来,因为 95预设会载入,没放的话会等一阵子) <BR> IFSHLP SYS (也是如此,理由同上) <BR> RPLBOOT SYS (这个比较伤脑筋一点,因为一般 Win95不会有这个档,而 remote <BR> -boot一定要有这个档,不然会 bootting不起来,这个档也在 <BR> CD-ROM上,只不过被压缩在 win95_23.cab中.解出来方法如下: <BR> 到光碟 \win95 目录下执行 <BR> <BR> extract.exe /a /l c:\work win95_23.cab rplboot.sys <BR> <BR> 其中 "c:\work" 为已存在要把 rplboot.sys置放的目录,自行 <BR> 设定. <BR> 如果 Win95有装 PowerToy当然最好了,直接从 "档案总管"查 <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -