tcpip远程启动解秘

rom-o-matic有配置选项:
我写出我试过的几项意思,其它的请E文较好试试。

Make configuration selections and then press to save your changes.

ASK_BOOT: 启动时“Boot from Network or from Local? ”从网络还是本地启动?问题的等待时间,0或-1不等待。
Ask “Boot from Network or from Local? " at startup, timeout after n seconds (0 = no timeout); this can be done in a more generic way by using the IMAGE_MENU, but it requires that the “bootp” server is accessible, even when booting locally. To disable the prompt completely use 0 or -1.
ANS_DEFAULT: ANS_NETWOR KANS_LOCAL 上面问题的默认答案
Assume Network to previous question (alternative: ANS_LOCAL) on timeout or Return key See etherboot.h for prompt and answer strings.
MOTD
Display message of the day; read vendortags.html for further information.
IMAGE_MENU
Allow to interactively chose between different bootimages; read vendortags.html for further information.
PASSWD
enable password protection for boot images; this requires -DIMAGE_MENU
USRPARMS
allow the user to interactively edit parameters that are passed to the booted kernel; you should probably enable -DPASSWD as well; this feature requires -DIMAGE_MENU
ANSIESC
evaluate a subset of common ANSI escape sequences when displaying the message of the day; this probably does not make sense unless you also define -DMOTD or at least -DIMAGE_MENU. It is possible to combine this option with -DCONSOLE_DUAL, but you have to be aware that the boot menu will no longer use ANSI escapes to be compatible with the serial console. Also be careful with your banners, as they may confuse your serial console. Generally you lose most of the ANSIESC functionality.
GFX
support extensions to the ANSI escape sequences for displaying graphics (icons or logos); this requires -DANSIESC. It probably does not make sense to use -DGFX if you have -DCONSOLE_DUAL, as the serial console normally cannot handle the GFX stuff.
SHOW_NUMERIC
Display Menupoints as Numbers
DELIMITERLINES
print a line of = characters at the start and also just before starting an image.
SIZEINDICATOR
update a running total of the amount of code loaded so far, in kilobytes
NO_DHCP_SUPPORT 用BOOTP启动服务
Use BOOTP instead of DHCP
RARP_NOT_BOOTP 用RARP启动服务
Use RARP instead of BOOTP/DHCP
REQUIRE_VCI_ETHERBOOT
Require an encapsulated Vendor Class Identifier of “Etherboot” in the DHCP reply Requires DHCP support.
CONGESTED
turns on packet retransmission. Use it on a congested network, where the normal operation can’t boot the image.
BACKOFF_LIMIT:
sets the maximum RFC951 backoff exponent to n. Do not set this unreasonably low, because on networks with many machines they can saturate the link (the delay corresponding to the exponent is a random time in the range 0…3.52^n seconds). Use 5 for a VERY small network (max. 2 minutes delay), 7 for a medium sized network (max. 7.5 minutes delay) or 10 for a really huge network with many clients, frequent congestions (max. 1 hour delay). On average the delay time will be half the maximum value. If in doubt about the consequences, use a larger value. Also keep in mind that the number of retransmissions is not changed by this setting, so the default of 20 may no longer be appropriate. You might need to set MAX_ARP_RETRIES, MAX_BOOTP_RETRIES, MAX_TFTP_RETRIES and MAX_RPC_RETRIES to a larger value.
CAN_BOOT_DISK
Can boot from floppy/hd if bootimage matches the pattern "/dev/[fh]d
”; if you do not have enough space in the EPROM, then disable this feature and use “mknbi-blkdev” for booting from a local blockdevice.
TRY_FLOPPY_FIRST:
If > 0, tries that many times to read the boot sector from a floppy drive before booting from ROM. If successful, does a local boot. It assumes the floppy is bootable. Requires -DCAN_BOOT_DISK.
EMERGENCYDISKBOOT
if no BOOTP server can be found, then boot from local disk. The accessibility of the TFTP server has no effect, though! So configure your BOOTP server properly. You should probably reduce MAX_BOOTP_RETRIES to a small number like 3.
TAGGED_IMAGE
Add tagged image kernel boot support (recommended)
AOUT_IMAGE
Add a.out kernel boot support (generic)
ELF_IMAGE
Add generic ELF kernel boot support (recommended)
IMAGE_MULTIBOOT
Add Multiboot image support (currently only for ELF images)
IMAGE_FREEBSD
Add FreeBSD image loading support (requires at least -DAOUT_IMAGE and/or -DELF_IMAGE)
DOWNLOAD_PROTO_TFTP 用tftp服务下载映象文件
If defined, boots by tftp (recommended).
DOWNLOAD_PROTO_NFS 用nfs启动映象
if defined, boots from a NFS mount and disables tftp loading. Default is DOWNLOAD_PROTO_TFTP if neither is defined.
CONSOLE_CRT
set for CRT console (default if nothing else is set)
CONSOLE_SERIAL
set for serial console.
CONSOLE_DUAL
set for CRT and serial console, see comment at -DANSIESC and -DGFX
COMCONSOLE:
set port, e.g. 0x3F8
CONSPEED:
set speed, e.g. 57600
COMPARM:
set Line Control Register value for data bits, stop bits and parity. See a National Semiconditor 8250/ 16450/16550 data sheet for bit meanings. If undefined, defaults to 0x03 = 8N1.
NO_DELAYED_INT
Take control as soon as BIOS detects the ROM. Normally hooks onto INT18H or INT19H. Use only if you have a very non-conformant BIOS as it bypasses BIOS initialisation of devices. This only works for legacy ROMs, i.e. PCI_PNP_HEADER not defined. This option was formerly called NOINT19H.
BOOT_INT18H
Etherboot normally hooks onto INT19H for legacy ROMs. You can choose to hook onto INT18H (Basic interpreter entry point) instead. This entry point is used when all boot devices have been exhausted. This option must be added to LCONFIG.
CONFIG_PCI_DIRECT
define this for PCI BIOSes that do not implement BIOS32 or not correctly
T503_AUI
Use AUI by default on 3c503 cards.
MOVEROM
if your motherboard does not cache adapter memory space, then this option can speed up loading of compressed BOOT-Prom images. It has no affect on uncompressed images. Unless you are very tight on free space, you will usually want to define this option. This option must be added to LCONFIG! (recommended).
USE_LOWMEM_BUFFER
Define to put some buffers below 0x10000 may interfere with other programs (not recommended).
FREEBSD_KERNEL_ENV
Pass in FreeBSD kernel environment
BAR_PROGRESS
Use rotating bar instead of sequential dots to indicate a packet transmitted.
CONFIG_TSC_CURRTICKS
Uses the processor time stamp counter instead of reading the BIOS time counter. This allows Etherboot to work even without a BIOS. This only works on late model 486s and above.
POWERSAVE
Halt the processor when waiting for keyboard input which saves power while waiting for user interaction. Good for compute clusters and VMware emulation.
BBS_BUT_NOT_PNP_COMPLIANT
Some BIOSes claim to be PNP but they don’t conform to the BBS spec which specifies that ES:DI must point to the string $PnP on entry. This option works around those. This option must be added to LCONFIG.
AOUT_LYNX_KDI
Add Lynx a.out KDI support
PXELOADER_KEEP_UNDI
For implementation later with UNDI.

server: win2k + bootpd32 + tftpd32
workstation: 8139 + etherboot rom/hj rom/bootix demodisk

问题一:在工作站端,采用以上的三种rom均能启动。但是只有用到bootix的
demodisk时,工作站才能完完全全的下载镜象文件(在bpshell里生成的
win98.x),并进入到98。

问题二:而etherboot或花椒的rom,工作站在下载镜像文件(镜像文件是用hero
兄的方法生成的)到542k时,工作站马上就重启了。请教各位版主,
tftpd32的为什么会限制工作站下载542k呢?该如何解决呢?真是百思
不得其解!

问题三:用hero兄的方法制成的镜象文件(文件头有55aa)呢,工作站下载到542
K就重启了,而用bootix生成的镜象文件,工作站确显示:非有效的镜
象文件。

一开始有网友说是镜象文件的问题,但是我用了panhh兄修改后的mboot.dat做的
镜象文件,工作站还是下载了542k后,重启。后来我在red head7.2里头,按疯子兄的方法,生成了镜象文件是1.21k,可是工作站还是下载了542k后,重启。

天啊?!?难道就没办法解决了!

http://rom-o-matic.net/5.0.5/上还有*.lzpxe,
不知eb-5[1].0.5-rtl8029.lzpxe文件是否就是RTL8029的PXE文件?

不是DOS格式的软件,如何启动WIN98?

转贴一篇:

如何为Windows 2000创建一个tftp service
Author: Adam
Date: 2001-9-22 1:42:37

近日在论坛总是看到有人问怎么启动Win2K下的TFTP服务,其实在默认情况下TFTP服务是没有安装的,只有在使用RIS服务的时候才会安装该服务(国内很少有人用这个玩艺,可能我是井底之蛙吧),现在我给大家示范如何来安装一个tftp服务(如果你有需要的话,阁下是网管还是XX呢?)

我们首先找到系统中的tftpd.exe文件,一般我们可以在%systemroot%\system32\dllcache目录下找到该文件,建议把该文件copy到其他目录。

C:>copy %systemroot%\system32\dllcache\tftpd.exe %systemroot%\system32
已复制 1 个文件。

我们会用Windows 2000下的Resource Kits中的一个工具instsrv创建一个服务,instsrv的用法如下,当然,你也可以用其他的工具来实现(如srvinstw,GUI方式的)。
C:>instsrv
Installs and removes system services from NT

INSTSRV ( | REMOVE)
[-a ] [-p ]

Install service example:

INSTSRV MyService C:\MyDir\DiskService.Exe
-OR-
INSTSRV MyService C:\mailsrv\mailsrv.exe -a MYDOMAIN\joebob -p foo

Remove service example:

INSTSRV MyService REMOVE

[俺的特色:字不够,帮助凑!]

添加一个服务,注意,该服务创建侯为自动启动。
C:>instsrv tftp c:\winnt\system32\tftpd.exe
The service was successfuly added!

Make sure that you go into the Control Panel and use
the Services applet to change the Account Name and
Password that this newly installed service will use
for its Security Context.

启动服务
C:>net start tftp
tftp 服务正在启动 .
tftp 服务已经启动成功。

测试服务是否正常工作
C:>tftp -i 61.135.21.195 PUT sometips.gif sometips.gif
Transfer successful: 4209 bytes in 1 second, 4209 bytes/s

C:>dir tftpdroot
驱动器 C 中的卷是 C
卷的序列号是 1E23-1907

C:\tftpdroot 的目录

2001-09-22 01:14 .
2001-09-22 01:14 …
2001-09-22 01:14 4,209 sometips.gif
1 个文件 4,209 字节
2 个目录 94,113,792 可用字节

注意,如果你上传文件,系统会在%systemdrive%自动创建一个名为tftproot的目录,OK,所有的工作已经完成了!

Enjoy it!

我的转贴就来自这里……

这张盘的只是模拟一个启动芯片而以----LINUX格式的文件。

作用是从服务器上下载启动文件。

就这么简单!

可以继续吗?

up

用老哥的技术做成无盘98了,只有一个用户的哈不!

应该是arj
做自解包的命令是:
arj a -va -je wf wfclient

thx。。。。后来我发现winrar中也有这样的功能。。。。在sfx的设置中选择module就可以看到dos的自解压项,选择就搞定了。。。:)

但是又遇到问题了,看看这里。。。

http://www.ostart.net/forum/showthread.php?s=&threadid=23191

在同一无盘网络中存在不同网卡的工作站,有时还需要对不同工作站启动不同操作系统(98、W2K终端),这样启动时要用不同的映象文件,那便用dhcp设置67项(启动文件名)时就无法直接在服务器选项或作用域选项中设置,那如何实现这样的多种配置呢?
方法是在作用域中新建保留,输入保留名(机器名),IP地址,mac地址,添加。
右键->配置选项->67启动文件名。
为每台机器做一个保留。
这样你可以做好多种配置的映象文件(dosimg,W2KForNE,W2KFor8139,W98ForNE,W98For8139),复制到tftpdroot,只要在启动前改变某一台的启动文件名,就可以启动不同的客户端。

http://www.dcs.shef.ac.uk/support/etherboot/vendortags.html
与boopt有关,可以建立启动menu,但我看不懂,我也没有时间试。

我用[URL=http://rom-o-matic.net/5.0.6-rc3/]
做出的ROM文件写到BOIS中,启动时满屏很多小点(…),请问如何调整参数去掉小点??????

我不知道在设置(Configure)中是不是有设置可以去了。
你在http://rom-o-matic.net 中选其它版本的试试,我试过其它版本中有不出现下载的小点。

请问具体是什么版本??

你可以自己下载个.lzdsk做成软盘试试,我也不记得是哪一个了。

请问版主PANHH:

我如何才能得到终端的网卡地址??

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include “dosapi.h”

char NetAddress[13];
void getnetaddress(void)
{
union REGS regs;

memset(NetAddress,0,12);
regs.h.ah=0xee;
int86(0x21,&regs,&regs);
sprintf(NetAddress,“%04X%04X%04X”,regs.x.cx,regs.x.bx,regs.x.ax);
strupr(NetAddress);
}

我用BC编译后成wfica.exe运行得到的不是网卡地址,是不是调用中端0x21
regs.h.ah=0xee;
int86(0x21,&regs,&regs);不对???

我的批命令是:

@echo off
xmsdsk 1440 c: /y >nul
set tmp=c:\temp
set temp=c:\temp
lh LSL.COM >nul
lh RTSODI.COM >nul
lh tcpip >nul
lh mnovlwp >nul
c:
copy a:\command.com >nul
copy a:\wfica.exe >nul 取网卡地址的程序**
set comspec=c:\command.com
set winbootdir=
path=c:;c:\wfclient
SET RES=640
SET CLR=256
SET LOG=0
a:wf.exe -y >nul
cd wfclient
mouse >nul
wfica.exe 取网卡地址的程序**
autolog.exe 自动根据网卡地址来判断进W2K终端*

tcpip>ip.txt
ip.txt中就有得到的ip地址,用这个ip地址编个小程序就可以自动登录了。