Once you have correctly installed/loaded/run the Miniloader you will see the MILO (for MIniLOader) prompt displayed on your screen. There is a very simple interface that you must use in order to boot a particular Linux kernel image. Typing "help" is a good idea as it gives a useful summary of the commands:
MILO command summary:
ls [dev:[dir]] - List files in the specified dir on the specified device
boot [dev:file] [boot string]
- Boot Linux from the specified device and file
- and pass the boot string supplied
run dev:file - Run the standalone program in dev:file
bootopt num - Select firmware type to use on next power up
resetenv - Delete all environment variables
setenv VAR VALUE - Set the variable VAR to the specified VALUE
unsetenv VAR - Delete the specified environment variable
printenv - Display the current environment variable settings
show - Display all known devices
help - Print this text
Devices are specified as: fd0, hda, sda...
Environment variables that MILO cares about:
MEMORY_SIZE - System memory size in megabytes
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
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.
Note that the bootopt
command only appears on AlphaPC64 (and similar)
systems. Refer to the board's dcoumentation to find out just what it means.
To boot a Linux kernel you will need to have an EXT2 formated disk (either SCSI or floppy) available to the Miniloader. You can gzip the image, in this case the Miniloader will recognise that it is gzip'd by the .gz suffix. You should note that the version of the Miniloader does not usually have to match the version of the Linux kernel that you are loading. You can boot using the following commands:
MILO> boot fd0:vmlinux.gz
MILO> boot sdb2:vmlinux.gz
If you're installing BLADE, then you'll need to specify a root device and so on. So you'd use:
MILO> boot fd0:vmlinux.gz root=/dev/fd0 ramdisk=1440
The miniloader will automatically contain the block devices that
you configure into your vmlinux. I've tested the floppy driver, the IDE
driver and
the NCR SCSI driver, these work fine. Others may or may not. One
word of warning about the NCR SCSI driver. I've found that so long as
you build the driver with OPTION_IO_MAPPED defined, then all works
well. Also, it is important to set the host id of the SCSI controller
to a reasonable value. By default, MILO will initialize it to the
highest possible value (7) which should normally work just fine.
However, if you wish, you can explicitly set the host id of the
n-th SCSI controller in the system by setting environment
variable SCSI
n_HOSTID
to the appropriate
value. For example, to set the hostid of the first SCSI controller to
7, you can issue the following command at the MILO prompt:
setenv SCSI0_HOSTID 7
Next Chapter, Previous Chapter
Table of contents of this chapter, General table of contents
Top of the document, Beginning of this Chapter