一旦您正确安装/加载/运行 MILO,您将在屏幕上看到 MILO (MIniLOader 的缩写) 提示符。这里有一个非常简单的界面,您必须使用它来引导特定的 Linux 内核镜像。输入 "help" 是一个好主意,因为它提供了命令的有用摘要。
可能是 MILO 最有用的命令
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 filesystems. Type 'help var' for a list of variables. |
注意,bootopt命令仅出现在 AlphaPC64 (和类似) 系统上。请参考您主板的文档以了解它的具体含义。
设备。 在您使用需要用到设备的命令之前,不会进行设备初始化。第一个show, ls, boot或run命令都会导致 MILO 内的设备被初始化。设备的命名方式与 Linux 本身命名它们的方式 (完全) 相同。因此,第一个 IDE 磁盘将被称为 'hda',它的第一个分区将被称为 'hda1'。使用show命令来显示可用的设备。
文件系统。 MILO 支持三种文件系统,MSDOS、EXT2 和 ISO9660。只要设备可用,MILO 就可以列出boot或run存储在这些文件系统之一上的镜像。MILO 的默认文件系统是EXT2因此您必须告诉 MILO 文件系统是其他类型。所有使用文件名的命令都允许您使用-t [文件系统]选项来传递文件系统。因此,如果您想列出 SCSI CD-ROM 的内容,您可以输入以下命令
MILO> ls -t iso9660 scd0: |
变量。 MILO 包含一些可设置的变量,这些变量有助于引导过程。如果您通过 Windows NT ARC 固件加载,那么 MILO 将使用该固件设置的引导选项环境变量。对于某些系统,MILO (例如,AlphaPC64) 维护着自己的一组环境变量,这些变量在每次启动时都不会更改。这些变量是
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. 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从设备引导 Linux 内核。您需要有一个 Linux 内核镜像,它位于 EXT2 格式化的磁盘 (SCSI、IDE 或软盘) 或 MILO 可用的 ISO9660 格式化的 CD 上。镜像可以是 gzip 压缩的,在这种情况下,MILO 将通过 .gz 后缀识别出它是 gzip 压缩的。
您应该注意,MILO 的版本通常不必与您正在加载的 Linux 内核版本相匹配。您可以使用以下命令语法引导 Linux
MILO> boot [-t file-system] device-name:file-name [[boot-option] [boot-option] ...] |
其中设备名称是您希望使用的设备的名称,并且文件名是包含 Linux 内核的文件名。文件名之后提供的所有参数都直接传递给 Linux 内核。
如果您正在安装 Red Hat,那么您需要指定一个根设备等等。因此您将使用
MILO> boot fd0:vmlinux.gz root=/dev/fd0 load_ramdisk=1 |
MILO 将自动包含您配置到 vmlinux 中的块设备。我已经测试了软盘驱动程序、IDE 驱动程序和一些 SCSI 驱动程序 (例如,NCR 810),这些驱动程序工作良好。此外,重要的是将 SCSI 控制器的主机 ID 设置为合理的值。默认情况下,MILO 会将其初始化为最大可能值 (7),这通常应该可以正常工作。但是,如果您愿意,您可以通过设置环境变量来显式设置系统中第 n 个 SCSI 控制器的主机 IDSCSIn_HOSTID为适当的值。例如,要将第一个 SCSI 控制器的主机 ID 设置为 7,您可以在 MILO 提示符下发出以下命令
setenv SCSI0_HOSTID 7 |
您可能想要使用shutdown -r now命令来重启正在运行的 Linux 系统。在这种情况下,Linux 内核将控制权返回给 MILO (通过 HALT CallPAL 入口点)。MILO 出于这个原因在内存中保留了自身的压缩副本,并检测到系统正在从 HWRPB (硬件重启参数块) 中保存的信息重启。在这种情况下,它开始使用上次引导 Linux 内核时使用的完全相同的命令来重启。有一个 30 秒的超时,允许您中断此过程并以您希望的任何方式引导您希望的任何内核。
对于基于闪存的系统,如 AlphaPC64、EB164 和 EB66+,有许多可能的引导选项,这些选项使用bootopt命令更改。这有一个参数,一个十进制数,它是下次系统断电或复位时要引导的镜像类型
0 引导评估板调试监视器,
1 引导 Windows NT ARC 固件。
为了告诉引导代码从闪存引导 MILO 固件,您需要一个引导选项,该选项意味着引导第 N 个镜像。为此,您需要 128 加上 N,因此如果 MILO 是第三个镜像,您将使用命令
MILO> bootopt 131 |
注意请非常小心使用此命令。一个好的规则是永远不要将 bootopt 设置为 0 (评估板调试监视器),而是使用系统的跳线来实现相同的目的。