Linux VR Tools HOWTO


Thanks to Jay Carlson for his service the tool collection, to Mike Klar for product packaging the tools and also collections, and to both for their contributions to this paperwork.


This HOWTO describes the Linux Virtual Reality software advancement tools as well as discusses how you can install and utilize them.

Since Linux Virtual Reality targets devices that do not have floating-point coprocessors, it has unique needs with regards to compilers and also libraries. It would be nice if we can use the supply MIPS cross-compilers and libraries for Linux VR, but alas, that is not feasible. Linux Virtual Reality uses GOFAST soft-floating-point routines. The stock MIPS egcs-mipsel-linux i386 cross compiler doesn’t (as well as there may be various other troubles related to soft-float in the supply MIPS go across compiler). Linux Virtual Reality needs soft-float collections (C, C++, and so on). The typical MIPS collections are built for equipment drifting point.

We could (and also do) use the supply MIPS cross-binutils (as, ld, and so on).


Linux Virtual Reality runs on MIPS processors. The Linux Virtual Reality advancement devices require to produce MIPS executables. It is possible to make use of an x86 Linux box to develop MIPS executables for the Linux VR tool.

If you just intend to develop the kernel, then you just need to do the following two areas, “Installing the Cross-Binutils” as well as “Installing the C Cross-Compiler”.

If you plan on building userland applications, after that do all the adhering to sections.

Installing the Cross-Binutils

Building an executable generally includes using a binutil or 2, like as (assember) or ld (linker). So install the cross-binutils first.

To install the supply MIPS cross-binutils

  1. Download the binutils-mipsel-linux rpm from right here.
  2. Install it utilizing “rpm -i”. This needs host glibc 2.0 or greater installed.

Installing the C Cross-Compiler

Cross-compiling C programs, consisting of the Linux VR bit, needs a C cross compiler. For Linux Virtual Reality we utilize our very own construct of egcs-mipsel-linux that supports GOFAST soft-floating-point regimens. Generally, the bit could be sucessfully assembled with the supply MIPS C cross-compiler, yet considering that building userland applications and also some components of the bit requires our own egcs construct, it’s best to simply make use of that for assembling both kernel and userland applications.

To install the C cross-compiler

  1. Download the egcs-mipsel-linux rpm from below.
  2. Install it making use of “rpm -i”. This requires host glibc 2.0 or higher as well as the cross-binutils (see above) installed.

Installing the Cross-Development C Libraries

For Linux VR we utilize our very own soft-float develop of glibc. It is specifically packaged for cross-development, which amounts to a simple reformation of the native mipsel-linux-soft-float glibc libraries installed in an unique place for cross-development.

To install the cross-development C libraries

  1. Download and install the glibc-mipsel-linux-softfloat tar from right here.
    Adjustment to “/ usr”.
  2. Untar the data.
  3. Adjust the permissions on/ usr/mipsel-linux suitably. For instance, a+ rx for directories, a+ r for files.

Linux Kernel Source Symlinks

Numerous applications need accessibility to header data in the Linux Kernel sources. To promote this, set up the Linux kernel source symlinks

To establish the Linux kernel source symlinks.

  1. See to it that the bit sources are installed.
  2. Adjustment to the/ usr/mipsel-linux/include directory.
  3. Develop symlinks to the Linux bit resources as complies with:
    1. ln -s <kernel source root>/ include/linux linux
    2. ln -s <kernel source root>/ include/asm-mips asm

Utilizing the C Cross-Compiler and also Cross-Binutils

Device Names

Prepend “mipsel-linux-” to the tool name.

  • mipsel-linux-gcc
  • mipsel-linux-objdump


Use -msoft-float along with other choices that you pass to mipsel-linux-gcc. This is essential both when compiling and when connecting.

mipsel-linux-gcc -msoft-float -c foo.c.
at compile-time sees to it gcc itself does not generate hardware drifting factor operations, and also.
mipsel-linux-gcc -msoft-float foo.o bar.o -lbaz -o a.out.
is required at link-time to obtain the best version of libgcc.a.
In general, if a makefile would like to know exactly what CC is, the answer ought to be.

CC = mipsel-linux-gcc -msoft-float.
and also if it wants a setting for LD besides LD = $( CC),.
LD = mipsel-linux-gcc -msoft-float.

Various other Languages.

One cannot think whatever one listens to – there actually are various other languages than C.:–RRB- We have a few various other cross-compilers readily available.

To install another cross-compiler.

Download and install the rpm.
Install it making use of “rpm -i”.

Social Share :