Linux VR Booting HOWTO


Before you can boot Linux on your tool, you need to have two things:

  • a boot loader
  • a kernel

The boot loader part is very easy – simply download it (see listed below).

The bit part is a bit harder, as you must use one that is particularly developed for your system. The easy means to obtain one is to download and install one from my ftp site (see listed below). You could develop your personal bit (BYOK), yet this paper doesn’t get into that (if you intend to BYOK please see my Kernel Building HOWTO).

Booting Linux from Windows CE isn’t really that hard, so please offer it a try, as well as if you do, please allow me recognize how it goes ([email protected]).

Getting a Windows CE Boot Loader

There go to the very least a few Windows CE boot loaders them available. I advise the latest one, passionately named CyaCE.:–RRB- Steven Hill and also I made it based upon pbsdboot (see below). It has a great user interface, as well as all the configuration is done in a plain-text config documents, cyacecfg.txt. It will certainly additionally open up the serial port for you, so you do not have to make use of the serial console tip discussed below. You could obtain it from my ftp site at

There is likewise pbsdboot, the boot loader from the PocketBSD job. I utilized to make use of a version of pbsdboot until I made CyaCE. It works fine, however it doesn’t do auto-booting from a config data like CyaCE does. Last I checked you could get it from here. A caution on this: older versions did hardware-dependent screen clearing up, which was really bad on the Casio E-100/ 105 since while it thought it was contacting the E-105 framebuffer, it was truly completely filpping out the E-105 graphics controller registers rather. IMO the boot loader should either leave the display alone, or clear it in some hardware indepenent (Win32) means. At this time, CyaCE does neither, yet hardware-independent screen clearing is on the order of business, listed below dealing with initrd and pressed kernels. Anyway, it looks #if 0′ ed out in latest pbsdboot resources, so it ought to be OKAY now, but I haven’t checked it.

Obtaining a Ready-Made Kernel from my FTP Site

There are several bits up there currently:

  • The -clio ones are configured for the Vadem Clio, with assistance for the display screen and key-board.
  • The -e-105 ones are configured for the Casio E-100/ 105.
  • The -serial ones are set up for the console on the serial port, and also no screen assistance.
  • The -sas indicates that they use the stand-alone covering, which is smaller and also might be needed for equipments with much less compared to 8MB RAM.

I additionally compressed a few of them to a number of various compression layouts, specifically bzip2 (use bunzip2) as well as zip (use your favorite unzipper).

To get a prefabricated kernel

  • Obtain the ideal vmlinux apply for your system from my ftp site at
  • If essential to end up with a vmlinux documents, uncompress it (. This is the bit picture documents.)

Starting the Kernel

Here’s how to boot it when you have your boot loader and kernel (vmlinux bit photo data).

Obligitory Warning Notice

Do not go any type of more on this page if you care about any of the information in your device. No, starting Linux on your gadget will not pysically damage it, nullify the service warranty, or include years to your life (at the very least not that I understand of), yet it can (as well as constantly does when I do it) eliminate all of the information in the device’s memory. Backup any kind of information that you care regarding. OK? Push the reset button on your gadget to get back to Windows CE (most likely with your data all gone) when you are finished playing with Linux. If that doesn’t work, try doing a tough reset inning accordance with the device maker’s directions (if booting Linux didn’t eliminate the memory, then this is virtually guaranteed to do so). Oh, as well as please do not assume that I’m liable if you lose something – you can’t say that I didn’t caution you. Another point – IF YOU GO MUCH FURTHER ON THIS PAGE YOU ARE PRATICALLY GUARANTEED TO ERASE ALL OF THE DATA IN YOUR DEVICE’S MEMORY! There. Now have fun.

To boot Linux from Windows CE.

  • Copy the boot loader as well as the bit photo to the Windows CE gadget. I prefer to replicate them to the origin of a CF card utilizing my laptop, then pop the CF card into the CE gadget.
  • If the bit is configured to make use of a serial console, then link your tool to a serial port on another computer, pull up your serial terminal software program (I utilize minicom on Linux), and also established it to 9600 baud.
  • Pause, think carefully, “Do I mind if I wipe out this tool’s memory?”, due to the fact that the next step is the one that practically for certain will certainly erase all of your gadget’s memory.
  • Introduce the boot loader (see listed below for pointers on that particular). It will most likely instantly boot after a few secs if you are using CyaCE. If you are making use of an additional boot loader, you could need to fill in some spaces as well as strike “Boot”.

Changing the Boot Loader Settings.

You might need to readjust the boot loader setups. The best ways to do this depends on the bootloader you are using.

Adjusting CyaCE for Ramdisk Root.

For ramdisk root, you should modify the cyacecfg.txt data to tell the bit to get the root from the/ dev/ram0 device. Adjust your cyacecfg.txt data to look something similar to this:.

  • image= vmlinux.
  • label= linux.
  • append= origin=/ dev/ram0.

Note: earlier kernels really did not need this, but newer kernels do. Those very early kernels brokenly always installed/ dev/ram as genuine origin when initrd was set up, whereas the more recent bits do not.

Releasing the Boot Loader.

This could be a little hard, particularly if you have a Palm-size PC. Below are some choices:.

  • You could merely navigate to the boot loader and also double-click on it if you have an H/PC.
  • You may be able to obtain a “run” dialog ahead up despite the fact that it doesn’t appear on the Start menu (see below).
  • Some Casios have a method to obtain them to auto-boot (see listed below).
  • You could require to add the boot loader to the Start food selection if none of those choices job.

Start Menu Run Dialog.

Why exists no Run choice on the Windows CE P/PC Start food selection? I can’t answer that concern, yet despite the fact that it doesn’t show up on the Start food selection, you still may be able to obtain a Run dialog up on your tool. Attempt this exactly as defined:.

  • Bring up the on-screen keyboard.
  • Click Start twice (the Start menu appears after that disappears). Don’t double-click it – simply click it as soon as, let it open, then click it once again and also let it close.
  • Type run23 on the on-screen keyboard.
  • Once it comes up, you might, as an example, key in “\ storage card \ cyace” (consisting of the quotes) to launch CyaCE from your storage space card.

( By the way, for some factor the Clio names the storage card “\ Storage Card” – with an area at the end. I wonder if the brand-new Clio will be “backward compatible”?

If you can not obtain it to work, try resetting your device after that trying again.

Auto-Booting on Casios.

Some Casio PsPC equipments (however apparently not the E-10) will automatically run \ CE \ R4100 \ AutoRun.exe on a CF card when the CF card is put.

To benefit from this attribute, relabel your boot loader to AutoRun.exe and also placed it in \ CE \ R4100 \ on your CF card.

Including the Boot Loader to the Start Menu.

Here is a means to include the boot loader and also bit documents to the start menu (based upon contribution by Greg Haerr). It requires the use of Windows CE Servces.

  • Open Up Mobile Devices on the PC.
  • In Mobile Devices, open up the folder for your tool.
  • Open the “Windows” folder.
  • Open Up “Start Menu”.
  • Drag cyace.exe, cyacecfg.txt, as well as vmlinux in.
  • Click on the Start food selection on the device.
  • Click on cyace.

Adjusting Memory Settings.

If you obtain a “cannot allocate load” error from the boot loader, you could need to change your CE memory setups in order to offer the boot loader more area to pack the kernel. Go to Start, Settings, System, Memory, and also set the slider for minimal storage memory as well as maximum program memory.

Tip on Using the Serial Console.

This tip is only useful to people utilizing old variations of CyaCE or pbsdboot. The more recent variations of both of those programs have a function that makes this tip obsolete.

If you are booting a bit set up for serial console, as well as you are not getting any kind of outcome on the serial port when you boot the bit, try booting it while COMPUTER Link is running. Some systems power down the serial transceiver wiring via a GPIO when it’s not in use to conserve power. Having PC Link running while you are starting the bit leaves the serial transceiver wiring turned on for Linux to make use of.

Social Share :

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 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
  • 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 script. I haven’t evaluated it however I presume it functions penalty.

use: 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 :