The ARC and AlphaBIOS consoles are designed to load the Windows NT
operating system. Like many other things in the Linux world, they're
being used to do a job that they were never intended to do. In this
case, they're used to load Linux. When you power-on an ARC/AlphaBIOS
console machine, you will see the firmware initialize the hardware, and
you will see a boot menu. The initialization process varies greatly by
machine.
The ARC and AlphaBIOS consoles operate in essentially the same way. Both
use MILO and, aside from cosmetic changes, they are identical in
functionality. The keystrokes described in each section have been tested
against ARC and AlphaBIOS systems, and are known to work with on-site
machines. However, small differences may exist for other ARC and
AlphaBIOS systems.
The Windows NT ARC/AlphaBIOS firmware is an environment in which
programs (for example, the Windows NT osloader) can
run and make callbacks into the firmware to perform actions.
Linux's linload.exe is a much simpler program which
does just enough to load and execute
MILO. linload.exe loads the appropriate image file
into memory at 0x00000000 and then makes a swap-PAL PALcall to the image
file. The swap is necessary because MILO, like Linux, uses a different
PALcode than Windows NT. MILO relocates itself to 0x200000 and
continues on through the PALcode reset entry point as before.
If you're using MILO and ARC to boot the installation program from the CD-ROM,
you'll only need a MILO image disk.
If you're using MILO and ARC, but you're not booting the installation program
from the CD-ROM, you'll need to make three disks:
The correct MILO disk for the class of machine onto which you are
installing Red Hat Linux. The MILO disk images are located in the
milo/images directory on CD 1. See Table 3-1 for which MILO image you need.
The generic installation kernel disk, made from
images/generic.img on CD 1.
The RAM disk made from images/ramdisk.img on
CD 1.
Please refer to Appendix A for instructions on
writing image files to disks.
Once you have created these disks, boot your Alpha machine into the
ARC boot menu. The first step is to set up a boot menu entry to enable
MILO to be loaded from floppy disk. At the boot menu, select the
option .
Next, select the command: ,
which takes you to the Setup Menu. From here,
select the command , which takes you to the Boot Selections
Menu.
You need to add a boot command to load MILO from the floppy disk you
created. Choose the command .
You should see several devices listed. To select the A: drive,
choose .
 | Please Note |
|---|
| | If you do not see an entry for the floppy drive, consult your
AlphaBIOS/ARC installation manual to determine the correct method
for configuring your hardware in the console.
|
Next, enter the name of the OS loader to use. Enter
\linload.exe as the OS loader directory and
name. The MILO disk you created has the
linload.exe file on it, and the correct MILO for
your Alpha machine class. The MILO command is always named
milo on the floppy, and both files should reside in
the root directory of the floppy disk.
Select the option when you are asked if
the operating system is on the same partition as the OS loader (it is,
both are in the root directory), and enter \ as
the operating system root directory. As the name of the boot
selection, enter something descriptive like MILO
Floppy to indicate that this entry boots MILO from the
floppy drive.
If prompted, select to indicate that you
do not want to start the debugger at boot time.
You should now be back in the boot selections menu. Press
Esc to get back to the Boot Selections
Menu. Choose the option to commit the changes to NVRAM. Once
you have saved your boot entry, Esc will get you back
to the boot menu and you can now attempt to boot MILO.
You should have a boot selection that looks something like this:
LOADIDENTIFIER=Linux
SYSTEMPARTITION=multi(0)disk(0)fdisk(0)
OSLOADER=multi(0)disk(0)fdisk(0)\linload.exe
OSLOADPARTITION=multi(0)disk(0)fdisk(0)\
OSLOADOPTIONS= |
This boot selection enables ARC to boot into MILO from the floppy
using the linload.exe OS loader.
First, you'll need to install the latest version of AlphaBIOS, which
can be obtained from Compaq's Alpha Firmware update site at
http://ftp.digital.com/pub/DEC/Alpha/firmware/ |
As with ARC, if you can boot from the CD-ROM, you'll only need to make
a MILO disk. If your machine can't boot from the CD-ROM, you will
need three disks for the MILO installation process:
The correct MILO disk for the class of machine onto which you are
installing Red Hat Linux. The MILO disk images are located in the
milo/images directory on CD 1. See Table 3-1 for which MILO image you need.
The generic installation kernel disk, from
images/generic.img on CD 1.
The RAM disk made from images/ramdisk.img on
CD 1.
Please refer to Appendix A for instructions
on writing image files to disks.
Once your AlphaBIOS is at the latest revision level, you can start the
installation process. Turn on the system and insert the floppy. At the
opening screen, press F2 to enter setup mode. You are
going to add a boot selection that allows you to boot MILO from a
floppy disk. Select the following command from the menu:
.
Press Insert to add a new operating system
selection. For the Boot Name parameter, enter
something like: MILO Floppy to indicate that
you are loading MILO from a floppy disk. Press Tab to
get to the next field. Use the DOWN-ARROW key to move
through the options until the selection for Boot
File is A:. Then,
Tab to the next field and enter:
linload.exe as the name of the OS loader.
Tab past the option, since it's irrelevant and
linload.exe ignores it. Tab to
the option. Enter:
\ for the OS Path load file. Finally, press
Enter to add the selection to the boot menu.
At this point, AlphaBIOS will probably put up a big, unfriendly dialog
box labeled something like Warning: Operating System
Selection not valid!
Ignore this error (AlphaBIOS considers it an error whenever your OS is
not Windows NT). Press Enter to continue. Press
F10 to save the changes you just made, and press
Enter to confirm the changes.
Press Esc twice to get back to the opening
screen. Use the UP-ARROW and
DOWN-ARROW keys to select the boot selection you just
added, and press Enter to boot it.
AlphaBIOS will load linload.exe, which will in
turn load MILO.
Once the Windows NT firmware is running and you have the correct MILO
image for your system loaded, the rest of the installation details are
completely generic.
Once you boot into MILO, you get a prompt that is very familiar to the
standard bash# prompt in Linux. As mentioned earlier,
MILO uses native Linux device drivers; therefore, all devices in MILO
are referred to in the same manner as a running Linux system
(/dev/scd0 for a SCSI CD-ROM 0,
/dev/hda for the first IDE device, etc.).
MILO has a very simple interface that is designed to allow you to boot
a Linux kernel image, and perform some basic diagnostic
functions. Typing help is a good idea, since it
provides a useful summary of the commands, as follows:
MILO> help
MILO command summary: ls [-t fs] [dev:[dir]]
- List files in directory on device
boot [-t fs] [dev:file] [boot string]
-
Boot Linux from the specified device and file
run [-t fs] dev:file
- Run the standalone program dev:file
show -
Display all known devices and file systems
set VAR VALUE -
Set the variable VAR to the specified VALUE
unset VAR - Delete the specified variable
reset - Delete all variables
print - Display current variable settings
help [var] - Print this help text
Devices are specified as: fd0, hda1, hda2, sda1...
Use the '-t filesystem-name' option if you want
to use anything but the default filesystem ('ext2').
Use the 'show' command to show known devices and file-
systems.
Type 'help var' for a list of variables. |
 | Please Note |
|---|
| | The bootopt command only appears on AlphaPC64
(and similar) systems. Refer to the board's documentation to find
out just what it means.
|
Until you use a command that needs to make use of a device, no
device initialization will take place. The first time you issue the
show, ls, or
run command, the devices within MILO will be
initialized. Devices are named exactly the same way that Linux
names devices. So, the first IDE drive will be called
hda and its first partition will be
hda1. Use the show command
to show what devices are available.
MILO supports three filesystems: MSDOS, ext2 and ISO9660. If a
device is available to it, MILO can ls,
boot or run an image stored on
one of these filesystems. MILO will assume ext2 as the default
filesystem, and so you have to explicitly tell MILO if the
filesystem is something other than ext2. All of the commands that
use filenames allow you to pass the file system using the
-t [filesystem] option. So, if you wanted to list
the contents of a SCSI CD-ROM, you might type the following:
MILO> ls -t iso9660 scd0: |
MILO contains some settable variables that help the boot process. If
you are loading via Windows NT ARC or AlphaBIOS firmwares, then MILO
makes use of the boot option environment variables set up by that
firmware. For some systems (for example, the AlphaPC64), MILO
maintains its own set of environment variables that do not change
from boot to boot. These variables can be displayed with the
help var command:
MILO> help var
Variables that MILO cares about:
MEMORY_SIZE - System memory size in megabytes
BOOT_DEV - Specifies the default boot device
BOOT_FILE - Specifies the default boot file
BOOT_STRING -
Specifies the boot string to pass to the kernel
SCSIn_HOSTID - Specifies the host id of the
n-th SCSI controller
PCI_LATENCY - Specifies the PCI master device latency
AUTOBOOT - If set, MILO attempts to boot on powerup
and enters command loop only on failure.
AUTOBOOT_TIMEOUT - Seconds to wait before auto-
booting on powerup. |
 | Please Note |
|---|
| | If you set AUTOBOOT, you need to set the timeout. Setting
AUTOBOOT without setting the timeout can result in your machine
automatically booting after a timeout of 0 seconds, which will not
allow for any user intervention in the case of errors.
|
The primary function of MILO is to boot the Linux kernel. To boot the
installation program to use the CD-ROM (assuming the CD-ROM drive is SCSI) the
command would look similar to this:
MILO> boot scd0:/kernels/generic.gz root=/dev/scd0 |
Note that the above command may be different for your system, because
it depends upon how your system and its CD-ROM drive are set up.
To boot from the floppy, put the generic.img
floppy into the floppy drive and type in the following command:
The installation program should boot, and you should be able to proceed as
normal. IDE CD-ROM devices use the standard IDE device references.
You'll see output like the following:
available configurations: linux
(or 'halt' to return back to MILO prompt)
boot: |
Type in linux and press
Enter.
If needed, you'll be prompted to place the RAM disk diskette in the
floppy drive, and then the installation should begin.
See to Chapter 5 for instructions on the graphical
installation process. Be aware that you'll need to install MILO to
the hard drive during the installation. Instructions on how to do so
are included at the appropriate point during the installation.