Существует два способа установки 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"'.
Итак, мы будем устанавливать 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"'.
Здравствуйте !
ОтветитьУдалитьХотелось бы заметить, что оригинальный дистрибутив то же не плохо скачать, хотя бы из за шрифтов которых нет с SVN :)
было бы здорово узнать, как устаравливать инферно в standalone режиме и какие порты существуют для каких архитектур.
ОтветитьУдалитьПро шрифты, да забыл, надо добавить.
ОтветитьУдалитьNative install я собираюсь рассмотреть, но несколько
позже.
Спасибо за комментарии.
Добрый день!
ОтветитьУдалитьСделал всё, как вы описали, но после "mk install", в проекте не появилось ни одного бинарника с именем "emu". Во время инсталляции никаких сообщений об ошибках не появляется.
Пробывал откатываться до старых ревизий, когда писался этот пост, но всё равно не помогло.
В директории Linux/386/bin у меня только эти файлы:
asm
data2c
iyacc
limbo
mk
ndate
Хочется всё таки посмотреть на эту ОС, идея очень понравилась.. Не подскажите, в чём может быть проблема?
Сорри. Разобрался. Ошибки были, но я в упор их не заметил. Нехватало библиотек libX11.so и libXext.so
ОтветитьУдалитьОС Ubuntu 9.10
ОтветитьУдалить1. оказывается (выдало ошибку запуска) r8g8b8 не поддерживается Х11 (или на разрешении 1024х768, которое я выбрал для окна запуска)
2. echo и прочие махинации с PATH не дают эффекта - приходится идти в ~/bin и там запускать скрипт inferno
1. На некоторых драйверах это случается. Уберите -C${COLCHAN} из скрипта.
ОтветитьУдалить2. Попробуйте выполнить:
echo 'export PATH="~/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc