Найти тему
Арен Елчинян

Сборка БМПОС на Ubuntu 23: что вам нужно знать и как это сделать

Оглавление

БМПОС - это базовая модульная платформа для операционных систем, исходный код которой открыт и написан на C. Она использует свободную лицензию ГОЛ. Это отечественная платформа разработана для работы на платформе x86_64 и реализована в виде модульной системы, где каждый системный компонент представлен отдельным модулем. Этот подход отражает философию БМПОС: “все есть модуль”.

Логотип
Логотип

Установка SDK

Перед началом сборки БМПОС на Ubuntu 23 необходимо установить пакет для разработки программного обеспечения, известный как SDK. Этот пакет содержит все необходимые инструменты и библиотеки для успешной сборки БМПОС и работы с ним. Для его установки введите в терминал (от имени суперпользователя):

sudo apt update sudo apt install libc6
sudo apt install clang-format python3 unzip git qemu-system-x86 qemu-system-gui gdisk dos2unix xorriso

Сборка

Перед сборкой необходимо получить копию репозитория с любого доступного сервера-зеркала. Далее скрипт build.sh автоматически соберет все стандартные модули, модульную платформу и ISO/HDD образ:

git clone https://git.synapseos.ru/Aren/BMOSP.git --dept 1
cd BMOSP/
chmod +x *.sh
./build.sh

Для экономии дискового пространства и увеличения скорости развертывания мы использовали флаг --dept 1 чтобы выгрузить только последнее изменение из репозитория, а не всю историю.

Запуск

Для запуска рекомендуется использовать Qemu последней версии:

qemu-system-x86_64 -name "БМПОС" -cpu max -m 256 -smp 1 -serial file:serial.log -drive file=bmosp.hdd,if=none,id=sata_drive -device ahci -device virtio-blk-pci,drive=sata_drive -net nic,model=pcnet --no-reboot

Система потребляет в среднем 6 мегабайт, но на модули с запасом выделяется 32 мегабайта.

Скриншот из эмулятора
Скриншот из эмулятора

Итог

Вот и все! Теперь вы знаете, как собрать и запустить БМПОС. Пора изучить кодовую базу, написать свои модули или изменить существующие. По всем вопросам можете обращаться в чат проекта или напрямую разработчику, контакты и все ссылки есть в файле README. Желаю удачи!