Quick Start

(A.k.a. get HelenOS up and running in 5 minutes)

This method is recommended for new users. We recommend to use QEMU, which we use for our day to day testing. If you use another emulator, you need to be more careful.

Running HelenOS in QEMU

To try out HelenOS in QEMU, download the latest HelenOS ISO image for the IA-32 architecture. Make sure a recent enough version of QEMU is installed on your system. QEMU 2.5.0 and newer should be fine. In the directory where you downloaded the HelenOS ISO image run:

qemu-system-i386 -enable-kvm -device e1000,netdev=n1 \
    -netdev user,id=n1,hostfwd=udp::8080-:8080,hostfwd=udp::8081-:8081,hostfwd=tcp::8080-:8080,hostfwd=tcp::8081-:8081,hostfwd=tcp::2223-:2223 \
    -usb -device nec-usb-xhci,id=xhci -device usb-tablet -device intel-hda -device hda-duplex -serial stdio -boot d -cdrom HelenOS-0.14.1-ia32.iso

You should see the GRUB boot screen and just five seconds or so later HelenOS should automatically come up. You should find yourself in the HelenOS GUI environment.

For more information about running HelenOS in QEMU, see UsersGuide/RunningInQEMU.

Running HelenOS in another emulator

You can also use a different emulator (Bochs, VirtualBox, etc.). Make sure your emulator is configured to emulate a Pentium 4 or later CPU. Otherwise HelenOS won't boot and it will display a red error message.

If you use a non-free/non-libre emulator (that only runs in a non-free/non-libre OS) and you run into trouble, we might not be able or might not be willing to help you, depending on the actual circumstances. Please use free/libre software instead. There is no need to use non-free/non-libre software for running or developing HelenOS.


Failed to initialize KVM

The command line above instructs QEMU to make use of hardware virtualization via KVM. KVM is, however, not always available. Cases when KVM is not available include another virtualization software such as VirtualBox or Xen already running on the system, incompatible host and guest such as when trying to run this guest from an ARM host, the host operating system does not support KVM (i.e. it is not a Linux system) and the host processor does not support hardware virtualization or has it disabled. In these cases, QEMU will abort with the following error message or similar:

ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy
failed to initialize KVM: Device or resource busy

You should still be able to run HelenOS in QEMU, though. Either try removing one of the possible causes listed above or, if that's not a viable alternative, simply omit the -enable-kvm option from the command line above. Note that this will result in a slower run and a slightly worse user experience.

The system does not come up, a red error message is displayed

This is a problem during the GRUB/kernel transition when the kernel probes and initializes the CPU. It can mean one of two things, depending on the message:

  • Error: Extended CPUID not supported — CPU is not 64-bit. System halted.
    • You are trying to run a 64-bit system on a 32-bit CPU! Please download the IA-32 system image instead.
  • Other message
    • The CPU is an old antique and does not have some (pretty standard) feature required by HelenOS. Make sure your simulator is configured to emulate a more recent (at least Pentium 4 or later) CPU. It is possible to configure/build HelenOS even for a 80486-class CPU, but we don't provide a pre-built image for it.
Last modified 4 months ago Last modified on 2024-03-28T12:07:25Z
Note: See TracWiki for help on using the wiki.