w4linux

Содержание
1. Описание
2. Свойства
3. Документация
4. Загрузки
5. Лицензирование
6. Статьи

1. Описание [наверх]


w4linux — паравиртуализированное ядро Linux, работающее в WrmOS в качестве приложения. WrmOS работает в качестве гипервизора. Сборка ядра Linux и пользовательского окружения основана на проекте buildroot.

w4linux выглядит как обычное WrmOS приложение. Интересным свойством w4linux является существование нескольких адресных пространств (task'ов) в рамках этого приложения. Это необходимо чтобы позволить linux-приложениям выполняться в отдельных адресных пространствах.

Проект w4linux состоит из следующих компонентов:

Система сборки Основанная на make система сборки для WrmOS-части проекта и основанная на buildroot система сборки для Linux-части проекта.
WrmOS Ядро WrmOS и системные приложения (Sigma0 и Alpha).
WrmOS сервисы Uart — драйвер UART в виде приложения WrmOS.
Console — мультиплексор консоли, ловит вывод от приложений и шлёт его в драйвер Uart.
Init RAM FS Стартовая файловая система. Она собирается посредством buildroot и линкуется вместе с ядром Linux.
Ядро Linux Паравиртуализированное ядро Linux. Оно собирается посредством buildroot и содержит Init RAM FS внутри себя. Только ядро Linux подверглось паравиртуализации.
Приложения Linux Нативные приложения Linux. Они собираются посредством buildroot (busybox).

Програмные компоненты изображены на следующей схеме:

уровень linux приложений:                        /bin/init  /bin/bash  ...
---------------------------------------------------------------- ↓↑ ------
уровень wrmos приложений:        Sigma0  Alpha  Uart  Console  Linux
--------------------------------------------------------------------------
уровень ядра wrmos:                        WRMOS KERNEL
--------------------------------------------------------------------------
уровень HW:                       CPU    MMU    UART    TIMER

2. Свойства [наверх]


Архитектуро-зависимые свойства w4linux и их реализация показаны в таблице ниже.

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

Разработка осуществлялась для архитектуры SPARC и процессора Gaisler LEON3. Существует проект управления бульдозером (machine control) основанный на WrmOS, который показал хорошую надёжность и производительность ОС. Поддержка архитектур ARM,  x86, x86_64, MIPS и PPC32 ожидаются в будущем.

Другие свойства перечислены в таблице ниже.

Полнофункциональное ядро Linux Паравиртуализация коснулась только архитектуро-зависимую часть Linux'а. Общая часть Linux'а осталась в оригинальном состоянии. Это позволяет использовать все свойства ядра Linux.

Оригинальное пользовательское окружение

В пространстве пользователя используются оригинальные библиотеки и приложения. Они собираются посредством buildroot (busybox).
Обеспечение реального времени и гибкости w4linux позволяет объединить real-time часть проекта (например Machine Control) и всё богатство програмного обеспечения, которое предоставляет Linux (например драйверы, вэб-сервисы, телекоммуникационные протоколы).

3. Документация [наверх]


Сторонняя документация

  1. Документация ядра Linux
  2. Документация проекта Buildroot
  3. Документация проекта Busybox
  4. Документация WrmOS

Документация w4linux

Документация w4linux состоит из следующих разделов:

  1. Система сборки
  2. Конфигурирование

4. Загрузки [наверх]


Исходники w4linux могут быть загружены из github.

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

Так же могут быть загружены в виде zip архива.

5. Лицензирование [наверх]


w4linux распространяется под лицензией MIT.

Краткая и простая разрешительная лицензия с условиями, требующими сохранения авторских прав и лицензионных уведомлений.

Будьте осторожны со сторонними лицензиями — Linux, Buildroot, Busybox и другие.
Для распространения w4linux под другой лицензией, пожалуйста, напишите мне сообщение в форме обратной связи.

6. Статьи [наверх]


  1. Как получить тулчейны
  2. Запуск w4linux