[Перевод] Создайте свой собственный NeXT с помощью виртуальной машины

43694c035e95f8174a0853f7951ab0f9.jpg

В 1985 году Стив Джобс ушел из Apple и основал NeXT Inc., чтобы затем выпустить на рынок NeXT Computer. Можно сказать, что устройство опередило своё время, так как обладала удивительными возможностями. Во многом — благодаря операционной системе NeXTSTEP, которую активно использовал в ЦЕРН Тим Бернерс-Ли, создатель всемирной паутины.

Позже NeXTSTEP превратился в OpenStep, и когда Apple приобрела NeXT в 1997 году, они использовали его в качестве основы для Mac OS X и iOS. Если вы занимались программированием для Mac или iOS, то наверняка видели отголоски NeXTSTEP. NSObject, NSString, NSDictionary и многие другие типы данных получили свои названия благодаря NeXT (NS = NeXTSTEP).

Компьютеры NeXT стоили примерно как новая машина, поэтому были недоступны большинству людей. Каково это — пользоваться топовой системой в начале 90-х? Давайте создадим свой NeXT, чтобы узнать это!

image-loader.svg

Вам понадобится:

  • Компьютер, на котором можно запустить VirtualBox

  • VirtualBox — загрузите его для своей системы и получите пакет расширений.

  • ISO-образы OPENSTEP и образы дискет, вы можете найти их на http://openstep.bfx.re/

    • Выберите OPENSTEP 4.2 User для Intel, установите диск Floppy Image, Drivers Floppy Image и сетевой драйвер + Patch 4 Bundle.

    • После извлечения zip-файлов floppyimage переименуйте образы из .floppyimage в .img.

  • (опционально) NeXT Keyboard и Mouse, а также USB-адаптер. Вы можете собрать его самостоятельно, следуя инструкциям, или выбрать адаптер NeXT2USB от Drakware.

Настраиваем виртуальную машину

2e927e063edf2e413df2eb9593167e6f.jpeg

К счастью для экспериментаторов, OpenStep был разработан для многих платформ, включая x86, что означает, что мы можем запускать его на виртуальной машине в современной системе x86.

Установите Virtualbox и пакет расширений, затем откройте его и создайте новую виртуальную машину.

  • Дайте название своей виртуальной машине

  • Тип: Other, Other/Unknown

  • Оперативная память: 128 МБ

  • Выберите Create a virtual hard disk now

Нажмите «Создать», и вам будут заданы еще несколько вопросов о жестком диске. Нам нужны эти настройки:

Далее выберите виртуальную машину и нажмите «Параметры». OpenStep довольно старый, поэтому для его работы требуются дополнительные настройки.

Дисплей

  • Видеопамять: 64 МБ

  • Графический контроллер: VMSVGA

  • Не надо ставить ни одного флажка «ускорителей»

Хранилище

e950fb14464d0772bfe996dbf3e9494b.jpeg

Далее нужно добавить контроллер гибких дисков. Да, эта система работала до того, как началась эпоха CD! Она также не знала, что такое USB, его не существовало, когда появился NeXTSTEP.

  • Нажмите кнопку Add New Controller («Добавить новый контроллер») и выберите Add Floppy Controller («Добавить контроллер гибких дисков»).

  • Щелкните диск со знаком плюса рядом с новым контроллером и выберите диск.

  • Нажмите Add, найдите 4.2_Install_Disk.img и добавьте его, затем выберите его в списке и подтвердите выбор, нажав Choose

397340bacdb0295d1493aa4bfb1a3f2f.jpeg

Теперь ваша страница хранилища должна выглядеть так:

d6c74758375bebae44ff538cb426bf6a.jpeg

Пперейдите в Audio и выберите SoundBlaster 16 для Audio Controller.

Если вы хотите изучить сеть, перейдите на вкладку «Сеть» и выберите Attached to: Bridged Adapter. Виртуальная сетевая карта в виртуальной машине будет действовать как настоящая и отображаться как отдельное устройство в вашей сети. Вам также необходимо нажать Advanced и выбрать Тип адаптера: PCnet-PCI II (Am79C970A).

На странице USB стоит снять флажок Включить USB-контроллер, поскольку эта ОС ничего про USB не знает.

Виртуальная машина настроена, давайте установим OpenStep! Нажмите Start, чтобы начать загрузку.

Установка OpenStep

image-loader.svg

Идёт загрузка. Вы можете подождать или нажать Enter.

image-loader.svg

Выберите свой язык и нажмите Enter, чтобы продолжить.

image-loader.svg

Введите 1 и нажмите Enter, чтобы начать установку.

image-loader.svg

Для неё нам понадобятся дополнительные драйверы. Вставляем диск с драйверами.

Сначала вам нужно удалить установочный диск, поэтому перейдите в меню Devices («Устройства»), Floppy Drives («Дисководы») и Remove the disk («Извлеките диск»). Теперь перейдите в то же меню и выберите образ диска, затем найдите 4.2_Custom_Driver_Disk.img.

Теперь, когда у нас есть диск с драйверами, можно нажать Enter, чтобы продолжить.

image-loader.svg

NeXTSTEP изначально поддерживал только устройства SCSI, но наша виртуальная машина использует IDE. Введите 7 и нажмите Enter, чтобы увидеть еще несколько драйверов и найти тот, который нам нужен.

image-loader.svg

Вот оно! #5 — это тот контроллер устройств EIDE и ATAPI, который нам нужен. Введите 5 и нажмите Enter.

Вы снова увидите тот же экран. Мы только что настроили CD-привод, теперь нужно установить драйвер для жесткого диска. Экран вам уже знаком, так что для установки драйвера EIDE введите 7 и нажмите Enter, затем 5 и снова Enter.

Мы закончили с драйверами, поэтому при появлении запроса введите 1, чтобы продолжить установку без дополнительных драйверов. Система загрузится с ядром Mach и продолжит установку.

image-loader.svg

Хорошо, продолжаем!

Установка OpenStep, часть 2

image-loader.svg

Введите 1 и нажмите Enter для установки, затем введите 1, чтобы использовать весь диск для OpenStep.

image-loader.svg

Введите 1, нажмите Enter и подождите, пока он скопирует все необходимые файлы.

image-loader.svg

Извлеките дискету (Devices, Floppy Disk, Remove Disk) и нажмите Enter для перезагрузки.

Система снова попросит у вас диск с драйверами, так что смонтируйте дискету и продолжайте.

Ожидайте, глядя на загрузочный экран OpenStep.

image-loader.svg

Появится несколько предупреждений, требующих вставить диск с драйверами. Мы уже вставили дискету с драйверами, поэтому просто нажмите OK.

Далее мы увидим перечень устройств. Пока не будем ничего менять, потому что нам нужно установить патч, поэтому просто нажмите «Сохранить» и «Все равно сохранить» (Save и Save Anyway).

image-loader.svg

Вы можете снять флажки с языков, которые вам не нужны, но стоит оставить все остальные пакеты, чтобы проверить их. Нажмите «Установить».

Полоса внизу — это ваше дисковое пространство, а не индикатор выполнения, поэтому дождитесь окончания установки. Это займет некоторое время и завершится уведомлением о том, что установка выполнена успешно. Но не спешите перезагружаться!

6d0ceb3ea4c7c1c866a13760c6d10253.jpeg

В Virtualbox есть полезная функция под названием Snapshot, которая позволяет вам в любой момент сделать снимок виртуальной машины, а затем вернуться к нему позже. На этом этапе мы можем сохранить наш прогресс. Чтобы потом, если что-то пойдет не так, вернуться к только что установленной системе, не устанавливая все заново. Вы также можете использовать снапшот для другой виртуальной машины, чтобы создать другую систему OpenStep.

Перейдите в меню машины и сделайте снапшот. Дайте ему имя и нажмите ОК.

Теперь можно нажимать Restart («Перезагрузить»).

Завершение установки и настройка

На заключительном этапе настройки вы можете выбрать язык и раскладку клавиатуры. Для стандартной qwerty-клавиатуры вам понадобится раскладка США. Если вы используете клавиатуру NeXT с адаптером, вам все равно понадобится этот же вариант, потому что адаптер сопоставляет клавиши со стандартными USB-ключами.

Подтвердите свой выбор. Поздравляем, у вас есть система OpenStep!

image-loader.svg

Вы можете получить предупреждение о том, что дискета не читается. В этом случае нажмите кнопку Eject («Извлечь»), а затем «ОК» при следующем появлении предупреждения.

Всё вроде круто, но наш экран крошечный и монохромный. Чтобы стало лучше, установим правильные драйверы.

Но сначала давайте посмотрим, как устроен рабочий стол. Меню находится не вверху, как в macOS и не внизу, как в Windows. Оно слева. Меню может меняться в зависимости от активной программы, сейчас мы находимся в Рабочей области. Иконки справа напоминают Dock в macOS, вы можете добавлять свои любимые программы и запускать их оттуда.

Давайте установим последний патч и запустим нужные драйверы.

Выберите меню «Диск», затем Eject («Извлечь»), чтобы извлечь установочный CD. Меню будет оставаться открытым, пока вы снова не нажмете «Диск».

Теперь перейдите в Devices menu («Устройства») VirtualBox, найдите там optical drives, выберите образ диска и укажите образ ne2k+os42patch4+vmwarefb.iso. Вы должны увидеть CD NEXT_STUFF. На этом этапе можно изменить размер окна просмотровщика файлов, настроив его под себя

image-loader.svg

Нам нужен файл os42machuserpatch.tar, чтобы распаковать его в нашей системе. Нажмите и перетащите его на иконку Me, чтобы скопировать файл в домашнюю папку. Здесь нет диалогового окна копирования, способного показать прогресс. Но в правой части окна появится словоcopying. Оно исчезнет, когда закончится копирование.

Перейдите в папку Me и дважды кликните по файлу os42machuserpatch.tar. Выберите Unarchive («Распаковать»). Индикатора прогресса здесь тоже нет, но он работает. На экране появится файл со знаком вопроса. По завершению распаковки он будет выглядеть, как на картинке ниже, с красивым значком картонной коробки.

image-loader.svg

Теперь можно безопасно закрыть архиватор Archive Inspector (нажмите X в правом верхнем углу).

Теперь пора запустить файл с патчем, но для этого нам нужны привилегии. OpenStep основан на BSD Unix, поэтому у него есть учетные записи пользователей и разрешения, как в современных системе. Чтобы запустить файл как root, мы воспользуемся сервисом OpenSesame. Выберите файл OS42MachUserPatch4.pkg, затем перейдите в меню «Службы», «OpenSesame» и «Открыть как корневой» (Services menu, OpenSesame, затем Open As Root). Система запросит пароль, но мы его еще не установили, поэтому оставьте поле пустым и нажмите Enter.

Теперь вы можете нажать «Установить», чтобы начать установку патча. Нажмите «Продолжить» в окне с предупреждениями.

image-loader.svg

Когда появится сообщение «Установка завершена», вы можете нажать «Выход» слева (или воспользоваться сочетанием клавиш Alt или Option + Q).

Разлогиньтесь, затем выключите питание. Когда появится сообщение о том, что выключение безопасно, перезагрузите машину (меню Virtualbox Machine, Reset).

Как только он загрузится, мы снова получим надоедливое сообщение о дискете, нажмите «Извлечь», а затем «ОК», чтобы перейти дальше.

image-loader.svg

Перейдите в приложение Configure, кликнув по иконке компьютера, а затем открыв папку NextAdmin. Выберите Configure.app и запустите его.

Кликните на монитор, затем выберите VESA VBE 2.0 Display Driver и нажмите Add («Добавить»). В разделе Display Mode («Режим отображения») нажмите Select («Выбрать») и найдите вариант 1024×768 RGB: 888/32. Нажмите ОК.

Нажмите на глобус, выберите драйвер AMD PCNet-32 PCI Ethernet.

Нажмите на динамик и выберите Sound Blaster 16 PnP.

image-loader.svg

Нажмите «Сохранить», а затем «Выйти».

Теперь давайте исправим надоедливое сообщение о дискете. Нажмите «Выйти», затем выключите питание. После безопасного отключения питания перейдите в меню «Файл», «Закрыть» и «Выключите устройство» (File, Close, затем Power off).

Зайдите в Settings («Настройки») виртуальной машины, затем Storage («Хранилище»), кликните по контроллеру гибких дисков («floppy controller») и удалите его. Теперь снова запустите виртуальную машину.

Вас должен встретить ярко-синий стартовый экран с более высоким разрешением. Так намного лучше!

image-loader.svg

Подходящей сети для NeXT не будет, поэтому нажмите Ctrl + C, чтобы стартовать без неё.

Снова перейдите к NextAdmin, затем запустите SimpleNetworkStarter. Выберите Use the network («Использовать сеть»), но не предоставляйте права администратора. Выберите имя хоста и статический IP-адрес в вашей сети.

Вы можете настроить другие параметры в приложении настроек, дважды кликнув по значку часов и календаря в Dock. Вы также можете установить время и дату, он даже поддерживает Y2K!

Мышь, вероятно, будет работать неправильно, если вы не используете оригинальную клавиатуру и мышь NeXT. Мыши PS/2 и USB созданы для больших значений своих движений, чем использовались NeXTSTEP и OpenStep, поэтому они будут казаться очень быстрыми, и вам придется тренироваться, чтобы медленно перемещать курсор.

image-loader.svg

© Habrahabr.ru