ФЭНДОМ


Компиляция Haiku в Windows с помощью Cygwin

На данный момент стабильная сборка Haiku производится в самой Haiku или Linux, Free BSD, MacOS. Но мы попробуем поэкспериментировать и собрать Haiku в Windows! Для этого будем использовать среду Cygwin, которая позволяет компилировать и запускать UNIX / Linux программы в Windows. Описание Cygwin в википедии.

Весь процесс установки, настройки и компиляции по этапам:

1.Скачиваем 32 битную версию Cygwin с официального сайта.

2.Запускаем установку Cygwin (запускаем установочный файл setup-x86.exe).

3.Следуем стандартным настройкам установщика, до момента выбора пакетов.

4.На этапе выбора пакетов, следует ОБЯЗАТЕЛЬНО найти и отметить для установки следующие пакеты:

  • git
  • gcc-g++
  • make
  • bison
  • flex
  • texinfo
  • autoconf
  • automake
  • gawk
  • nasm
  • wget
  • zip
  • unzip
  • curl
  • curl-devel
  • zlib
  • zlib-devel
  • genisoimage
  • libtool

5.Установщик Cygwin скачает и установит выбранные пакеты автоматически.

6.При успешной установке, на рабочем столе должен появиться ярлык для запуска Cygwin.

7.Запускаем Cygwin и видим командную оболочку, как на скриншоте (для корректного выхода из неё, нужно набрать команду: exit):

Cygwin 1

8.Теперь ОБЯЗАТЕЛЬНО нужно включить поддержку режима case-sensitivity для имён файлов в системе Windows (по умолчанию отключено). Для этого откройте редактор реестра windows (команда regedit) и найдите параметр obcaseinsensitive по этому пути:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\

Установите значение параметра obcaseinsensitive в 0

Перезагрузите систему Windows для применения изменений.

9.Теперь запустите Cygwin и убедитесь, что команды, как на скриншоте, не вызывают ошибки и реально создают две папки с одинаковыми именами, но в разном регистре в домашней директории пользователя Cygwin:

c:\cygwin\home\user\

Cygwin 2

10. Теперь клонируем исходный код Haiku. Для это в командной оболочке Cygwin последовательно вводим команды:

git clone https://git.haiku-os.org/buildtools

git clone https://git.haiku-os.org/haiku

Cygwin 3

11. После успешного клонирования исходного кода Haiku, переходим к стадии компиляции кроссплатформенных инструментов для сборки Haiku. Для этого вводим следующие команды:

cd buildtools/jam

make

./jam0 install

cd ../..

jam -v

Cygwin 4

12. После успешной компиляции и установки специального форка системы сборки Jam для Haiku, переходим к компиляции других инструментов. Вводим команды (команда выделенная жирным курсивом вводится цельной, без разбивки на строки):

cd haiku

mkdir generated-x86

cd generated-x86

../configure -j2 --distro-compatibility official --use-gcc-pipe --build-cross-tools x86 ../../buildtools/

Описание ключей:

  • j2 - цифра указывает на количество ядер процессора задействованных в компиляции.
  • distro-compatibility official - указывает собирать официальный дистрибутив Haiku.
  • use-gcc-pipe - позволяет задействовать ОЗУ для более быстрой компиляции.

13. После удачной компиляции, мы должны увидеть сообщение: binutils and gcc for cross compilation have been built successfully!

Cygwin 5

Это означает, что конфигурация и компиляция необходимых инструментов закончилась успешно и можно двигаться дальше.

14. Теперь нужно добавить Cygwin в список поддерживаемых платформ. Без этого сборка Haiku не начинается с соответствующим сообщением:

/home/user/haiku/src/build/libsolv/Jamfile: Please add a case for your platform (cygwin)!

Редактируем файл по пути: haiku\src\build\libsolv\Jamfile

Находим раздел: switch $(HOST_PLATFORM)

И добавляем в него строки:

case cygwin :
DEFINES += HAVE_FUNOPEN ;

Сохраняем файл.

15.Потом редактируем файл по пути: haiku\build\jam\MainBuildRules

Находим строку: CygwinExtensionFix $(target) ;

Ставим перед ней символ комментария, чтобы получилось так:

#CygwinExtensionFix $(target) ;

Сохраняем файл.

16.После этого начинаем сборку дистрибутива Haiku!

Вводим команду (команда вводится цельной, без разбивки на строки):

jam -q -j2 -sHAIKU_IMAGE_SIZE=900 @nightly-anyboot

Описание ключей:

  • j2 - цифра указывает на количество ядер процессора задействованных в компиляции.
  • sHAIKU_IMAGE_SIZE=900 - цифра указывает желаемый размер образа.
  • @nightly-anyboot - означает, что это мультизагрузочная ночная сборка.

По идее, после всех этих манипуляций, мы должны увидеть радостное сообщение о том, что всё собралось и наш желанный дистрибутив готов, но из-за небольшой недоработки с правильной записью атрибутов файлов, этого не происходит, и пока сборка под Cygwin ломается почти под финиш.

На недавнем съезде программистов Haiku, эта проблема была поднята и поручена для решения одному из ведущих специалистов по коду Haiku, и он обещал всё наладить и выложить патч в основную ветку разработки, но пока этого не произошло.

Ждём :)

Источник

Haiku
Информация BFSГалереяBeOS-системы
Haiku

ИсторияСмена названияАрхитектураВерсииHaiku на ХабреВидеоРепозитории пакетовПрограммыАналоги ПОПО BeOSWineПланы на будущееHaiku в коммерческих продуктахHaikuPorter

Форки и дистрибутивы PoemSakura
BeOS BeBoxSony eVillaBeIAZetaOS
Компании Be Inc.Palm, Inc.Haiku Inc.yellowTabMagnussoftAccess Co., Ltd.Google Inc.
Попытки продолжения BeOS

BlueEyedOSCosmoeMonaOS

Помощь FAQ: BeOS, HaikuУправление ПОЗагрузчикиЗагрузочная флешкаОбновление из репозиториев • HPKG-пакет: созданиераспаковкаФинансовая поддержка Haiku через GoodSearchСборка HaikuСборка Haiku с помощью CygwinОтчеты об ошибкахBeOS заметкиWi-fiДаунгрейдПроблемы с оборудованием
Обзоры ОС Haiku: быстрый взгляд на неизвестную альтернативуBeOS – ОС, которая пока ещё жива!История одного процесса