Linux VR Ramdisk HOWTO


I composed this HOWTO in order to help people construct as well as change ramdisks for connecting into a Vr41xx bit.

This is presently just a draft. It might still be broken in locations.

The means we do the ramdisk currently is not. Actually, we need either bootloader assistance for an origin ramdisk, or we should append the ramdisk onto the end of the bit with a header, after that cost-free that ram later on.


Linux VR can mount a ramdisk connected into the kernel as root. This is the most basic method of starting Linux VR from Windows CE, because the origin is linked right into the bit.


” Ramdisk image” refers to a file which contains a photo of an ext2 filesystem that could be installed with -o loop or as a ramdisk. “Ramdisk item” describes a fairy object that envelops a (normally pressed) ramdisk image, made use of for linking a ramdisk into the Linux kernel. See the note at the end about how this terminogy has changed with time.

Modifiying an Existing Ramdisk Image

It’s probably much easier to get the ramdisk image off my ftp site and also customize it to your preference than to build one on your own from square one. Keep in mind that these directions presume that you have loopback tool support available.

To customize an existing ramdisk image

  • Obtain the ramdisk photo (ramdisk.bz2) off my ftp website at ftp.ltc.com. The ramdisk there is based practically completely on a ramdisk put together by Jay Carlson. It’s the very best that I’ve seen thus far.
  • Don’t attempt the following actions with a ramdisk.o data – that’s a ramdisk (possibly a pressed one) packaged inside an elf object for connecting it into the kernel, not a ramdisk picture. You need to install the ramdisk picture (I reveal you how to make a brand-new ramdisk.o from your ramdisk picture in the following area).
  • Kind: mkdir/ mnt/ramdisk to develop a ramdisk install factor (if you don’t have one already).
  • Type: place/ tmp/ramdisk/ mnt/ramdisk -o loophole to place the ramdisk photo on/ mnt/ramdisk.
  • Modify/ mnt/ramdisk as you please.
  • Type: umount/ mnt/ramdisk to unmount the ramdisk image.
  • Type: touch/ tmp/ramdisk to show that the ramdisk picture has been changed. This is needed by mipsel-ramdisk “make install” (listed below), as well as for some strange reason/ tmp/ramdisk doesn’t automatically show that modifications were made to it while it was mounted.
  • Next off, do “Making a New Ramdisk Object” below.

If you do not have loopback tool assistance available

Try something such as this (untried):.

  • Kind: dd if=/ tmp/ramdisk of=/ dev/ram0 and also watch out that you typically aren’t already utilizing/ dev/ram0.
  • Kind: mkdir/ mnt/ramdisk to produce a ramdisk mount point (if you don’t have one already).
  • Type: mount -t ext2/ dev/ram0/ mnt/ramdisk.
  • Customize/ mnt/ramdisk as you please.
  • Kind: umount/ mnt/ramdisk.
  • Type: dd if=/ dev/ram0 of= ramdisk.img.ext2 count= 1440.
  • Next, do “Making a New Ramdisk Object” listed below.

Making a Ramdisk Image from Scratch.

Jay kept in mind: You can have any dimension ramdisk … If you intend to transform the size of the ramdisk, you have to mke2fs a new one (see linux/Documentation/ramdisk. txt area 4) and copy the contents of the old one over.

Next off, do “Making a New Ramdisk Object” below.

Making a New Ramdisk Object.

To earn the ramdisk a part of the bit photo, I press the ramdisk photo documents, plan the compressed documents in an elf object, then connect it with the rest of the kernel. In order to help with this, install the mipsel-ramdisk maker first if you haven’t currently.

Julian boot prefers a covering script to do this, as he states” [it is] all self included and I could be in any type of directory to run it. ymmv”. I included that method likewise.

To install the mipsel-ramdisk maker.

  • Obtain mipsel-ramdisk. tar.bz2 from my ftp site at ftp.ltc.com.
  • Uncompress it to/ usr/src. Now you have/ usr/src/mipsel-ramdisk.

Making a brand-new ramdisk object with the mipsel-ramdisk manufacturer.

  • Modification to the/ usr/src/mipsel-ramdisk directory site.
  • Kind: make install to earn ramdisk.o and also copy it into/ usr/src/linux/ arch/mips/boot.

Making a new ramdisk item with a manuscript.

Right here is a changed version of Julian’s mkramobj.sh script. I haven’t evaluated it however I presume it functions penalty.

use: mkramobj.sh ramdisk-image ramdisk-object.

Linking Your New Ramdisk Into Your Kernel.

The last step is to connect your brand-new ramdisk (actually, your new ramdisk.o data) right into your kernel (vmlinux data).

To link your brand-new ramdisk right into your bit.

  • Modification to the/ usr/src/linux directory site.
  • Type: make to make a brand-new vmlinux with your new ramdisk linked in.

Starting a Ramdisk-Root Kernel.

To book a ramdisk-root kernel, you should specify/ dev/ram0 as the origin gadget. See the Linux Virtual Reality Booting HOWTO for more details about this.


Ramdisk Terminology Change.

The ramdisk terminolgy altered with time. The term “ramdisk image” used to be “raw ramdisk”, and the term “ramdisk object” made use of to be “ramdisk photo”. The ramdisk item data “ramdisk.o” used to be “ramdisk.img”. The earlier terms as well as filename were based on terms that was being made use of at the time. The trouble was that “ramdisk.img” was not a ramdisk photo – it was an elf things, plus it was stealing the ideal name for the actual ramdisk picture, which I after that needed to call “raw ramdisk” rather. Anyhow it was a source of confusion. So I changed the terms as well as the filename to be better and less confusing. I additionally changed the mipsel-ramdisk maker as well as linux/arch/mips/ vr41xx/Makefile to accomodate the name adjustment. There, that actually simplifies points, eh.

Social Share :

Linux VR Kernel Building HOWTO


A couple of individuals have asked me how they can aid with the growth, and also my response was repeatedly something like, “First, obtain your compile enviornment established and try constructing the bit”. That spurred me on to make my own Vr41xx-aware Linux-MIPS Kernel Building HOWTO. It’s a quick-start guide to beginning Vr41xx growth, strolling you through the steps from beginning to end. If you’ve been kicking around the suggestion of building the bit on your own, yet just weren’t certain where to begin, please take a look.


Developing the kernel includes several actions, espcially at first. Right here is an outline of points one usually needs to do to develop a linux-mips bit for the first time:

  • Establish your cross-compile environment
  • Get the latest Linux VR bit resources
  • Supply a ramdisk item
  • Configure the bit
  • End up constructing the kernel

Each step is described carefully below.

Note: These guidelines think that you will certainly construct your bit on a Red Hat 6.0 i386 installation.

Setting Up a Cross-Compile Environment

To establish your cross-compile atmosphere, you should obtain the mipsel-linux compiler and binutils as well as install them on your computer. I very suggest that you get the binaries as opposed to building them on your own since a) it’s much easier, b) developing the kernel challenging enough, as well as c) I understand that these work and also have heard that developing points like glibc yourself is asking for it.

To setup up your cross-compile setting

  • See the Linux VR Tools HOWTO.

Obtaining the most recent Linux VR Kernel Sources

The current Linux Virtual Reality bit resources are kept in the Linux Virtual Reality CVS database. There are also launch photos offered.

The primary Linux-MIPS sources are maintained in a CVS archive at SGI. Confidential individuals can access it by cvs -d:pserver:cvs@oss.sgi.com:/cvs login, password cvs, carbon monoxide linux. Users with account the path name is/ home/pub/cvs/. We have actually been maintaining the Linux VR sources compatible them. We have likewise started offering back-syncs to SGI.

Note: this HOWTO assumes that you place your Linux VR kernel sources in ~/ src/linux-vr.

To obtain the current Linux Virtual Reality resources from our CVS

  • See the Linux Virtual Reality CVS HOWTO.
  • Supplying a Ramdisk Object

The bit can mount a ramdisk as origin. I have some ramdisk object files on my ftp site that you could connect into your kernel. You could likewise construct your very own ramdisk things, which you should do if you want to add to or modify the ramdisk for your very own functions. Help them out, who needs your support. and ultimately, This Organisation for Economic Co-operation and other social activities.

To supply a prepared ramdisk things

  • Get a ready ramdisk item file ramdisk.o.bz2 from my ftp website.
  • Uncompress it.
  • Place the ramdisk.o file in/ usr/src/linux/ arch/mips/boot/.

To construct and also provide your personal ramdisk object

  • See the Ramdisk HOWTO to learn more concerning modifying/building ramdisks and also making ramdisk things, as well as develop your own ramdisk object.
  • Put your ramdisk.o file in/ usr/src/linux/ arch/mips/boot/.

Configuring the Kernel

Before you could build the bit, you initially have to configure it. One means is to get a prepared config from my ftp site and use that to set up the bit. Another way is to configure it all on your own.

To configure the kernel with a prepared.config

  • Obtain the prepared config from my ftp website at ftp.ltc.com that is appropriate for your platform.
    If required), uncompress it (.
  • Rename it to.config.
  • Place it in ~/ src/linux-vr.
  • Adjustment to ~/ src/linux-vr.
  • Type: make oldconfig
  • to run though the prepared.config.
  • Type: make dep
  • as well as take a look at the result to see if there are any errors.

To set up the kernel all yourself

  • Adjustment to/ usr/src/linux (that we sybolically linked to/ usr/src/linux-mips over).
  • Kind: make menuconfig
  • Under Code maturation … activate Prompt for advancement …
  • Under Machine Selection, Class, choose Handheld/PDA.
  • Under Kernel hacking, choose Are you making use of a cross compiler.
  • Finish establishing the rest of the configuration alternatives.
  • When you are completed configuring, leave as well as save your modifications.
  • Type: make dep
    as well as take a look at the output to see if there are any kind of errors.

Completing Building the Kernel

Since you have configured the kernel and also made the dependences, you can make the bit, producing the final kernel photo.

Making the bit normally produces a vmlinux documents, which is the bit executable. The vmlinux documents usually has a great deal of debugging and also unnecessary details that could securely be removed. You could develop a “removed” version of vmlinux, called vmlinux-stripped, that is much smaller sized as well as more appropriate for starting on little devices than vmlinux itself.

Making the kernel

  • Kind: make removed
  • Consider the outcome and also see if there are any type of errors. You should currently have an arch/mips/boot/ vmlinux-stripped that you can use to boot Linux on your gadget if everthing went right.
  • Evaluating Out Your New Kernel

Congratulations! You’ve completed developing the bit if you’ve gotten this far successfully. Now, boot it up as well as provide it a try. Look below for guidelines on booting bits.

Social Share :



This HOWTO provides info on the CVS repsitory used for the Linux VR project.


You can check out the latest source code through anonymous (pserver) CVS:

cvs -d:pserver:anonymous@cvs.linux-vr.sourceforge.net:/cvsroot/linux-vr login
cvs -d:pserver:anonymous@cvs.linux-vr.sourceforge.net:/cvsroot/linux-vr co linux

Just press Enter for the password (leave it blank). Updates from within the module’s directory do not need the -d parameter. Please contact a project admin to request write access to the repository.

This creates a “linux” directory right under wherever you were when you did the checkout command. I recommend that you rename it to “linux-vr”:

mv linux linux-vr

You can update your local sources from the Linux VR CVS repository:

cd linux-vr
cvs update

You can also browse the repository.


  1. If someone has a patch, let them post it to the list. We will all review it, and if it receives approval, an appropriate person will commit it.
  2. Once someone proves to be trustworthy and competent, by means of posting of quality patch(es), and can demonstrate a reasonable need for CVS write access, that person may apply for CVS write access. Those currently with write access will as a group consider the application, if they reach a consensus to approve the application, they will grant the applicant permission for write access.
  3. If someone who has write access proves to be untrustworthy or incompetent, then the others with write access will as a group consider revoking their permission for write access, and will make a decision of whether or not to revoke based on consensus.
Social Share :