Documentation
[ booting
| success
| sysconsole
| graphics
]
Depending on how you built RMoX, or downloaded a copy, you should have one (or both) of the following:
- a multiboot image named rmox; or
- a hard-disk image named hdimage.rmox
The multiboot image can be booted on real hardware, through the use of an appropriate bootloader. For our own testing purposes, we boot RMoX off the network, which saves
repeated updates to a boot-loader. The following describe various ways of getting RMoX booted.
Booting RMoX in QEMU:
This is probably the easiest way to play around with RMoX. You'll need to have the QEMU emulator installed, along with
vgabios and Bochs (the BIOS). On a Debian Linux
installation, the following command (as root), will usually do the job:
bash:~/# apt-get install qemu
With the hard-disk image hdimage.rmox to hand, execute the following:
bash:~/$ qemu -boot c -hda /path/to/hdimage.rmox -serial stdio
Booting from the network on real hardware:
If you want to try out RMoX on real hardware without having to install the image, you can boot it off the network. How this is achieved will depend
on your particular setup. We typically use Etherboot, in combination with a DHCP or BOOTP server,
and TFTP server on the network. However, using a system's native PXE network boot mechanisms should work just as well, provided the approriate server
exists.
To use Etherboot, you'll need a suitable image for your particular network hardware. The on-line
rom-o-matic can be used to generate this.
Once you have the Etherboot binary image, install it into your existing bootloader (GRUB or GRUB 2 recommended, but
rom-o-matic will be able to generate a format compatible with most bootloaders). See below for how to put Etherboot into your existing GRUB configuration (booting
the Etherboot ROM rather than RMoX).
To actually boot the RMoX image off the network, the rmox file will need to be available over TFTP (or similar). On our development systems that provide
the DHCP and TFTP services, this involves having a symbolic link "/tftpboot/rmox", which points at the build-time generated "rmox" file.
Booting locally on real hardware:
If you want to use a bootloader such as GRUB or GRUB 2 on your existing Linux system
to boot RMoX, copy the rmox image to somewhere the bootloader can see it (typically "/boot/"), and add an entry along the
following lines:
title RMoX
kernel /boot/rmox
Then re-run "grub-install" (or whatever command your system uses to update GRUB). When the system is rebooted, select "RMoX" from the boot
menu.
After a successful boot, you will be left at the default virtual terminal, which displays log messages generated by the system. This should look something like the screen
on the right (click for a full-size image).
There are six virtual-terminals provided by default. The first displays log message, and the fifth and sixth provide system consoles (into which
commands can be entered to interact with the system). If so configured, the other three virtual terminals will have running demo programs on them, otherwise they will be
blank. The function-keys F1 to F6 are used to switch between virtual terminals.
Once RMoX has booted, press F6 to switch a virtual terminal running the system console. This should look something like the screenshot shown
in the right (exact version numbers will probably differ):
Because RMoX does not yet have support for dynamic program loading (though this is well in progress), the various utilties and applications are hard-coded. However,
there will be no difference to the user as these do become dynamically loaded entities (who still types the same thing at the prompt).
A few of the useful commands are:
| dctl options | | Device control utility, run without options to show usage information.
| | gfxdpy fb.drv | | Start the graphics windowing system using the specified framebuffer device.
| | help | | Show the on-line help, including a list of available built-in commands.
| | ll path | | List directory contents, long style.
| | ls path | | List directory contents.
| | memstat | | Display memory usage information.
| | sctl options | | Service control utility, run without options to show usage information.
| | uptime | | Show system uptime.
| | version | | Display RMoX version.
|
For the purposes of experimenting with process-oriented graphical environments, we've put some basic graphics support into RMoX.
to be completed
|