'make disk'
to copy the files. 'gzip -cd floppy.gz | dd of=/dev/fd0'
(or whatever
the floppy device is called on your box) to create a usable boot disk.
Please note that some systems, such as the Deskstation Tyne, refuse to
read from floppies formatted with Unix mtools.'Run a program'
item of
the BIOS menu, and then enter `a:milo'
to start the loader.
You can also put Milo etc. onto the FAT partition that is used to boot NT,
if you desire.
After startup, MILO will try to figure out on what kind of system it
is running on. Besides many other information, such as the CPU type,
cache sizes etc., MILO will print a string like
"ARC system identified as: [Acer PICA-61]"
or something similar.
In case your system is not known to MILO, "not identified"
will be printed. In this case, please refer to the section
How to add a new system to MILO.
In case your system was sucessfully identified we're already working on a port for your system -- congratulations! Please contact us at linux-mips@fnet.fr to get information about the state of this specific port of Linux/MIPS.
A final note for Mips Magnum 4000 owners: To run MILO on this machine you need to reconfigure it to little endian mode. In case you are a proud owner of a Magnum 4000, please read the Mips Magnum 4000 HOWTO for further information.
Take a look at the file `identify.c'
. Add your system
by filling in a C structure containing following elements:
bi.machtype
: The ID of your system. You need to
add this ID in the kernel include file bootinfo.h
. bi.cputype
: Normally filled in automatically,
except when MILO had no knowledge of your specific processor. bi.memlower
: The start address of the main memory.
Normally KSEG0
which equals to 0x8000000. bi.memupper
: The end address of the main memory.
A common way to determine the main memory size hasn't been found yet,
so you need to hardcode this value. bi.scache_size
: The size of a L2 cache, if present.
A common way to determine the L2 cache size hasn't been found yet,
so you need to hardcode this value. bi.dma_cache_size
: The size of the DMA buffer, if
present. We have found DMA buffers only in Deskstation Tyne systems
yet, so you probably can hardcode this to 0x0. This will disable
DMA buffering. bi.vram_base
: The start address of your video frame
buffer. This entry is very important since the Linux/MIPS console
driver needs to know where your video adaptor lives. A common way
to find the frame buffer location hasn't been found yet, so you need
to ask the manufacturer for details. You may also try to find it
by guessing. A usual place is the address range between 0xe0000000
and 0xe1000000.bi.tlb_entries
: The number of TLB entries of the
memory management unit of your CPU. You can safely set this to 48,
which is valid for all R4x00 processor.
After filling in the numbers, you need to recompile MILO. If everything
went fine, MILO should at least know about your system now. Continue
the boot process and try to start the dummy kernel included in the
MILO package. If your guesses regarding the video card were correct,
the dummy kernel should print numerous "hello world"'s and then stop.
If not, well, then you should really get in touch with us.
Send a message to
linux-mips@fnet.fr and
don't hesitate to ask for help!
Download the appropriate Compiler and Linker binaries plus the latest kernel sources and the include- and library patches. If you want to build your crossdevelopment tools yourself or have a system for which no binaries are available, there is a more detailed document about how to build crossdevelopment tools.
Now unpack the compiler and linker archives. The default location
is /usr/mips-linux, so issue the commands
cd /
tar zxvf binutils-2.5.2.tar.gz
tar zxvf gcc-2.6.3.tar.gz
You may also install the packages in other locations, but then you'll need to link these directories to the standard locations.
Next, find a location for the Linux/MIPS kernel, include and library
sources. A directory somewhere in your home directory might be a good
choice. Unpack the include tree within the newly created directory
by issuing the commands
cd linux-dir
(or any newer Linux/MIPS kernel)
tar zxvf linux-1.2.0.tar.gz
tar zxvf libc-4.6.27.tar.gz
tar zxvf inc-4.6.27.tar.gz
mv usr/include include-4.6.27
rmdir usr
Finally you need to patch the library. Issue the commands
cd linux-dir
zcat libc-linux-4.6.27.diffs.gz | patch -p
zcat include-4.6.27.diffs.gz | patch -p
It might also be necessary to apply kernel diffs to upgrade
your source tree to the latest version.
Now you're ready to start working on Linux/MIPS. First try to recompile MILO. If everything went fine, continue with compiling the kernel. In case you have problems, please carefully check each step as described above, and if everything fails, contact us at linux-mips@fnet.fr.
If you own a Mips RC3xxx, a DEC 3100, 5000 or similar, or even a Sony or SGI machine, please let us know. We know of many other owners of old R2000/3000 boxes interested in Linux/MIPS, and we would appreciate any help.