Get Known in the OKL4 Community
Interprocess Communication & the L4 Microkernel
Dalvik on OKL4
Using the OKL4 port to the HTC Dream, portions of the Android runtime were ported to run on OKL4 as part of a thesis project. This includes the Dalvik Virtual Machine and the input framework. Access to the display has also been implemented to allow the execution of basic interactive applications written in Java using the Android 2D graphics library. Read more about the port and download the source code at the ERTOS Web site.
OKL4 for Android emulator and HTC Dream
March 15, 2009
OKL4 has been ported to the HTC Dream (a.k.a. the Google G1) and the virtual platform defined by the Android emulator. The HTC Dream is an ARM11-based smartphone with a number of interesting hardware devices and very open specifications (compared with other smartphones). Read more about the ports and download the source code at the ERTOS Web site.
CAmkES for OKL4
CAmkES is a component-based software development framework for OKL4. It provides a framework and environment that significantly simplifies development of complete multiserver systems on OKL4.
In CAmkES a system is modelled as a set of interacting software components. These software components have explicit interaction interfaces and a system design that explicitly details the connections between the components.
The development framework provides: a language to describe component interfaces, components, and whole component-based systems; a tool that processes these descriptions to combine programmer-provided component code with generated scaffolding and glue code to build a complete, bootable, system image; and full integration in the OKL4 environment and build system.
Find more details and download it from the CAmkES pages.
OKL4 on UltraSPARC T1
OKL4 is now running on multiple virtual CPUs on UltraSPARC T1. The l4test suite passes 100% of the original test set. Two new tests were added :
Exception handling by emulating popc instruction on T1. This instruction is implemented on T2
- Pinning a process to a certain CPU
You can download the the patched 2.1.1-patch9 tarball of OKL4 including the sparc64/sun4v sources. You can compile it using the precompiled gcc-4.2.4 cross-compiler on x86. The cross-compiler tarball extracs into /opt. As usually make all compiles the project. The bootable l4test image is build/images/image.boot which you can upload via tftp protocol. The current version was tested on a Sun Fire T1000 server.
The current version was tested with up to 24 virtual CPUs. The single CPU version was also tested on UltraSPARC T2. The port is by no means complete. For instance the kernel debugger does not work, FPU is not supported and the single scheduling queue is a serious bottleneck. Further development is in progress.
See README for more info.
OKL4 Simple VOIP Demonstrator
We've developed a bare-bones version of an OKL4-based VOIP system, allowing for two-way voice and text communication across a network using two Gumstix computers (with appropriate peripherals). It is not meant to be a robust instant messaging system, but rather a working demo and an application used for benchmarking the RBED scheduler work done at NICTA. It includes network and audio drivers, as well as an lwIP-based TCP/IP stack. More information and the source code is available at the NICTA ERTOS website. The system requires OKL4 version 1.5.2.
OKL4/OKLinux development VMs (for VMware Workstation)
This is an Ubuntu 8.04 based image that contains the sources of OKL4 2.1.1 and OKLinux 2.6.23.24 along with the appropriate compiler tool chain. The tarball actually contains TWO VMware VMs one oklinux which is the Ubuntu development VM and iguana-vm a "target" VM that will boot the OKL4/OKLinux image. The image is placed on a virtual disk that is first mounted on oklinux and then mounted on iguana-vm where it is used as a boot disk. The console of the iguana-vm is connected via a VMware virtual serial line (implemented by a unix domain socket) to the serial port of the oklinux development VM allowing you to have a completely functional OKL4 development environment in a matter of moments!
You can download the 1.5G tarball from http://portal.ok-labs.com/contrib/oklinuxVM_2.1.tgz
About this VM
This VM was built using a beta version of VMware Workstation 6.5. However, it was built to be compliant with Workstation 5.5 which means that it is also capable of running on VMware Server as well as ESX. It does not contain any sound cards or parallel ports, it does contain a serial port that is connected to a Unix (or windows domain ) socket that is also connected to the target VM. This VM has a single processor and 512 MB of Main memory (this can be easily expanded). It has an 8 Gig, persistent compressed disk that is broken up into chunks no larger then 2G each. VMwaretools IS NOT installed, but you are free to install it in the development VM if you want. Both VMs have the standard VMware pcnet32 virtual ethernet device, the VMs are set to be connected to the VMware bridged network (shares the nic of the host that is running Workstation) so it will send a DHCP request out and respond to any DHCP grant issued on the network that the host is connected to. There is a second 100MB disk that is used to place the boot image of the target machine on, The target VM has the same characteristics as the development VM but it's memory size can be expanded (or contracted) as needed. Currently, the development VM uses slightly more than 4 GB. To login, the user account is okl4user, password: okl4 This custom writing contains some additional information concerning okl4.
Geoff White - Durga Networks
Patch 9 updates
Download the patch file and the update tarball to upgrade your VM to the latest right here.