You build MILO
seperately from the Kernel. As MILO requires parts of the kernel
to function (for example interrupt handling) you must first
configure and build the
kernel that matches with MILO that you want to build. Mostly this
means building the kernel with the same version number.
So, MILO-2.0.25.tar.gz will build against linux-2.0.25.tar.gz.
MILO may
build against a higher version of the kernel, but there
again it may not.
Also, now that ELF shared libraries are fully supported, there are two
versions of the MILO sources.
To build under an ELF system you must first unpack the standard MILO sources
and then patch those sources with the same version numbered ELF patch.
In the remainder of this discussion,
I assume that your kernel sources and object files are stored in the
subtree at /usr/src/linux
and that the linux kernel has been fully
built with the command make boot
To build MILO,
change your working directory to the MILO source directory and
invoke make
with:
$ make KSRC=/usr/src/linux config
Just like the Linux kernel, you will be asked a series of questions
Echo output to the serial port (MINI_SERIAL_ECHO) [y]
It's a good idea to echo kernel printk to /dev/ttyS0
if you can.
If you can (and want to), then type "y", otherwise "n".
All of the standard, pre-built, MILO images include serial port I/O using COM1.
Use Digital's BIOS emulation code (not free) (MINI_DIGITAL_BIOS_EMU) [y]
This code is included as a library which is freely distributable
so long as it is used on an Alpha based system. The sources are
not available. If you answer n
then the freeware
alternative BIOS emulation will be built. It's sources are included
with MILO.
Note that you cannot right now build choose Digital's BIOS emulation code in
an ELF system (the library is not yet ready) and so you must answer no to this
question.
Build PALcode from sources (Warning this is dangerous) (MINI_BUILD_PALCODE_FROM_SOURCES) [n]
You should only do this if you have changed the PALcode sources, otherwise use the standard, pre-built PALcode included with MILO.
You are now all set to build the MILO image itself:
$ make KSRC=/usr/src/linux
When the build has successfully completed, the MILO image is in the file called milo
.
There are a lot of images called milo.*
, these should be ignored.