Использование Inferno

Установка 3-й версии Inferno в среде 4-й Plan 9

Чтобы получить функционирующую 3-ю (стабильную на данный момент) версию виртуальной операционной системы Inferno в среде текущей, 4-й системы Plan 9, вам необходимо:

Первое. Загрузить дистрибутив системы inferno.tgz (15 MB) и платформо-зависимый компонентный пакет Plan9.tgz (2,3 MB) — из состава 3-го релиза (от 3 июня 2003 года), а также экспериментальное обновление от 15 июля 2002 года: inferno.tgz (3,6 MB) и Plan9.tgz (3,2 MB).

Второе. Извлечь сначала первую пару inferno.tgz и Plan9.tgz, а затем вторую, скажем в каталог /tmp/dist. У вас должно получится дерево, подобное следующему:

Третье. Заменить эмулятор emu (18.06.2001) на emu4e (15.07.2002):

Четвертое. Выполнить несколько подготовительных операций для Plan 9:

  1. Отключить проверку разрешений ФС («disk/kfscmd allow»).
  2. Добавить пользователя inferno и группу inf, включив строки:
  3. 3:inferno:inferno:
    10003:inf:inferno
    

    в файл /adm/users (убедитесь, что первые числа не совпадают с уже использующимися там).

  4. Чтобы Ken's File System перечитала файл /adm/users, дать команду «disk/kfscmd user».
  5. Создать домашний каталог нового пользователя:
    mkdir /usr/inferno
    chgrp inf /usr/inferno
    chgrp -u inferno /usr/inferno
    

Пятое. Запустить установочный сценарий rc:

Шестое. Включить проверку разрешений ФС («disk/kfscmd disallow»), добавить строку

в ваш lib/profile, и перезагрузить систему.

О том, как сделать (со)существование более комфортным

Рассмотрим несколько аспектов добавления некоторой доли удобства эксплуатации Inferno в Plan 9.

Создание Inferno, работающей в режиме собственной системы команд

Для построения native-версии Inferno, т.е., выполняющейся на «голой» аппаратуре Inferno, естественно, прежде всего требуется доступ к исходным текстам сей ОС. Благодаря выходу ее 4-й версии (Inferno Fourth Edition — I4E), безвозмездно распространяющейся на условиях либеральной лицензии open source типа, с этим проблем не должно возникнуть.

В последующем повествовании предполагается, что у вас наличествует разархивированная копия CD-образа I4E, либо файловая иерархия, которая была сформирована из содержимых отдельных пакетов-компонентов, как то: обязательного «дуэта» inferno.tgz–<целевая_машина>.tgz, плюс os.tgz, src.tgz и utils.tgz.

Первичная конфигурационная информация о сборке I4E овеществлена в одном файле — mkconfig, размещенном в корневом каталоге дерева исходных текстов — именно им и следует сначала заняться. Его первые несколько строк имеют вид, подобный приведенному ниже.

Вам необходимо скорректировать значения переменных ROOT, SYSHOST, SYSTARG и OBJTYPE. ROOT представляет собой абсолютное путевое имя корня дерева исходных текстов I4E в вашей файловой системе. SYSHOST является системной архитектурой машины, в среде которой будет выполняться построение. Данная переменная всегда указывает на архитектуру «гостевой» ОС, ее значение устанавливается с использованием строк: «Hp», «Irix», «Linux», «Nt», «Plan9», «Solaris», «MacOSX». Не обращайте внимания на комментарий. SYSTARG — это архитектура целевой ОС, подлежащей компиляции; для сборок native-версии I4E присвойте переменной значение «Inferno». И наконец, переменная SYSHOST отвечает за целевую аппаратную архитектуру CPU; к примеру, сборка «родного Ада» для PC-семейства требует ее установки в «386».

На момент написания текущей заметки ядро Inferno, работающей в режиме собственной системы команд, возможно было построить только посредством компилятора C производства Bell Labs (например, Plan 9 C-компилятора). Убедитесь, что данное инструментальное средство находится в вашем распоряжении в функционирующем состоянии. C-компилятор включается в дистрибутив I4E, велика вероятность, что бинарная версия его у вас уже есть, в противном случае вы можете построить все обязательные для компиляции утилиты с помощью команды «mk install», выполненной в корне дерева исходных текстов системы. Бинарные файлы обычно помещаются по адресу $ROOT/$SYSHOST/$OBJTYPE/bin, например, Plan9/386/bin. Полезно добавить этот каталог к значению путевой переменной «гостевой» ОС.

С тем чтобы создать ядро, переместитесь в каталог os/pc (ядро для PC, для iPAQ — os/ipaq1110) и дайте команду mk. Это инициирует построение ядра I4E и всех необходимых библиотек. Результирующее ядро будет находится в файле «iXXX», например, конфигурационному файлу «pc4e» (PC-ядро) отвечает «ipc4e». Для использования в загрузочных дискетах последний понадобится поддать компрессии (gzip'ированию). Описанный ниже загрузчик «умеет» распознавать и извлекать ядро из архива.

Простейший способ обзавестись загрузочной дискетой или CD с Inferno состоит в… использовании загрузочного диска Plan 9. Причиной тому служит тот факт, что начальный загрузчик Plan 9 обладает информацией о том, как осуществлять «бутинг» ядер Inferno.

Сперва на сайте разработчиков Plan 9 получите загрузочный диск сей системы. Выбор конфигурации не имеет сколько-нибудь существенного значения, поскольку, в сущности, загрузочный диск Plan 9 является DOS-образом и вам придется очистить его от большинства файлов, в том числе и конфигурационных. Далее подмонтируйте образ на дискету, либо просто перепишите его туда. Замените файл 9pcflop.gz на ipc4e.gz. Следующий этап заключается в правке plan9.ini: скорректируйте переменную bootfile, чтобы та указывала на место размещения ядра I4E. Таким образом, после редактирования минимальный plan9.ini будет иметь вид:

Если вашей целью было создание загрузочной дискеты, то вы ее успешно добились и теперь используя ее можете загружать свою машину. В случае, ежели вам «подавай» загрузочный CD, то вам следует воспользоваться только что приготовленной дискетой как образом начального загрузочного сектора для формата «бутовых» CD El Torito. За дополнительной информацией по этой теме обращайтесь к соответствующим руководствам эксплуатируемых вами программных средств CD-«прожига» (например, mkisofs в среде Unix или Easy CD Creator — в Windows варианте).

© Перевод на русский язык, Андрей С. Кухар, 2004
Последняя модификация 13.06.2004