4. 如何构建 MILO

MILO 的构建与内核是分开的。由于 MILO 需要内核的部分功能才能运行(例如中断处理),您必须首先配置并构建与您要构建的 MILO 相匹配的内核。这通常意味着使用相同的版本号构建内核。例如,MILO-2.0.25.tar.gz 将针对 linux-2.0.25.tar.gz 构建。MILO可能可能可以针对更高版本的内核构建,但也可能不行。此外,现在 ELF 共享库已得到完全支持,MILO 源代码有两个版本。要在 ELF 系统下构建,您必须首先解压缩标准 MILO 源代码,然后使用相同版本号的 ELF 补丁修补这些源代码。在本文余下的讨论中,我假设您的内核源代码和目标文件存储在以下子树中/usr/src/linux并且 Linux 内核已使用以下命令完全构建make boot

要构建 MILO,请将您的工作目录更改为 MILO 源代码目录并调用make使用
$    make KSRC=/usr/src/linux config

就像 Linux 内核一样,您将被问到一系列问题

     Echo output to the serial port (MINI_SERIAL_ECHO) [y]

最好将内核 printk 回显到/dev/ttyS0如果可以的话。如果可以(并且想要这样做),则键入“y”,否则键入“n”。所有标准的、预构建的 MILO 镜像都包含使用 COM1 的串口 I/O。

     Use Digital's BIOS emulation code (not free) (MINI_DIGITAL_BIOS_EMU) [y]

此代码作为一个库包含在内,只要在基于 Alpha 的系统上使用,就可以自由分发。源代码不可用。如果您回答n那么将构建免费软件替代 BIOS 模拟。它的源代码包含在 MILO 中。请注意,您现在无法在 ELF 系统中选择构建 Digital 的 BIOS 模拟代码(该库尚未准备好),因此您必须对此问题回答否。

     Build PALcode from sources (Warning this is dangerous) (MINI_BUILD_PALCODE_FROM_SOURCES) [n]     

仅当您更改了 PALcode 源代码时才应这样做,否则请使用 MILO 附带的标准、预构建的 PALcode。

您现在已准备好构建 MILO 镜像本身
$    make KSRC=/usr/src/linux

构建成功完成后,MILO 镜像位于名为以下文件的文件中milo。有很多名为以下名称的镜像milo.*,这些应该被忽略。