воскресенье, 21 декабря 2008 г.

Устанавливаем Inferno в Linux и FreeBSD

Существует два способа установки Inferno в гостевом режиме. Первый заключается в скачивании четвертой редакции ОС с сайта Vita Nouva, а второй - в получении наисвежайшего среза SVN-дерева с GoogleCode. Ввиду того, что со времени выхода четвертой редакции, в код ОС было добавлено несколько полезных измений и багфиксов, мы рассмотрим только второй вариант.

Итак, мы будем устанавливать Inferno в каталог /home/ваш_логин/inferno и для выполнения этой операции нам понадобятся система контроля версий Subversion и компилятор GCC.

Для начала получим исходные тексты ОС:

$ EMUROOT="/home/$USER/inferno"
$ mkdir ~/svn
$ cd ~/svn
$ svn checkout http://inferno-os.googlecode.com/svn/trunk/ inferno-os-read-only
$ svn export inferno-os-read-only $EMUROOT

И отконфигурируем систему сборки:

$ cd $EMUROOT
$ vim mkconfig

Заменям строку 'ROOT=/usr/inferno' на 'ROOT=/home/ваш_логин/inferno', строку 'SYSHOST=Plan9' на 'SYSHOST=FreeBSD' или 'SYSHOST=Linux' в зависти от вашей ОС, раскомментируем строку '#OBJTYPE=386' и комментируем 'OBJTYPE=$objtype'.

Теперь компилируем утилиту mk, необходимую для сборки ОС:

$ makemk.sh

И включаем место ее расположения в пути поиска коммандного интерпритатора:

$ PATH="$EMUROOT/`uname`/386/bin:$PATH"

Наконец, собираем Inferno:

$ mk install clean

И создаем пользователя:

$ cp usr/inferno usr/$USER

Inferno готова к работе. Осталось только создать специальный скрипт, который облегчит ее запуск:

$ mkdir ~/bin
$ vim ~/bin/inferno

Помещаем в файл следующие строки:

#!/bin/sh
OS=`uname`
ARCH="386"
EMUROOT="/home/${USER}/inferno"
RES="800x600"
COLCHAN="r8g8b8"
COMMAND="wm/wm"
$EMUROOT/${OS}/${ARCH}/bin/emu -r${EMUROOT} -g${RES} -C${COLCHAN} $COMMAND

Даем ему права на исполнение и помещаем каталог ~/bin в пути поиска:

$ chmod +x ~/bin/inferno
$ echo 'export PATH="~/bin:$PATH"' >> ~/.profile

Все, теперь можете запустить Inferno:

$ inferno

Если Вы не хотите, чтобы Inferno загружалась в режиме командной строки, просто закомментируйте строку 'COMMAND="wm/wm"'.

7 комментариев:

  1. Здравствуйте !

    Хотелось бы заметить, что оригинальный дистрибутив то же не плохо скачать, хотя бы из за шрифтов которых нет с SVN :)

    ОтветитьУдалить
  2. было бы здорово узнать, как устаравливать инферно в standalone режиме и какие порты существуют для каких архитектур.

    ОтветитьУдалить
  3. Про шрифты, да забыл, надо добавить.
    Native install я собираюсь рассмотреть, но несколько
    позже.
    Спасибо за комментарии.

    ОтветитьУдалить
  4. Добрый день!
    Сделал всё, как вы описали, но после "mk install", в проекте не появилось ни одного бинарника с именем "emu". Во время инсталляции никаких сообщений об ошибках не появляется.
    Пробывал откатываться до старых ревизий, когда писался этот пост, но всё равно не помогло.
    В директории Linux/386/bin у меня только эти файлы:

    asm
    data2c
    iyacc
    limbo
    mk
    ndate

    Хочется всё таки посмотреть на эту ОС, идея очень понравилась.. Не подскажите, в чём может быть проблема?

    ОтветитьУдалить
  5. Сорри. Разобрался. Ошибки были, но я в упор их не заметил. Нехватало библиотек libX11.so и libXext.so

    ОтветитьУдалить
  6. ОС Ubuntu 9.10
    1. оказывается (выдало ошибку запуска) r8g8b8 не поддерживается Х11 (или на разрешении 1024х768, которое я выбрал для окна запуска)
    2. echo и прочие махинации с PATH не дают эффекта - приходится идти в ~/bin и там запускать скрипт inferno

    ОтветитьУдалить
  7. 1. На некоторых драйверах это случается. Уберите -C${COLCHAN} из скрипта.

    2. Попробуйте выполнить:

    echo 'export PATH="~/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc

    ОтветитьУдалить