1. w4linux: система сборки

2. w4linux: конфигурирование →

Содержание
1.1 Описание
1.2 Конфигурирование
1.3 Опции сборки
1.4 Сборка

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


w4linux выглядит как обычное WrmOS приложение. Оно может быть разделено на 2 части:

  • WrmOS часть
  • Linux часть

w4linux имеет основанную на make систему сборки для WrmOS части проекта и основанную на buildroot систему сборки для Linux части проекта.

Приложение w4linux состоит из следующих директорий и файлов:

Makefile Скрипт сборки приложения.
cxx_support.patch Патч ядра Linux, добавляющий поддержку сборки C++ исходников.
br/ Директория с конфигурационными файлами для Buildroot.
w4sparc/ Директория с паравиртуализированной частью ядра Linux.

Во время сборки осуществляются следующие шаги:

  1. Начинается сборка WrmOS проекта (генерируются заголовочные файлы с параметрами конфигурации, собираются библиотеки, ядро, приложения, бутлоадер);
  2. Во время сборки приложения linux:
    • загружаются исходники проект Buildroot и его git-репозитория;
    • исходный Buildroot конфигурируются;
    • исходный Buildroot собирается (libc, busybox, linux, ...);
    • паравиртуализированная часть ядра Linux копируется в директорию к ядру Linux;
    • Buildroot пересобирается для паравиртуализированной псевдоархитектуры w4sparc;
  3. Собранный бутлоадер содержит образ файловой системы RAMFS, содержащей приложение app/linux/linux.elf.

1.2 Конфигурирование [наверх]


WrmOS часть конфигурации

w4linux выглядит как обычное WrmOS приложение. Поэтому его конфигурирование является обычным конфигурированием WrmOS проекта.

Параметры проекта включают в себя:

  • параметры целевой системы (CPU, память, основные системные устройства, частоту шины, ...);
  • параметры сборки библиотек (debug flags);
  • параметры сборки ядра (debug flags, UART, timer, MMU);
  • параметры сборки приложений (debug flags);
  • список приложений;
  • файл конфигурации времени выполнения для Alpha.

Смотрите раздел о конфигурировании WrmOS и о конфигурировании w4linux для получения более подробной информации.

Linux часть конфигурации

Конфигурирование Buildroot и его компонентов/подпроектов (busybox, ядро Linux и др.) осуществляется точно так же как и конфигурирование оригинальных компонентов/подпроектов.

Смотрите документацию на Buildroot для получения более подробной информации.

1.3 Опции сборки [наверх]


Опции сборки — это параметры командной строки и переменные окружения среды выполнения. Обычно сборка начинается посредством такой команды:

make build P=cfg/prj/linux-qemu-leon3.prj W=../wrmos B=../build/linux-qemu-leon3 -j V=1

Система сборки поддерживает следующие опции:

target mandatory может быть build, clean или rebuild (clean & build)
P=project-file-name.prj mandatory определяет конфигурационный файл проекта
B=build-dir-name mandatory определяет сборочную директорию, все собранные файлы будут находиться в ней
W=wrmos-dir-name mandatory определяет директорию с исходниками WrmOS
V=0|1 optional флаг verbose, может иметь значение 0 или 1, позволяет скрыть детали сборки (V=0, по умолчанию) или печатать их (V=1)
-j optional параметр make, позволяет запустить параллельную сборку, это делает сборку быстрее

1.4 Сборка [наверх]


w4linux является внешним (external) WrmOS проектом. Он может быть собран либо 1) из директории с исходниками WrmOS, либо 2) из директории проекта w4linux.

Из директории с исходниками WrmOS сборка начинается посредством команды:

cd wrmos
make build P=../w4linux/cfg/prj/linux-qemu-leon3.prj B=../build/linux-qemu-leon3 E=../w4linux -j

Из директории проекта w4linux сборка начинается посредством команды:

cd w4linux
make build P=cfg/prj/linux-qemu-leon3.prj W=../wrmos B=../build/linux-qemu-leon3 -j

Здесь предполагается, что директории wrmos и w4linux находятся рядом.

Промежуточные фалы сборки (сгенерированные заголовочные файлы, объектники, библиотеки, исполняемые файлы) будут находиться в сборочной директории, определённой параметром B. Главным результатом сборки является исполняемый файл загрузчика:

../build/linux-qemu-leon3/ldr/bootloader.elf

или образ диска с загрузчиком:

../build/linux-qemu-leon3/ldr/bootloader.img

Этот файл может быть загружен на целевую плату или запущен на виртуальной машине QEMU:

qemu-system-sparc -M leon3_generic -display none -serial stdio \
                  -kernel ../build/linux-qemu-leon3/ldr/bootloader.elf

Дополнительную информацию можно найти в статье Запуск w4linux.

2. w4linux: конфигурирование →