A method of and software for booting a network computer with universal boot
code is disclosed. Initially, the type of a boot device is determined from
among a set of possible boot devices. A command in a high level boot code
segment of the boot code software is then translated to a command
executable by the boot device based upon the determined device type. The
converted command is then executed on the boot device to transfer data
between the network computer and the boot device. The boot code is
preferably compatible with a variety of boot devices including a hard disk
boot device, an NFS server boot device, as well as a TFTP server boot
device. In an embodiment in which the boot device is a TFTP boot device, a
READ command from the high level boot code is translated to a TFTP read
request. The data transferred by the TFTP read request may be stored in a
file cache on the network computer. During a subsequent high level boot
code READ command, the software interface may determine if the requested
data is cached in the file cache, and if so, it may retrieve the data from
the file cache. If the high level boot command is a SEEK command, and the
boot device is a TFTP device, the converted command may include a TFTP
read request. The software interface may determine the relative location
of a file location indicated by the SEEK command and a current location of
a file pointer and abort the current TFTP transfer if the file location
indicated by the SEEK precedes the current location of the file pointer.
The interface may then resend a TFTP read request to advance the file
pointer to the file location indicated by the SEEK command. In this
manner, the software interface and device specific segments can emulate a
file type device when the boot device is a TFTP device.
Un método de y un software para patear una computadora de red con código universal del cargador se divulga. Inicialmente, el tipo de un dispositivo del cargador se determina entre de un sistema de dispositivos posibles del cargador. Un comando en un segmento de código del cargador del alto nivel del software del código del cargador entonces es traducido a un comando ejecutable por el dispositivo del cargador basado sobre el tipo de dispositivo resuelto. El comando convertido entonces se ejecuta en el dispositivo del cargador de transferir datos entre la computadora de red y el dispositivo del cargador. El código del cargador es preferiblemente compatible con una variedad de dispositivos del cargador incluyendo un dispositivo del cargador del disco duro, un dispositivo del cargador del servidor del NFS, tan bien como un dispositivo del cargador del servidor de TFTP. En una encarnación en la cual el dispositivo del cargador sea un dispositivo del cargador de TFTP, un comando LEÍDO del código del cargador del alto nivel se traduce a una petición leída TFTP. Los datos transferidos por el TFTP leyeron la petición se pueden almacenar en un escondrijo del archivo en la computadora de red. Durante un código subsecuente del cargador del alto nivel LEÍDO el comando, el interfaz de software puede determinarse si los datos solicitados se depositan en el escondrijo del archivo, y si es así pueden recuperar los datos del escondrijo del archivo. Si el comando del cargador del alto nivel es un comando de la BÚSQUEDA, y el dispositivo del cargador es un dispositivo de TFTP, el comando convertido puede incluir una petición leída TFTP. El interfaz de software puede determinar la localización relativa de una localización del archivo indicada por el comando de la BÚSQUEDA y de una localización actual de un puntero de fichero y abortar la transferencia actual de TFTP si la localización del archivo indicada por la BÚSQUEDA precede la localización actual del puntero de fichero. El interfaz puede entonces volver a enviar una petición leída TFTP de avanzar el puntero de fichero a la localización del archivo indicada por el comando de la BÚSQUEDA. De este modo, los segmentos específicos del interfaz de software y del dispositivo pueden emular un tipo dispositivo del archivo cuando el dispositivo del cargador es un dispositivo de TFTP.