6 Now Boot Linux.

Contents of this section

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 SCSIn_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