Changes between Initial Version and Version 1 of Install


Ignore:
Timestamp:
Apr 23, 2011, 1:21:34 PM (13 years ago)
Author:
becoulet
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Install

    v1 v1  
     1= Summary =
     2
     3Building and running MutekH requires some development tools.
     4Most should be available from your operating system packages.
     5A script to easily get other specific tools installed is provided.
     6
     7= Required tools =
     8
     9== Repository access ==
     10
     11The MutekH source code is available from its mercurial repository.
     12You will need [http://mercurial.selenic.com/ mercurial] (>=1.5) to fetch the source:
     13
     14{{{
     15hg clone http://www.mutekh.org/hg/mutekh
     16}}}
     17
     18MutekH rely on the [http://mercurial.selenic.com/wiki/Subrepository Subrepository]
     19feature of mercurial. Some external projects subrepositories require [http://subversion.tigris.org/ subversion]
     20to be installed so they are fetched automatically.
     21The [source:hg/.hgsub] file contains the external repositories list.
     22If some source files are missing, ensure your mercurial version is not outdated
     23or perform additional checkouts by hand.
     24
     25== Toolchain ==
     26
     27Building MutekH requires the following standard software packages:
     28
     29 - The [http://gcc.gnu.org/ GNU Compiler Collection] (gcc) (>=4.4.2).
     30 - [http://www.gnu.org/software/make/ GNU make] (>=3.81).
     31 - A [http://www.perl.org/ perl] script interpreter (>=5.8).
     32 - A python 2 interpreter.
     33
     34Some builds may require the following additional tools, depending on the target architecture and build configuration:
     35
     36 - The [FlattenedDeviceTree flattened device tree] compiler (dtc): This tool comes with toolchains.
     37 - The heterogeneous linker found in [source:hg/tools/hlink], for heterogeneous platforms only.
     38
     39== Target simulation tools ==
     40
     41You may need real hardware or a simulator to run MutekH (Arch/Emu target doesn't need one though):
     42
     43 - [http://www.qemu.org/ Qemu] to run MutekH, available in most GNU/Linux distributions.
     44 - [http://bochs.sourceforge.net/ Bochs] an other x86 emulator, available in most GNU/Linux distributions.
     45 - [https://www.soclib.fr/ SoCLib] to experiment with various multiprocessor platforms (Mips, !PowerPc, Arm, ...). A precompiled SoCLib platform is available [https://www.mutekh.org/www/tools/ here] for test purpose. We suggest building your own platforms by installing SoCLib (see soclib:InstallationNotes).
     46
     47All this simulators can be with the [http://www.gnu.org/software/gdb/ GNU debugger].
     48
     49You may need extra tools to prepare bootable kernel images for some targets:
     50
     51 - GNU mtools or mkisofs to create a x86 bootable disk images, available in most GNU/Linux distributions.
     52 - GNU grub or etherboot to boot compiled kernel images, included in boot image in [source:hg/tools/] directory.
     53
     54The [source:hg/tools/x86_cdrom.sh] and [source:hg/tools/x86_floppy.sh] scripts are available to easily create boot disk images.
     55
     56= Getting the tools =
     57
     58Some tools are readily available in most GNU/Linux distributions.
     59
     60Other tools require being build with a specific set of options and customized for a particular target.
     61MutekH comes with a script to build and install these tools for you.
     62
     63== Building tools from source ==
     64
     65The [source:hg/tools/crossgen.mk tools/crossgen.mk] script
     66is able to download, patch, build and install required specific tools for you.
     67
     68The following commands display help and default configuration:
     69{{{
     70 $ cd .../mutekh
     71 $ tools/crossgen.mk
     72[display some help]
     73 $ tools/crossgen.mk config
     74[display default configuration]
     75}}}
     76
     77The following example shows how to get a little endian Mips cross-compiler installed under `~/mutekh`:
     78{{{
     79 $ tools/crossgen.mk TARGET=mipsel PREFIX=$HOME/mutekh toolchain
     80}}}
     81
     82This script can install the following tools for you:
     83 - GNU Compiler Collection ({{{gcc}}}),
     84 - GNU Binutils,
     85 - GNU Debugger ({{{gdb}}}),
     86 - Device Tree Compiler ({{{dtc}}}),
     87 - Bochs x86 emulator,
     88 - Qemu processor emulator,
     89 - Modified GNU coreutils timeout command, used for testsuite ({{{testwrap}}})
     90
     91== Precompiled tools binaries ==
     92
     93Some precompiled toolchains are avaialble [https://www.mutekh.org/www/tools/ here] as static i386 Linux binaries for convenience and quick start purpose.
     94It should work on any GNU/Linux i386 and x86_64 distributions. It was configured for installation in {{{/opt/mutekh}}}.
     95
     96We still recommend building your own up to date tools from source if you plan to work with MutekH.