








 Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows
			     95 趨Զ˿վ

       : Marc Vuilleumier Stckelberg, Sandro Viale and David Clerc

		  : Yun-Yul Tseng yytseng@auto.fcu.edu.tw

			       v2.5.2,  1997



				   Abstract

     ļ˵ʹһȺPCӵ൱ȶ Server-based ܹ ,
     ˷ʹÿ̨PC ʱѡʹúҵϵͳ. ּܹľҪ
     TCP/IP bootprom ,ʹ ڿʱѡͬĿ.
     ˷ļ°汾,ļᵽɹص弰صѶ,ַҵ
     http://cuiwww.unige.ch/info/pc/remote-boot/howto.html.  Linuxdoc-
     SGML,DVI  postscriptְ汾Ŀ¼.



1.  Щ...

1.1  ... 1.x  ?

һѱ䶯:

    Linux server-based ļܹļȫ. Ŀǰ RedHat Linux
     4.1Ϊ , kernel ³2.0.30 .  Linux ϵͳ趨ά.

    DOS  Windows 趨Ҳƹ,  "hard-disk based" .
     ʹüܹӼ, ٶȱ, ·ĸ,Windows NT
     workstation  server-based setup (Ȼδڱ̸).

    Ŀǰһ̨ DHCP server, Ѱ DHCP/BOOTP extensions (RFC 2132).

    ܹҲ Samba ѵ SMB server , ȡ Novell server.  ʵ,
     Ҫǵ Novell server...

1.2  ... 2.4 ?

µ  Ѽ bpunzip ߳ʽ. ڿ  VESA-
͵ӿ¹. Ŀ ESC; өĻƵ;
İѲŵ TFTP Ĵ. MRZIP,һ ֻ, ڽѹ ŵѹӰ
ʱᵼ "Bad compressed data" , ѷֲ.  BPUNZIP
зֵֻᵼԵĳҲ .

 . ᵽ (Shared LAN Cache) ļ (from J. Carlstedt,
of The Cathedral School of Uppsala, Sweden).

 UNZIPREG ԭʼʽλַ. ЩѶWindows 95 OSR2ʹõ.


Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows 15 趨Զ˿վ





Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows 25 趨Զ˿վ



bootptag LinuxĹ߳ʽĲ DHCP ȡ BOOTP. ڿԸ Solaris 2.6 DHCP
server һʹ.


2.  

ļܹǴ1996 ļʼ CUI, University of Genevaչ.
Ѷϵŷ( Unix  Novell), һЩ˵,
;Ϊ:

    ѧʹ

    о븨ѧ

ǷչּܹĿ:

    κһ̨Զִ Linux, DOS, Windows 3.1 or Windows 95.
     ÿοʱѡҪҵϵͳ.

    е, ҵϵͳ, Էŷ, 춰װ.

    ͻ˵ԿԲŷд״̬(Ϊ˰ȫ),home Ŀ¼.

    ܼٿͻ˵趨. ͻ˿Զŷȡ IP ̬趨,
     ЩѶһС, ɹҵϵͳʹ.

    󲿷ݵĵԶӵӲ,
     ͻ˿Կŵ·ʹߵݴ浵.

    еʹ߶ עʹõ.

    עѶеҵϵͳͬʹ߿Դȡ˵Ŀ¼,ÿҵϵͳһ.

    ѧʹõĵÿʱһ. Ҳհװ.

    ÿ̨ԿԷ.

ЩʹѡKppen EDV GmbH  TCP/IP Bootprom Ϊ Bootprom
ҵϵͳ޹ض൱Ȥ; ֻģһ̨, ҵ Linux
ʱ͸ DOS  Windows 95 һ. ,ŵ
Ӱ,Ƶĳʽȡ, ʹҵϵͳǰ,ʼ趨.

2.1  ·

Geneva ѧӵ B , ָ·. CUI ʹĸ·,
֮һѧʹ.

ԭ,ǵĸ˵ʹ·ͨѶЭ: IPX  IP. IPX һ,һ̨
Novell Netware 3 ŷ DOS  Windows. IP һ, һ̨ SUN
ŷ NFS  Linux 弰˵ķָ.

µļܹ, Ѳʹ IPX ͨѶЭ. һ̨ Unix ŷ ( Linux
 SUN), Linux ͻ ͸ NFS  DOSWindows SMB (NetBIOS) over
TCP/IP 弰ʹߵĵ.








Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows 35 趨Զ˿վ



2.2  ι

  1.  ͻ˸˵Կ,  TCP/IP Bootprom ÿȨ֮ǰҲ.

  2.  Bootprom ͳ BOOTP/DHCP Ҫȡ IP ̬.

  3.  ŷյ˵ͳҪ, ͻͻ BOOTP/DHCP
      Ӧ,ݰͻ˵ IP λַ, ԤͨѶբ, Ӱ. ,
      ŷҪ.

  4.  Bootprom  TFTP ͨѶЭŷؿӰ,
      ͬʱӰһ̨ BIOS 㼶.

  5.  ˵͸Ӱ ,
      ֻǵĿʽ(ҵϵͳ).

  6.  ̨ѧĸ˵, ʽʼ TFTP ͨѶЭһС
      ֵ̨ԵӲ滮״̬.  ͸С,
      Ӳķָ ¹滮 DOS ʹõķָҲٸʽ.
      еĹ, Щڿ.

  7.  ʽʹѡҵϵͳ.

  8.  ʹߵѡ, µĿӰ񵵽ŷ͸ TFTP ͨѶЭ.

  9.  ѡʹ Linux, Ӱ񵵽 kernel loader ѹ kernel, 
      kernel ֧Ԯ NFS root caching  ϵͳ:

	1.  һ, IP ̬͸ BOOTP/DHCP ͨѶЭ Novell ŷ.

	2.   kernel ͸ NFS һֻܶ root filesystem.

	3.  һд빦ܵС ramdisk .

	4.  Ӳڷ swap ָ, Ϊ׼.

	5.  Ӳڷ linux ָ, Ϊ caching NFS ָ.

	6.  IP ̬һ, еķ, Ҳ xdm.

	7.  Ҫʹߵ. ̨վ.

 10.  ѡʹ DOS  Windows, Ӱ񵵽һԴ FAT16
      ָѹӰĳʽ. ͸ TFTP  Ӱ,
      ҴӲԹδʹ, κʹùķָ. Ͻ˵,
      ʽ ״ִ:

	1.  ʽһ鵵 (512 bytes)ȷѡҵϵͳĿӰ

	2.  Ӱ񵵲ڴŵ, 鵵Ǻ
	    (춿Ӱѱһ İ汾װŷ),
	    Ӱ񵵽͸ TFTP ͨѶЭ.










Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows 45 趨Զ˿վ



	3.  ҵϵͳӰ񵵽ѹһ FAT16ķָ,
	    ٶȴԼÿһ mega bytes.

	4.  ʽѡҵϵͳĿ, ѴڱӲ.


       DOS  Windows 3.1 , ʹѵ Microsoft LanManager for DOS
      (͸·ҵϽӽ mirror վ;  disk1 to disk4)
       SMB ͻ. Microsoft LanManager ɽ DHCP ֧Ԯ̬趨.
      ڵ, ʹ߻ῴ DOS, ҿԴ win  Windows 3.1 .
      ע, DOS  Windows 3.1 ͬװڿͻһ.   Windows 95
      , Ҳʹ Microsoft SMB ͻ ( Client for the Microsoft Net
      work), Ҳɽ DHCP ֧Ԯ̬趨. Ϊ·ʹ Shared LAN
      Cache, һǿ network-to-disk cache ʽ.

ѧʹõĵԿԺֱܱӹصԴκ,
ΪӲÿο½.

춱Ƚ "ȫ"  (縨ѧĵ), ʱʹķ,
ʱֱӲڵĿӰ񵵶Ӳ.
ʹ߱Ӳ. ֿ̬ĸ¿Ӱ
ͬ°װһ.

2.3  طҵ

̬Ѿɹֳϵط.
Ѿʼ׭дһЩɸʾ How-To. 
Ҳڱļδûӭһ e-mail  Marc.VuilleumierStuckel
berg@cui.unige.ch. ؽ̬ , ϸһļ !

    http://www.katedral.se/system/elevsyst, by Johan Carlstedt of The Cathe
     dral School of Uppsala, Sweden.

    http://vitoria.upf.tche.br/~fred/, in portuguese, by Frederico Goldschmidt
     of the Passo Fundo University, Brasil.


3.  趨

, λʹֱ̨:

    ŷ, һ̨ Unix .

    ͻ, һ̨Ѿ TCP/IP Bootprom ĸ˵, ӲڲҪҪ.

Ҫ̬趨ûõ TCP/IP Bootprom, Ե
http://www.incom.de ز԰ĴƬ.  ƬʹĵԾͺǲ
TCP/IP Bootprom һ.If you want to test the configuration but you do not yet
have a

ѧʹõĵ, 趨 Bootprom ·, ʹӲ.
ѧõ, 趨 Bootprom ·, ҲӲ;
Ŀͻ趨 Bootprom.









Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows 55 趨Զ˿վ



ŷ, 趨 DHCP daemon (ʹ Internet Software Consortium
ṩʽ, 970329 ). Ҳ TFTP daemon. ļʹ
TCP/IP Bootprom ߴƬڵļǿ TFTP daemon . ϲʹñ׼  TFTP
daemon, ƵпӰ񵵵ĸ P, ֧ Bootprom ʹñ׼ TFTP port
(뿴 TCP/IP Bootprom ļ).

 BOOTP/DHCP ͨѶЭʹ. ͻŷ˲ͬһ,
 բ. , ȼ̨ͬ.

, ҵϵͳҪ,:

    趨ʼӲ̬

    趨ҵϵͳѡ

    Կ

Ȼ, ÿһҵϵͳ, ǽв:

    Ŀͻ

    ̬ŵŷ

    Զ˿ͻ

    ɱ

Щ, ׷ӵĿͻֻҪ Bootprom ټӼе DHCP 趨.

3.1  趨

ŷ˵ /tftpboot Ŀ¼, еĿӰ (ЩǶλʽ)

    bpclean, Ӳ

    bpmenu, TCP/IP Bootprom ѡʽ ( Bootprom ߴƬ)

    bpunzip, ǵӲԭ

    bphdboot, ͿӲӰ

3.1.1  Ӳĳʼ

ͬĿ¼, ǽᵽ (ֱÿָ)) bpclean Ϊ
XXXclean (Ϊ԰סĿͻ˻)
ҲһΪ XXXclean.tab ͻӲָ,
ҪӵĿӰ.  : Ƕ 2 Gb Ӳʹķ















Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows 65 趨Զ˿վ



	  #  512 bytes ˵
	  # ʮ׼һ $ Ǯַ

	  # Part |	 |  Part
	  # type | Boot? |  Size
	     6	    Y	    +500 Mb
	    $82     N	    +31 Mb
	    $83     N	    -50 Mb
	     0

	  # ӵӰ
	  /tftpboot/XXXmenu



ĵʽ. ֻҪ֪Щ

    ָ̬ 6 ָ BIGDOS, ie. . DOS Fat-16  32Mb  500Mb

    ָ̬ hex 82  Linux Swap

    ָ̬ hex 83  Linux Ext2fs

    СΪֵ,ʾǵĵָҪռ 50 Mb

    ָ̬ 0 ʾ յ (δʹõ) ָ.

, bpclean ڲָ,дҪ¼(master boot
record), ȻҲָ.

3.1.2  ҵϵͳѡ

ͬ,   (ֱӿ) bpmenu Ϊ XXXmenu
(Ϊ԰ס ǿͻ˻ѡ) ҲһΪ
XXXmenu.m ͻĿ ѡ.
ȿֶ͸дĿѡȫӪĻ༭ menuedit.exe.  ,
:

























Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows 75 趨Զ˿վ



	  .CLS 23
	  .ATT 23
	  .POS 23 4
	  .WRT Simple Boot Menu 					\
	  .POS 23 5
	  .WRT ---------------- 					\
	  .POS 23 8
	  .WRT 1. Boot from local hard disk				\
	  .POS 23 10
	  .WRT 2. Boot DOS and Windows 3				\
	  .POS 23 12
	  .WRT 3. Boot Windows 95					\
	  .POS 23 14
	  .WRT 4. Boot RedHat Linux					\
	  .POS 23 17
	  .WRT Your choice :						\
	  .POS 37 17
	  .KEY 1 :bphdboot
	  .KEY 2 :linux.PX
	  .KEY 3 :win31.P
	  .KEY 4 :win95.P


3.1.3  Կ

 DHCP 趨мĿͻ. 趨ӰΪ /tftpboot/XXXclean.
Ҫ DHCP ŷʹıЧ.

Ŀͻ. ѶٵĿ bpclean, ͳѶϢ,
ķָĴС, ȻῴѡӪĻ.
üϵ pause  ͣԱȡոյѶϢ, ܻᵼ TFTP
ʱ.

° 1, յһѶϢ"ָһЧĿ" (the
boot partition contains not valid boot sector).
δʽĿָ. 
ΪڻδκοӰİʧЧ...

Ҫʼװҵϵͳ. Ҫһ. κһҵ
ϵͳ, ҪȴʼĶ. ڿ TCP/IP Bootprom
ı־ ̰ space .

ЩҵϵͳҪ¼ (master boot record). ر Linux kernel loader
(lilo)  .ֱ䶯 bpcleanʽ޷,
øıͻ˵ DHCP 趨 ʹӰֱ /tftpboot/XXXmenu
(Ķ).  ҪʹĸıЧ, DHCP ŷ.

3.2  趨 Linux

Ŀͻ˼ RedHat Linux 4.1 ֧Ԯ·, kernel
ԭʼʽ뼰Ҫ׼.  ׼δҪĵ ( /mnt/tmp Ƚ),
趨 X server, ȵ.  /usr/src/linux-2.0.27 Ŀ¼,  kernel
2.0.27 ԭʼʽ.









Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows 85 趨Զ˿վ



ҪһЩ, ʹ 2.0.30, ֧Ԯ TCP/IP Bootprom
ȡ . ȡһ  "δȷ" NFS ӲеĽṹ,
Խ· . TCP/IP Bootprom ֧ԮѾɡMarc Vuilleumier Stuckel
berg ,  David Clerc תƵ kernel 2.0 . ȡѾ Unifix GmbH
,   Unifix Linux 2.0 һ.  TCP/IP Bootprom
ȡ֧ԮѾǵѵɢ.

ֵע Linux  NFS-Root ֧Ԯֻܼܹ BOOTP ͨѶЭ,  DHCP
ͨѶЭ .  DHCP ֻ BOOTP , Linux Ҳ DHCP ŷ¹
(û  DHCP ŷܾ BOOTPҪ).

3.2.1   Kernel

,  /usr/src Ŀ¼, ʹָ

patch -p0 < :

    patch-2.0.28: һʽ kernel , һҪ

    patch-config-sound: һЧ趨,  Unifix Linux 2.0

    patch-PCSP: һϴʹ PC ģЧ,  Unifix
     Linux 2.0

    patch-bootprom: һСر kernel image, ʹ TCP/IP
     Bootprom 

    patch-filecache: һСʹ kernel һЩر,  Unifix file
     cache.  Unifix Linux 2.0

    patch-penguinlogo: һСʹߵȵ Linux ϵͳȫ

    patch-2.0.29: һСʽ kernel µ, Ҫ° kernel
     ü

    patch-2.0.30: һʽ kernel µ, .  һ,
     Ҫ ( TCP/IP ͨѶ Э). Ļ
     û alpha ԭʼʽ (пܷ),
     αԹ뵵ڵѶϢ.  Ҫ,
     ֻҪشҪЩȱٵĵ,ᷢκ

ִ make mrproper  make xconfig,  kernel.  ס⽫ǿͻ˵
Linux ʱ, Ψһյ,  ҪҵϵͳĶ.
ʹģ鷽ʽ, ǲ·ģ. Ϊ·һҪ kernel .
֮,  kernel Ҫ Щ

    ֧Ԯ·

     BOOTP ͨѶЭ,֧Ԯ NFS-Root

    ֧Ԯ filecache

    ֧Ԯͻ˵ԵӲģ









Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows 95 趨Զ˿վ



ʹǵ .config . Ҫû Bootprom ״²,
ȷ Ѿ kernel ڰӲ֧Ԯ.

ѡ, ճ make clean; make dep  make zImage, make mod
ules  make modules_install. Ứһʱ...  ׼ȥ kernel,
 lilo. װ kernel (ο lilo ļ),ĵ
(Ӳ). κδ, ǲһ.  ִ depmod -a  modules
dependencies. ȫʱ, ִ make bpImage һ bootimage  TCP/IP
Bootprom ʹ.

3.2.2   Root ϵͳƵ NFS

ŷҪ㹻Ŀռ Linux ϵͳ ( Megabytes).
һ Ŀ¼ NFS , ͽ rootfs, нһĿ¼ͽ run
time. ʹ /export/linux/rootfs/runtime. ֻ Linux
ͻ˿ɶд,  root ĴȡȨ ( annon=0). , ǵ NFS  Solaris
ִ, ָ:

share -F nfs -o rw=pc7971,anon=0 /export/linux/rootfs/runtime.

 Linux ͻ˹ָGNU tar  Linux ϵͳƹȥ
(Ԥ RedHat Linux). Ҫǵʹ GNU tar ָ,Ϊе tar
ָ޷ȷش block device  special nodes . Ȼ༭
/export/linux/rootfs/runtime/etc/fstab Ŀ¼ 趨,ʹĿ¼ nfs
mount ȡԼӲ. 㻹Ҫȥ ( Ҫ)
/export/linux/rootfs/runtime/etc/sysconfig/network-scripts/ifcfg-eth0
Ϊ·װý NFS-root ʼܱʼ.

 /etc/lilo.conf һ linux, : linux-nfs Ϊ,
µĲ:

append="root=/dev/nfs nfsroot=/export/linux/rootfs/runtime nfsaddrs=-
ip:ŷ-ip:բ-ip:· :"

(-ip  Linux ͻ˵ IP λַ,ʮλеķʾ, ŷ-ip 
NFS ŷ IP λַ, բ-ip  Linux ͻ˵Ԥբ, · 
Linux ͻ˵ ·   Linux ͻ˵). ִһ lilo
, ĵ (ȻӲ), ѡ linux-nfs 趨.
ĵԽǰһ, ʹһ.  ĳЩ,
ֻҪ¿ԭ local linux 趨 . 󲿷ݵ״,
 NFS root 趨. κζ˽, һ /usr/src/linux/Documen
tation Щ... Կ NFS-Root-Mini-Howto.

һ,ֻ append="root=/dev/nfs" ȷ Linux kernel ͸
DHCP/BOOTPҪ趨 IP .  Ҫ,  DHCP
趨м Щѡ (ȻҪ趨Լ·̬), ĻӲ弰
IP λַ:


	  option subnet-mask 255.255.252.0;
	  option routers 129.194.68.1;
	  option root-path "/export/linux/rootfs";










Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows105 趨Զ˿վ



 Linux kernel Ҫټָ, 	option option-177
.

һҪʹǵϵͳ Ψ NFS ϵͳ¿Թ.

3.2.3  Ψ NFS Root ϵͳ

ȻҪǵ root ϵͳڴ󲿷ݵ Linux ͻΨķʽ,
ǾҪʹ ϵͳЩ΢Ĳͬ, ǽҪдȨ޵ĵط ramdisk  file
cache ȡ. ǰ ϵͳ /export/linux/rootfs Ŀ¼,
׼İ汾ֱӷŵ /runtime/ .   NFS ŷ
/export/linux/rootfsĿ¼,µĿ¼:

    bin -> cache/bin

    dev -> ramdisk/dev

    etc -> ramdisk/etc

    lib -> cache/lib

    root -> ramdisk/root

    sbin -> cache/sbin

    tmp -> ramdisk/tmp

    usr -> cache/usr

    var -> ramdisk/var

    cache/

	 bin -> /runtime/bin

	 lib -> /runtime/lib

	 sbin -> /runtime/sbin

	 usr -> /runtime/usr

    mnt/

	 cdrom/

	 floppy/

	 tmp/

    proc/

    ramdisk/










Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows115 趨Զ˿վ



	 dev -> /runtime/dev

	 etc -> /runtime/etc

	 root -> /runtime/root

	 tmp -> /runtime/tmp

	 var -> /runtime/var

,  root filesystem, ٲݼָ
/ramdisk,  Щָ cache Ŀ¼. Ψ NFS filesystem ,
ǽһѳʼ ramdisk  /ramdisk . ͬ
ԼӲķָ /cache  NFS ȡʹ. Ե
˵,ȡԭǵthe principle of the filecache is that whenever a sym
bolic link from the cache subdirectory is followed, it is replaced by its tar
get. ĿԼһĿ¼, ÿһ
Ŀ¼תһᲢᵽⲿϵͳԭʼλ. ע⵵ȡʹþ
ԷǱ, ʹ NFS ŷ. ϲ, 
 NFS ŷ,һ /runtime  /export/linux/rootfs/runtime .

ΨĿͻ˼һЩ趨ĶǱ, ˲ſԹ ramdisk,
趨ȡ ӲԱ趨. Щ򵵺һ̬,
԰Ƶ NFS ŷ:

    runtime/etc/rc.d/rc.ramdisk, Կ趨 ramdisk:


	       #!/bin/sh
	       #
	       # 趨һ ramdisk Ϊ root ͸ NFS Ψʽ
	       #
	       modprobe rd
	       gzip -c -d /runtime/lib/ramdisk.gz | dd of=/dev/ram bs=1k > /dev/null 2>&1
	       mount -n -t ext2 /dev/ram /ramdisk


    runtime/etc/rc.d/rc.sysdetect, еĻԶ趨,
     ⼰ Ӳķָ ȡʹ.
     Ϊ˿ռǲڴ˷ļӡİ汾а˵, ڳ
     İ汾ҵ;

    runtime/etc/rc.d/init.d/filecache.init ϵͳ:



















Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows125 趨Զ˿վ



	       #!/bin/sh
	       #
	       # filecache:    ȡ:    ȡ ( NFS root )
	       #
	       # Դܺ.
	       . /etc/rc.d/init.d/functions

	       # κйܺ.
	       case "$1" in
		 start)
		       if [ -e /cache -a -r /etc/filecache.conf ]; then
			       echo -n "Starting NFS filecache: "
			       #  var  tmp ƵԵӲ
			       rm -rf /cache/var /cache/tmp
			       (cd /ramdisk; tar cf - var tmp) | (cd /cache; tar xf -)
			       (cd /ramdisk; rm -rf var tmp;ln -s /cache/var;ln -s /cache/tmp
	       )
			       chmod 777 /cache/tmp
			       # ȡ
			       daemon filecache -d on
			       echo ""
			       touch /var/lock/subsys/filecache
		       fi
		       ;;
		 stop)
		       filecache off
		       rm -f /var/lock/subsys/filecache
		       ;;
		 *)
		       echo "*** Usage: filecache.init {start|stop}"
		       exit 1
	       esac

	       exit 0


    runtime/etc/filecache.conf, ȡ趨


	       Max 100 MB 50 % #
	       Cache /runtime /cache



ǰӦ÷ǰӦ÷ runtime/etc/rc.d/rc.sysinit,
ǰλ, ʾ:
















Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows135 趨Զ˿վ



	  # 趨	ramdisk  ( root NFS ΨĻ)
	  if [ -e /ramdisk -a -r /etc/rc.d/rc.ramdisk ]; then
		  /etc/rc.d/rc.ramdisk
	  fi

	  # 趨ӲԶĲ (ÿ root NFSʹ)
	  if [ -r /etc/rc.d/rc.sysdetect ]; then
		  /etc/rc.d/rc.sysdetect
	  fi



Ӧ be bound as usual to the System V init directories: we use links
named S35filecache in the rc3.d and rc5.d directories, and K80filecache in the
rc0.d, rc1.d, rc2.d and rc6.d directories.

һ rc.sysdetect , ʹӲ豸. رҪע,
һû ʹͬʾөĻ (ܷܿ :-), 
/proc/pci ĻӦ޸. ÿ̨ ʹõĴλ,  rc.sysde
tect ֮һΪ, Զ趨 ( printcap), aΪÿ ̨,
Ҫŷ dhcpd.conf , رı option-132
趨ÿ̨ʹõλ . װ֮ǰ, ҪȽļrun
time/etc/fstab.ref  runtime/etc/hosts.ref , Щ rc.sysdetect
ʱ͸趨, Ϊ˶̬趨 X servver, ʹ RedHat
׼, һȱ:  /usr/X11R6/bin  /usr/X11R6/lib/X11
Ŀ¼, һЩص 趨Ŀ¼Ӧøĳɾ.  X server
°װҲҪ編.

 filecache װ runtime/bin Ŀ¼, ʹ˵ man page װ run
time/usr/man/man8 Ŀ¼.  bootptag  dhcptag װ  runtime/usr/local/bin
Ŀ¼,  bootptag.c ( dhcptag.c)  runtime/usr/local/src Ŀ¼:
һ BOOTP/DHCP Ҫ,  shell ı׼ʽӦ BOOTP/DHCP
ݵСʽ, µġʾ:


	  bootp_your_ip='129.194.71.32'
	  bootp_server_ip='129.194.77.31'
	  bootp_filename='XXXclean'
	  bootp_subnet_mask='255.255.252.0'
	  bootp_routers='129.194.68.1'
	  bootp_domain_name_servers='129.194.69.200 129.194.8.7 129.194.4.32'
	  bootp_host_name='pc7132'
	  bootp_domain_name='unige.ch'
	  bootp_root_path='/export/linux/rootfs'
	  bootp_broadcast_address='129.194.71.255'
	  bootp_nis_domain='cuisunnet.unige.ch'
	  bootp_nis_servers='129.194.69.200'
	  bootp_option_132='dufour'



ǵ RFC 2132 . ʹ dhcptag, õһЩ dhcp_
ͷı, Щ DHCP-ѡ; Ϊ˹˼, ѶȻ bootp_
Ϊ. ʹʽԶ  rc.sysdetect. ,  runtime/lib װ








Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows145 趨Զ˿վ



makeramdisk script . ǽԶ ramdisk Ӱ. Щ
ڳļİ汾.

ɿͻ read-write NFS  (ȻӲ).
ͻ˵ĸ̬,  ʵĵ  /etc/fstab, /etc/hosts,
/etc/sysconfig/network Ƿ趨ȷ. Ĳ, 
˹ģʽһ, ҳ rc.sysdetect Ĵ.

ȵ,  /lib Ŀ¼ִ ./makeramdisk. Ứ, һ
ramdisk Ӱ񵵸Ψ  NFS ͻ. Ѳ ramdisk image 
/lib/ramdisk.gz, ̬!

3.2.4   Bootprom 

δ, 밲װ TCP/IP Bootprom-ݵ kernel Ӱ (ҵ
/usr/src/linux/arch/i386/boot/bpImage) ŷϵ /tftpboot/linux.PX .
rc.sysdetect ʼ Linux swap  Linux Ϸָ.
ΪҪ, ʱ༭ŷ XXXclean.tab ıָ ̬ hex 82
Ϊ hex 28,  hex 83 Ϊ hex 38. һδ֪ķָ̬,
ǰװܰԤָ ʶ.  DHCP 趨, ѿ趨Ϊ
XXXclean , ʹ ָ. ޸趨Ҫ DHCP daemon.

, unexport ɶд runtime Ŀ¼,  export Ψ /export/linux/rootfs
Ŀ¼. ͻ, һʹ ÿʹ Linux ѡѡ. ϵͳ
remote-boot Linux.

3.2.5  ϵͳά

,װһЩȫ, 밴в:

    Unexport rootfs Ŀ¼

    Export runtime Ŀ¼Ϊɶдÿͻ

    趨ͻ˵ nfsroot Ŀ¼Ϊ runtime ( /etc/bootptab 趨)

     Linux ͻ, װ밲װĶ. Ҫʹ rpm,
     úܺ (ֻҪСĵ
     װκ׼ʱ,ҪעһЩЩҪ޸).

    » export

ָ,  local װ״̬, ܸ server-based 趨.

3.3  趨 DOS 6  Windows 3.1

Ŀͻ˵, ʹϲ dos  (ǵÿʱ, հ׼ȡ BootPROM
). ʽ Ӳе dos ָ /S , ʹҵϵͳ.
һΪ DOS Ŀ¼,  DOS  ȥ. װϲ·ͻ˳ʽ (
Microsoft LanManager), Windows 3.1, ȵ. ʹ DHCP ͨѶЭ趨 IP ̬.

ָԭ BootPROM ʹõļռ ( DOS
Щ岻Ҫõ) һе config.sys ڵĵһ:









Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows155 趨Զ˿վ



	  device=\util\bputil.sys -r



(bputil һ TCP/IP BootPROM ߴƬеĳʽ). ʹ EMM386
ѻʹõļ, ԰· ROM ռ,
ΪʱѾò. Ҫǵð·ʹ  RAM 鲻,
޷ӵŷ.

Ŀͻ˻ʹЧĵ, ǵ nobreak.sys pseudo-device
ʽ config.sys ĿͷЩŵ autoexec.bat:


	  rem -- ʹ c:\logged Ϊһ
	  del c:\logged >nul
	  :loginneeded
	  cls
	  echo Please type in your login name and password
	  echo.
	  net logon *
	  rem -- the login script Ѿ c:\logged
	  if not exist c:\logged goto loginneeded
	  del c:\logged
	  rem -- ʹ break Ч
	  echo Yes >NOBRK


¿ڿѡѡ Boot from local hard-disk ѡ, ȷԿ.

3.3.1  ̬趨Ƶŷ

صŷ, һΪ admin , һЩϵͳõĶ.
ŷ Unix,  /tftpboot Ŀ¼ softlink һݵ admin ,
ֱɿͻ˴ؿӰ.  admin Ŀ ¼, һ /utils
Ŀ¼µĹ:

    mrzip.exe, һѹͻӲӰ񵵵ĳʽ.

    mrunzip.exe, һشӲӰ񵵵ŷĳʽ.

ҲҪһЩӲѹӰεŵͬĿ¼,Щε:


	  @echo off
	  if "%1"=="" goto error
	  echo >c:\lanman.dos\lmuser.ini
	  l:\utils\mrzip l:\tftpboot\%1
	  goto end
	  :error
	  echo Usage: MAKEIMG {image-name-without-extension}
	  :end


ڻصĿͻ, ½ admin mount Ϊŵ L:








Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows165 趨Զ˿վ



Ϊ˵ִε,  ûǿ԰еִָ
(һҪþ· )


	       L:\util\mrzip L:\tftpboot\win31


һӹ, ŷϵ /tftpboot Ŀ¼½µ, Ϊ win31.imz,
Ӳݵѹ Ӱ쵵win31.chk, صļ鵵 ( partition boot record
ϸ޸Ŀ). Ŀ¼, ֻ Ҫһ bpunzip  symbolic link
(ÿ) Ϊ win31.P.

ӲΪԶ˿趨һо.

3.3.2  Զ˿ͻ

Ŀͻ˲ڿѡѡ DOS and Windows 3.1 ѡ. bpunzip
ʽһ ЩӰıѶϢ, ·Ӱ
(ǵһӰ).  Ứһ.
ѹӰ DOS ָ, .  Ҫ,
Զ˿ͻ !

һ¿, ֻѹӰ,  30 .

3.3.3  ת趨

ҪΪÿ̨һЩ趨 (Ԥӡ), ҪһЩ͸
 DHCP ͨѶЭ޸ĵ·趨, ʹ unzipreg.exe ʽ,
ŵͻ˵ autoexec.bat (ԭʼʽ).  ʽȡһ bpunzip
ص, Ϊ BOOTP.ANS, ŷ͸ BOOTP/DHCP
ͨѶЭش. , ȡһָĵ ,  BOOTP/DHCP
ĻӦ,  UNZIPREG: ǩ : ָʽȡеִ, ѽд
ڶָĵ. , иΪ input.bat Ϊ:


	  set hostname=UNZIPREG:HOSTNAME:
	  set domainname=UNZIPREG:DOMAINNAME:
	  set gateway=UNZIPREG:ROUTER:
	  set subnetmask=UNZIPREG:SUBNET:
	  set printer=UNZIPREG:T180:



ִָ


	       unzipreg input.bat output.bat



õһΪ output.bat :











Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows175 趨Զ˿վ



	  set hostname=pc7179
	  set domainname=unige.ch
	  set gateway=129.194.76.1
	  set subnetmask=255.255.252.0
	  set printer=laserwriter1



 DHCP 趨̨Ϊ pc7179, Ϊ unige.ch, ȵ, 
option-180  laserwriter1.

Ҳ͸ֵ޸ Windows . дһСʽ simple program 
PROGMAN.INI , Ϊһ Ⱥʹ趨ͬ.

Ϊκһ̨ͻ˻趨, ʹ mrzip
½ŵӰάб.

3.4  趨 Windows 95

ڴ˷ļǰİ汾, ʹù΢˾ Windows 95 server-based installa
tion, ̫ⷽ ʹֲмֵ:

    Ƿǳ

    󲿷ݵ׼֧Ԯȥװͨʧܵ. ,
     Microsoft Internet Explorer, OnNet 32, Novell's Protected-mode client
     ( Microsoft Client for Netwareȫ).

    Ϊ΢˾ṩ Windows 95 ʵģʽµ TCP/IP
     ݵʽ޷ʹ Microsoft Network client over TCP/IP
     Ҳζʹ Samba

    ΪͻһͻסһЩ̬ᵵʽ޷,
     ȥ Υ(sharing violations)Ĵ.

˼ǰǷݴٳ (Ȼҵ http://cui
www.unige.ch/info/pc/remote-boot/win95old/win95old.html) Ȼỻµ
disk-based Զ ĸ. ,  Windows 95 װ͸װ
DOSһ.

3.4.1  һ̨Ŀͻ

ڿͻ DOS , Ѿ趨 DOS/Windows 3.1
Ǿɿѡѡһ,  һ ( space  BootPROM).
ʹõһַŵѾһ̨ʹ· Ŀͻ, ֻҪ Windows 95
İװƬŵŷϵĳط.

, ĵһǰװҵϵͳ, ǸʽӲ DOS
ָ /S ѡ . ʹ DOS/Windows 3.1 ̬,
ҪһЩװ Windows 95 ʱҪĵ
ԼһЩĿӰвҪĵ (, WINDOWS Ŀ¼).

ʼװ Windows 95, װ local . װ,
ʽĿͻ˵, һЩ 趨һ. ⼸ε¿,








Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows185 趨Զ˿վ



Ŀѡѡ Boot from local hard-disk ѡ .
ȵ趨Ҫʽ, ִ defrag Ӳ
(δʹõ ŵռ).

ҲҪʹ BootPROM ռļ, ֻҪ config.sys һм :


	  device=\util\bputil.sys -r



(bputil Ƿ TCP/IP Bootprom ߴƬ). ͬ DOS,  Windows 95
ʹ EMM386 .

Ҫʹ Windows 95 OSR2 ( MSWIN 4.1,  Windows 95 service pack 1,
 Windows 95 with Internet Explorer), Ҫ MSDOS.SYS е [Options]
μһ (ûֵ):


	  AUTOSCAN=0



ʹ Windows ֪ʱԶ ScanDisk .

е嶼ŷʱ, Ҫ·ŷĸ
(⽫ϵͳЧ) ,  Կǰװ൱ Shared LAN Cache, Mea
surement Techniques, Inc  (ο http://www.lancache.com).
ÿ̨ͻ˵ִ, д·ȡõϷ
ԵӲпȡ. ʹ MS-Office ڶִʱҲ...
ÿ̨ͻ˵ԶҪһ ݰȨ, Ǻܹ,
ҹ˾춴רԺУػݼ۸. õԵǵҳ ѵ.

3.4.2  趨Ƶŷ

ŷ, ĿǰûнһΪ admin Ŀ¼, Ǿͽһ.
⽫һЩϵͳҪõĶ . ŷ Unix Ļ, ڰ admin Ŀ¼
softlink  /tftpboot Ŀ¼, ɿͻ ֱӰӰ񵵷ŵ.  admin
Ŀ¼, һ /utils Ŀ¼й߷Žȥ:

    mrzip.exe, һͻӲѹӰĳʽ.

    mrunzip.exe, һѹӰ񵵴ŷش浽ͻӲĳʽ.

Ŀͻ˿ MS-DOS Ӵ, ԰ admin ·ŵ L:
ִеָ (һ Ҫʹþ·, 򼸸޺ :-)


	       L:\util\mrzip L:\tftpboot\win95


⽫ŷ /tftpboot Ŀ¼, µ, Ϊ win95.imz,
һͻӲѹӰ  win95.chk, õĵ
(ʵǰѿָЩı䶯). Ŀ¼, ֻҪΪ win95.P








Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows195 趨Զ˿վ



ķᵽ bpunzip (߿һ) .

 Windows 95 Զ˿̬.

3.4.3  Զ˿ͻ

Ŀͻ˵Բӿѡѡ Windows 95 . bpunzip
ʽһЩ ӰѶϢ, Ҵ·Ӱ
(ǵһοӰ).  ԼỨ.
ѹӰ񵵵 DOS ָ, .  ,
Զ˿ͻ˾!  һ¿, ֻ⿪Ӱ, ŻỨ 40
.

3.4.4  תΪ趨

Windows 95  Windows 3.1 ĲͬǼ˼弴õĳʽ,
ԶӲ豸.  ỵ, ǳ̫,
ʱ.

ͬĿӰȥһ̨ͻ˻, յһ Windows 
µӲ 豸ѶϢ: һƬµЧ, һµӲ, һƬµ·,
һֻµĻ... ԭ ж:

    Щ豸ʹòͬӲԴ (, ǽͬӲ,
     Чǽͬ  - û, ᱻ⵽)

    Щ豸֪ͨ Windows 95 ǵ (, ÿ̨ Windows 95 ·,
      ̫·λַÿ̨һ)

ʵ ,  Windows 95 ļ弴ùܿĻ,
ԶӲ豸 , 弴ùʧЧʱ, .
, Windows 95 ǵ޼ PS2 ʱͲ ܼ弴,
ǻʧ. Ҫⷽ, ʹȫͬ豸.

޷ÿ̨Ե·. ܲҵ, ǵ SMC EtherEX
ʹõļ弴õĳʽ ʹԵ. ΨһĽⷨʹ Windows 95
Ѿ֪Ƭ·, Ҳ败弴 .
ɾ͸Զִе autoexec.bat ,
ԶİѹƬ·趨ֵ Windows 95 ϵͳעѶ. Ҫעʹ
PCI ·Ҫ.

Ŀͻ˵, ༭Զִе autoexec.bat м:


	  rem ---  Windows ϵͳעѶԱ⼴弴ù
	  cls
	  unzipreg c:\lib\smc.reg c:\temp\smc.reg
	  regedit /L:c:\win95\system.dat /R:c:\win95\user.dat c:\temp\smc.reg
	  echo.
	  del c:\temp\smc.reg


regedit Ǳ׼ Windows 95 ĳʽ.  Windows
95ִ,԰ϵͳ¼Ѷ,   DOS ִ,








Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows205 趨Զ˿վ



Զϵͳ¼ѶһЩ򵥵. unzipreg.exe һƵСʽ,
Է·µκεط (ԭʼʽ ). ȡһ bpunzip
رص,  BOOTP.ANS, ŷԭʼ BOOTP/DHCP
ӦѶ.  Ȼ, ȡһĵ(c:\lib\smc.reg), Ȼ BOOTP/DHCP
Ӧȡ UNZIPREG:tagname: Ϊʽ,
дڶĵ(c:\temp\smc.reg).

 lib Ŀ¼, иΪ smc.reg ĵ:






















































Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows215 趨Զ˿վ



	  REGEDIT4

	  [HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C0]
	  "HardwareID"="*SMC8416,ISAPNP\SMC8416"
	  "HWRevision"="1.0.10"
	  "DeviceDesc"="SMC EtherEZ (8416)"
	  "Class"="Net"
	  "Driver"="Net\\0001"
	  "CompatibleIDs"="*SMC8416"
	  "Mfg"="SMC"
	  "ConfigFlags"=hex:10,00,00,00

	  [HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C0\Bindings]
	  "MSTCP\\0001"=""

	  [HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C0\LogConfig]
	  "0000"=hex:00,04,00,00,00,20,00,00,10,00,00,00,04,00,00,00,00,00,00,00,a8,0e,\
	    00,00,20,00,00,00,02,00,00,00,01,00,0c,00,00,00,00,00,00,00,00,00,e0,ff,20,\
	    00,40,02,ff,03,00,00,04,03,2c,00,00,00,01,00,00,00,01,00,14,00,00,00,00,00,\
	    00,00,00,00,00,00,00,00,00,e0,ff,ff,00,20,00,00,00,00,0c,00,ff,ff,0f,00,00,\
	    00,00,00,2c,00,00,00,01,80,00,00,01,00,14,00,00,00,00,00,00,00,00,00,00,00,\
	    00,00,00,e0,ff,ff,00,80,00,00,00,00,0c,00,ff,5f,10,00,00,00,00,00,00,00,00,\
	    00

	  [HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C1]
	  "HardwareID"="*SMC8416,ISAPNP\SMC8416"
	  "HWRevision"="1.0.10"
	  "DeviceDesc"="SMC EtherEZ (8416)"
	  "Class"="Net"
	  "Driver"="Net\\0001"
	  "CompatibleIDs"="*SMC8416"
	  "Mfg"="SMC"
	  "ConfigFlags"=hex:10,00,00,00

	  [HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C1\Bindings]
	  "MSTCP\\0001"=""

	  [HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C1\LogConfig]
	  "0000"=hex:00,04,00,00,00,20,00,00,10,00,00,00,04,00,00,00,00,00,00,00,a8,0e,\
	    00,00,20,00,00,00,02,00,00,00,01,00,0c,00,00,00,00,00,00,00,00,00,e0,ff,20,\
	    00,40,02,ff,03,00,00,04,03,2c,00,00,00,01,00,00,00,01,00,14,00,00,00,00,00,\
	    00,00,00,00,00,00,00,00,00,e0,ff,ff,00,20,00,00,00,00,0c,00,ff,ff,0f,00,00,\
	    00,00,00,2c,00,00,00,01,80,00,00,01,00,14,00,00,00,00,00,00,00,00,00,00,00,\
	    00,00,00,e0,ff,ff,00,80,00,00,00,00,0c,00,ff,5f,10,00,00,00,00,00,00,00,00,\
	    00



һʼ Windows 95  regedit .
ǰѹ·趨һ (
HKEY_LOCAL_MACHINE/Enum/ISAPNP/SMC8416) Ȼ UNZIPREG:MACID:
Ǻȡ·Ӳλַ.  ⵵ִ unzipreg ,
Զ·ʵӲλֵַȡ趨ļǺ. ע и
MACID ֮ʱ C0 ʱ C1. ʹһڵ·¼в








Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows225 趨Զ˿վ



, ǻǰŽȥ.

ҪһΨ, ɶ PCI ·ԲҪ. ˳һ,
ǿͬķԶ ,  Windows 95 ͸ DHCP
ȡ趨ʱ. ֻмеǵ smc.reg :


	  [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
	  "ComputerName"="UNZIPREG:HOSTNAME:"

	  [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP]
	  "HostName"="UNZIPREG:HOSTNAME:"

	  [HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\ComputerName\ComputerName]
	  "ComputerName"="UNZIPREG:HOSTNAME:"


ҲʹͬĻջ̬λ趨Ļ. ,
һԲο DOS/Windows 3.1 һε.

ڱκοͻ˻趨, ǧ mrzip ½ŵӰ,
е趨᲻ .

ʹϵͳ¼ѶС, 趨ѶתƵеĻ.
޷ Windows ȥһЩϵӲ,
̨½ŵӰ. ̨
趨ĵ¼ѶҲҪŵӰ, ˳ĻԽ.

ŵӰ񵵽ѹʱỨһЩʱ (ͨ 20-30 .),
ԸʹһЩѶϢ߾ͷƯƯ ͼǿ. Ժܼ򵥵
(һƪļ BPUNZIP ).

õ趨 Samba Ѷ빤߸Զ˿ĵʹ,
ǻдһļ.   http://cuiwww.unige.ch/info/pc.


4.  TCP/IP Bootprom ع߳ʽ

һνΪ TCP/IP BootPROM дĳʽһЩ˵.

4.1  MENUEDIT

 DOS ִеĳʽ, ༭ TCP/IP Bootprom Ŀѡ. ܼ,
ԭ ṩĿѡķ. ԰ F1 һЩ˵.
ҪǿĹ (  ), һⷢ°汾.

ԭʼʽΪ Pascal ﷨ȡ.

4.2  BPHDBOOT

 boot image Ӳ master boot record ִ.

 boot image ЩҪ¿趨ҵϵͳ൱.
Ҳ ҪǿӲʱ.








Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows235 趨Զ˿վ



ԭʼʽΪ Assembler ﷨ȡ.

4.3  BPCLEAN

 boot image дӲ master boot record, Ӳķָ. ,
Կٸʽ DOS (FAT16) Ϸָ (޷ʹɿ). ΪȨĹϵ,
Ǳ¹滮ǵ master boot record  FAT16 ,
һЩԶ˿ѶϢ, ׼ķָһ. Ϊ
ʹʽܹ, Ҫص BIOS  master boot record ı
(Ϊÿοһ).

ʽʽͬķָ丱Ϊ .tab.
԰, ע ɼǺſʼó 512 Ԫ.

ǰĸհ׼עļӦðĸӲָ.
հ׼עһӦ һҪĿӰ.

ָɿո tab ָ, ָʽ:


	  type	boot?  1st-cyl	1st-head  1st-sect  last-cyl  last-head  last-sect
	  type	boot?  1st-cyl	1st-head  1st-sect  relative-size
	  type	boot?  relative-size




    һָʽ, 辫ȷķָ.

    ڶָʽ, һ sector
     λж嵫ָĽλҪķָСԶ.

    ָʽ, һ sector
     ǰһָĽλԶҷָĽλǿ
     ҪķָСԶ. ָʽȫӲĴС.

еֶʮ, гǮֺ, Żᱻ趨Ϊʮ.

    ָ type DOS ָС 32 Mb Ϊ 4, DOS ָ 32Mb  500Mb ֮Ϊ
     6 . ֵ ʹ Linux fdisk help ҵ.

    ɿָ boot? һӦ趨 Y ָ趨 N .
     ǸҪ¼ (master boot record) ʹ.

    1st-cyl, 1st-head  1st-sect ǹϵָĵһ.
     ǧ,ͷǴ 0 ʼ, Ǵ 1 ʼ.

    last-cyl, last-head  last-sect ǹϵ ָһ.
     ָͨڴı߽.

    ָռ С еķʾ:

	 + 10 Mb ָָҪ 10 Mb ( 2048 );









Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows245 趨Զ˿վ



	 - 100 Mb ָָԤ 100 Mb ( 20480 )
	  õĿռһָ;

	 + 30 % ָָĿǰλ, ռס 30 perceny Ŀռ;

	 - 70 % ָָӦ 70 percent
	  ĿռĿǰλøһָ.

     ԴСָʱͨڴı߽,
     ҳǵһִλȷ, ŻӴͷı߽紦ʼ. ֪,
     Ϊ˷ϱ׼ʹ.

һǩһָ֮, Ӧķָᱻʽ DOS FAT16
ķָ, ԭָʽ. ָʽ 4  6 ݵ,
ѧʹõĵʱ൱õ.  ֿٸʽֻҪʮ.

Ԥֵ, bpclean Ǳ֧Ԯ LBA ( 1024 , ɴ 256 ͷ).
ĳЩֵ BIOS ĳ Щֵҵϵͳϲһ NORMAL ģʽ (ɴ 4096
, ܳ 64 ͷ);  Ҫģʽ,  LBA
ĶԭʼʽĳעȻ±һ.

Assembler ﷨ԭʼʽ.

4.4  MRZIP, MRUNZIP and BPUNZIP

MrZip һ DOS ִеĳʽ, ѹ DOS FAT 16ָ. һ,
ȷŵʹ ״, Ȼֻʹõѹ, ൱
(Чʵ) ͳƵѹ ѹ. Ѿ֧Ԯ Windows 95 ĳ,
ǸΪ .SWP ĵᴢ. ڸʽ ͬĵ,Ѿ magic
numbers, Ѹԭʼ . ĸλ ʱ,
봢ڵĵλ . ڽѹӰǰ
ӲŹ, ʹ ׷Ӱ񵵵ĸ´.

Ϊ MrZip ʹֱӴŵȡ, ִǰȰѴŵȡϻش. Win
dows 95 ƺ һԵĹֱӴŵȡ

MrUnzip һ DOS ִеĳʽ,ѹŵӰ񵵵Ӳ,
ʹֱӴŵȡ. Ҫ κξпȡܵĳʽһʹ,
ΪʽѾ DOS ĥ... ,
Ҫָһ޷Ļǽõ.

BpUnzip һӰѹӲӰ. Ե˵,
ӲӰ ͬ, Ϊ .imz.

, ȶȡָ

    һ DOS ָ, ŵӰ񵵻شĵط

    ָһ, ὫѹӲӰ.

ȡһδõĴĵһǷѾһӰ.
,  Ӱеì,  shift ʱ (һر
general-cleaning ź), Ӱ ᱻ.









Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows255 趨Զ˿վ



ӰûаӰ, ͸ TFTP ͨѶЭ벢Ӱ.
ǰ Ӱ֮, û㹻ĿռžɵӰʱ,
ɵӰ񵵻ᱻ. ӰѾ Ӱ, µĿӰ
() ͸ TFTP ͨѶЭ벢ĿǰӰ Ƚ.
ǲȫһ, ѹӰһ.

Ӱᱻѹ, е magic numbers ȷ, ѹ.
ѹʧ , ߼µĿǺ,
Ӱ񵵽벢һ. , ʽѿ Ȩ,
ҵϵͳͻ.

 bpunzip ͸ .P  ( win95.P),  TFTP ŷ port 59
мǿ͵Ľ (  port 69 ֮ӵ). BpUnzip
͸ԽϴķʽӰ, ͨ 1408 bytes  ȡÿ 512
bytes (תʹôļеTCP/IP Bootpromʹõ).

ͬ,  bpunzip ͸ .G  ( win95.GP),
һͬ GIF ͼ ( win95.gif)
ڿʱӪĻ. ʽֻ 800x600, 256 ɫģʽ¹ (ʹ GIF
ͼ ԸСʹøٵɫ). Ҫ̼¼,
԰ ESC Ƴ.  ʾ VESA ,
ʹ. ,Ҫעǵִ ɰʹõɫ̵
ʮɫʾ. ʹ, ϣ. ˳һ, 
ϲǱǵִɰ, ɵĸı ( GIFDATA.ASM),
뱣ǵ ڿԿõĵط.

ĿطָҪȫԭʼĴСͬ ;
ֻҪ㹻Ŀռŷָ,ʹõĴ .
ĿطָСԭʼķָ,  Ӳ FAT ˶ή
(С򲻱).  ĿطָСԭʼָ,  Ӧ FAT
ᾡܵ. Ȼ, Ŀطָ ԭʼָ,  65518
ͲеĿռ (ΪС޷ı).  ״, bpunzip
,ʹһЩռʧ.

Ԥֵ, bpunzip Ǳ֧Ԯ LBA ( 1024 , ɴ 256 ͷ).
ĳЩֵ BIOS ĳ Щֵҵϵͳϲһ NORMAL ģʽ (ɴ 4096
, ܳ 64 ͷ);  Ҫģʽ,  LBA
ĶԭʼʽĳעȻ±һ.

Assembler ﷨ԭʼʽ.

ʹ Solaris 2.5  TFTP server. ڴ 16 Megabytes ʱ, .
Ϊ޷ 32768 packets per file һ֪ĳ, ֱĿǰ
SUN δṩ. ǽʹøЧ ʵļǿ extended TFTP server
(Ҳ֧Ԯҵϵͳ,  TCP/IP Bootprom ߴƬ).

4.5  NOBREAK

Nobreak.sys ൱С (ֻ 350 bytes ) ʽ,  config.sys
еĿʼ. ĿǱ , ֱʹߵ. DOS Ϊṩһ趨 (Ϊ
BREAK=OFF), ,  autoexec.bat û.
ǵʽԭǵжҪʱ޸ļ̵ɨ, ֱ BIOS 㹤.
ⷽ, еĳʽжδǰղжѶϢ.









Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows265 趨Զ˿վ



ʽ config.sys (ʹ Undocumented DOS  devlod ʽ).
, ͸  Yes  NOBRK װ, Ҵ No  (ʵ,
ֻҪһԪ, Y  N Ҫ ).

Ϊʽ BIOS, ֻ DOS  Windows 3.1.¹ Windows 95
Լ ͽ׼̴.

Assembler ﷨ԭʼʽ.


5.  

⽫۹ܹ.

5.1  Bootproms  Ӳ

Bootproms Ѿ൱, ֻͨʹ޴ŵĵ.
, Bootproms ھӲĵԽȤ, Ϊǵõ˫:

    һ Bootprom ʹļܹȶ,
     ΪȷԱضͬһ迪 , ʹ˲ָ.
     , Ҳ, ҵϵͳ֮ǰ Ӳ

    Ӳʹ̬Ч, Ϊ͸ȡ·,
     Чʵ swap.

5.2  ʹһ Bootprom ?

˵Կõ Bootproms ൱. ѡ Kppen EDV GmbH  TCP/IP
Bootprom :

     BOOTP/DHCP ͨѶЭΪ, ЩͨѶЭ RFCs Ķ.
     Ķǵ BOOTP/DHCP ŷյδ֪Ŀͻ˵ҪѶ,
     κλӦ. ֹж̨ ŷʱ,  MSD
     ŷ. ,  IP ֻ·ڹ㲥,  IPX
     ϵ͵Ѷ.

    ʹöҵϵͳ.

     API Ͽȡ.

    Լдʽ (Թ)

    ĳиı仯. ر, ھʽ AST
     ԹصĿ, ԭ BIOS .

    ṩάѡĹ.















Linux Remote-Boot mini-HOWTO: ʹ Red-Hat Linux, DOS, Windows 3.1  Windows275 趨Զ˿վ





































































				   CONTENTS



1. Щ... ............................................................ 1
   1.1 ... 1.x  ? ..................................................... 1
   1.2 ... 2.4 ? ...................................................... 1

2.  ..................................................................... 2
   2.1 · ................................................................. 2
   2.2 ι ......................................................... 3
   2.3 طҵ ........................................................... 4

3. 趨 ................................................................. 4
   3.1 趨 ......................................................... 5
   3.2 趨 Linux ........................................................... 7
   3.3 趨 DOS 6  Windows 3.1 ........................................... 14
   3.4 趨 Windows 95 ..................................................... 17

4. TCP/IP Bootprom ع߳ʽ ............................................ 22
   4.1 MENUEDIT ............................................................ 22
   4.2 BPHDBOOT ............................................................ 22
   4.3 BPCLEAN ............................................................. 23
   4.4 MRZIP, MRUNZIP and BPUNZIP .......................................... 24
   4.5 NOBREAK ............................................................. 25

5.  .................................................................... 26
   5.1 Bootproms  Ӳ ................................................. 26
   5.2 ʹһ Bootprom ? ............................................... 26



























				       i


