w4linux

Contents
1. Overview
2. Features
3. Documentation
4. Downloads
5. Licensing
6. Articles

1. Overview [up]


w4linux is paravirtualized Linux kernel working on top of WrmOS. WrmOS works as hypervizor. Building of Linux kernel and userspace environment based on buildroot project.

w4linux looks like usual WrmOS application. Interesting feature is several address spaces (tasks) inside this application. It needs to allow Linux applications are executed in separate address space.

w4linux project consists from next components:

Build System Make based building system for WrmOS part of project and buildroot based building system for Linux part of project.
WrmOS WrmOS kernel and system applications (Sigma0 and Alpha).
WrmOS services Uart — UART driver as wrmos application.
Console — console multiplexer, catch output from applications and send to Uart driver.
Init RAM FS Initial RAM File System. It is built by buildroot and link with Linux kernel together.
Linux kernel Paravirtualized linux kernel. It is built by buildroot and contains Init RAM FS inside yourself. Only linux kernel have been paravirtualized.
Linux application Native linux application. They are built by buildroot (busybox).

Software components are imaging in following scheme:

linux application layer:                         /bin/init  /bin/bash  ...
---------------------------------------------------------------- ↓↑ ------
wrmos applications layer:        Sigma0  Alpha  Uart  Console  Linux
--------------------------------------------------------------------------
wrmos kernel layer:                        WRMOS KERNEL
--------------------------------------------------------------------------
hardware layer:                   CPU    MMU    UART    TIMER

2. Features [up]


Implementation of architecture dependence properties of the w4linux are shown in the table below.

  SPARC ARM x86 x86_64 MIPS PPC32
QEMU execution leon3_generic - - - - -
HW execution leon3 - - - - -

The development was the architecture SPARC and hardware on Gaisler LEON3. There are machine control projects based on WrmOS which showed good reliability and performance of the OS. Supporting of architectures ARM,  x86, x86_64, MIPS and PPC32 are expected in the future.

Other properties are listed the table below.

Fully featured linux kernel Paravirtualization touch only architecture dependence part of Linux. Common part of Linux stay in original state. It allows to use all Linux kernel features.
Original user environment In user space are used original libraries and applications. They are building through buildroot (busybox) project.
Combine real-time and flexibility w4linux allows combine real-time part of project (for example Machine Control) and wealth of software that provides Linux (for example drivers, web services, communications).

3. Documentation [up]


External documentation

  1. The Linux Kernel documentation
  2. The Buildroot documentation
  3. The Busybox documentation
  4. The WrmOS documentation

w4linux documentation

w4linux documentation consists from next clauses:

  1. Build system
  2. Configuration

4. Downloads [up]


w4linux sources can be downloaded from github.

git clone https://github.com/wrmlab/w4linux.git

Also may be used zip archive.

5. Licensing [up]


w4linux project is distributed under the MIT license.

A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.

Be careful with third party licenses — Linux, Buildroot, Busybox and others.
For distribution w4linux under other licensing please write a message in contact form.

6. Articles [up]


  1. How to get toolchain
  2. Running w4linux