This document describes the needed software to build, install and run MysticOS on various platforms.
Software | This document describes the needed software to build, install and run MysticOS on various platforms. |
Topics | |
Common tools | MysticOS contains some tool components in its source that are needed to make complete builds. |
ia Architecture | To build the ia branch, you need a series of crosscompilers and some image tools as follows. |
ia-32 Architecture | This branch is mostly deprecated. |
m68k Architecture | The main assembler and linker. |
sh4 Architecture | The main assembler and linker. |
MysticOS contains some tool components in its source that are needed to make complete builds. Therefore, you will need a host compiler besides the various crosscompiling toolchains. A basic posix-like build environment is expected. A standard linux development environment will provide all the tools. Under windows, cygwin is used.
GNU make | used for all building commands. |
gcc | used for building local tools. |
binutils | dependency for gcc. |
mkdir, touch, cp, rm, echo | Basic unix commands used in almost all build processes. |
dd | Basic unix command used in image generation |
test, expr | Basic unix commands used in most test processes. |
To build the ia branch, you need a series of crosscompilers and some image tools as follows.
the main cross-assembler and cross-linker. Versions below 2.17 are known to be broken. Successful builds have been made with versions 2.17, 2.18 and 2.20.1. The configure line used is as follows: (...)/binutils-xxx/configure --target=i386-elf --disable-nls
The main cross-compiler. There are no known broken versions, although versions below 3.4.4 have not been tested. There do seem to be some portability issues in versions before 3.4.x. To configure, have i386-elf binutils installed, then run the following command line (up to 4.2.x): (...)/gcc-x.x.x/configure --target=i386-elf --without-headers --with-newlib --enable-languages=c --disable-nls Afterwards, run make all-gcc and make install-gcc to install the required components. Version 4.3 and later have additional dependencies to gmp and mpfr, which you need to build before gcc or supply its source to the configuration script of gcc.
The basic cross-compiler. Since the runtime is contained in the source and is dependent on compiler version, this is the only version you can currently use. Depending on your installation, replace the assembler binary bundled with the i386-elf-as, or make a symlink to it as linux-as. The script calls the compiler as fbc-024-pre to allow for multiple installations. Note that currently a development build is used to make use of the object-oriented features as there has not been an official 0.24 release yet.
The main assembler. Is used to build the assembly portions of the OS. Version 0.6.0 or later is required.
MTools can create and edit FAT images. Required for floppy targets.
mkisofs is a tool to compile ISO-9660 compliant cd images. Required for CD targets. Genisoimage is its successor and can be used as a drop-in replacement. (On some hosts mkisofs is symlinked to this program)
GZip is used to compress images for use in conjunction with GRUB. Required for the pc-multiboot target.
Grub can be used as part of installation instead of the provided bootloader. It is called when installing the multiboot target, and it is implied to be pre-installed when using the wmultiboot target.
This branch is mostly deprecated. To build, the following tools are needed
see ia Architecture
see ia Architecture
An old FB version is used. Replace the as binary as with ia Architecture Currently called as fbc
see ia Architecture
see ia Architecture
see ia Architecture
Not a part of any build process for this target, but expected to be pre-installed on a medium when using the multiboot target.
The main assembler and linker. 2.16 and below lack some required features. There seem to be some installation issues with the 2.17 release on some platforms. Successful builds have been made with 2.17 and 2.19.1 The configure line used is as follows: (...)/binutils-xxx/configure --target=m68k-elf --disable-nls
The main cross-compiler. There are no known issues other than using 4.3 and later have some new dependencies resulting in more work. (...)/gcc-x.x.x/configure --target=m68k-elf --without-headers --with-newlib --enable-languages=c --disable-nls Afterwards, run make all-gcc and make install-gcc to install the required components.
The basic cross-compiler. Since the runtime is contained in the source and is heavily dependent on compiler version, this is the only version you can currently use. Replace the assembler binary bundled with the i386-elf-as, or put it in the linux cross-compile target. The script calls the compiler as fbc-021 to allow for multiple concurrent installations.
The main assembler and linker. Successful builds have been made with 2.18 and 2.20.1 The configure line used is as follows: (...)/binutils-xxx/configure --target=m68k-elf --disable-nls
The main cross-compiler. There are no known issues other than using 4.3 and later have some new dependencies resulting in more work. (...)/gcc-x.x.x/configure --target=m68k-elf --without-headers --with-newlib --enable-languages=c --disable-nls Afterwards, run make all-gcc and make install-gcc to install the required components.
mkisofs is a tool to compile ISO-9660 compliant cd images. Since all supported platforms are currently CD-based, this tool is required by all targets except raw ones.
cdi4dc is one of the external tools for making an image that is able to pass the copyright protection mechanisms installed on a dreamcast machine. Unfortunately no source is included, and only precompiled windows and linux binaries exist. Required for the dreamcast-cdi target. If you want to end up with an usable dreamcast image, you will need this.