### Technical Briefing

August 1996

# Remote Booting

## Introduction

Before a computer can be used, it needs to load its operating system into memory. To do this it relies upon a small program called the BIOS (Basic Input/Output System) that is stored on a ROM chip inside the computer.

When the computer is turned on, the BIOS checks the computer's floppy and hard drives for something called a bootstrap program. This is the software that enables the computer to find its operating system (which might be, for example, DOS, OS/2, Unix, or Windows 95) and load it into memory. Before the BIOS loads the bootstrap program, however, it looks for any instructions that are stored in other ROMs in the computer. If it finds any, it runs them before loading the bootstrap program.

Because the BIOS checks ROMs before loading the bootstrap program, it is possible to introduce remote booting instructions into the computer's start-up procedure by putting them onto a ROM on the network adapter. In this way, the computer loads the bootstrap program and the operating system from a network file-server instead of from a local floppy disk or hard drive.

The Madge Smartrom device, which ships on some Smart Ringnodes and is available as an option module on others, supports two remote booting schemes: Remote Program Load (developed by IBM), and Remote Reset (developed by Novell).

## Remote (Initial) Program Load (RPL)

The RPL scheme enables workstations to boot fom servers running IBM LAN Server, Microsoft LAN Manager, Windows NT, or Novell NetWare. The method uses a restricted protocol whose purpose is to enable the workstation to retrieve a Boot Block file from a server.

When the computer executes the ROM code, the first thing it does is to look for a server to boot from. When it has established contact with the server, the server sends it a Boot Block Loader program, and the computer loads this into memory. The Boot Block Loader contains a full protocol which it uses to retrieve all the other code and data that it needs (including the operating system code). It also contains a disk emulator; this enables the computer to boot as if from a local floppy disk even though it is really booting over the network.

In this process, all the ROM does is find the server and request the Boot Block Loader program from it. Once the computer receives the Boot Block Loader, it executes this, and the Boot Block Loader controls the boot process from then on.

## Remote Reset

In the Novell scheme for remote booting, the ROM is more active than in the IBM scheme, and the network administrator needs to do less configuration work at the server. There is no Boot Block on the server, and the ROM itself contains both the protocol the computer needs for remote booting (a cut-down version of IPX) and the disk emulator that enables it to boot as if from a local disk drive.

All the network administrator needs to do at the server is to make a disk image (a series of files from a boot disk) available to client stations. To do this, he or she just places the disk image in a public login directory.

When the ROM code executes, the first thing it does is to search for a server to boot from. When it has found one, it retrieves a file called BOOTCONF.SYS from it. It checks this file for its own address. If it finds an entry for its own address, there will be a disk image associated with that entry. The computer then downloads that disk image. If there is no entry in the BOOTCONF.SYS file, the computer downloads the disk image called NET$DOS.SYS or IBM$DOS.SYS.

It then loads the boot sector of the disk image (the part of the disk image that includes the bootstrap program), and the computer boots as if it is booting from a local disk. When it has finished booting, it unloads the disk emulator and the cut-down version of IPX that it was using.

The Madge Smartrom adds two refinements to the Remote Reset scheme. It enables the network administrator to specify the name of the server that he or she wants the workstation to boot from. And it also enables him or her to specify a disk image other than NET$DOS.SYS or IBM$DOS.SYS.

## References

1. IBM Remote Program Load User's Guide. Published by IBM.

2. Novell Netware 4.10 on-line documentation (see the information under "Concepts").