Привет! Меня зовут Владимир Карагиоз, я технический лидер по развитию гибридных облачных решений в Cloud.ru. Мне кажется, с точки зрения ИТ наше десятилетие очень похоже на 90-е: и тогда, и сейчас «вход» и «выход» из десятилетия отличаются радикально. Тогда главными темами были интернет, Java, «Unix на каждую машину» и ощущение, что мир вот-вот изменится навсегда. Сейчас — ИИ, облака и то же самое ощущение.
В этой статье мы попытаемся поймать технологический дух 90-х: запустить одну из систем, на которых работала добрая часть тогдашнего интернета и половина корпоративного мира.
30-летнее железо, паяльник, дым канифоли и слезы ностальгии. Погнали!

Sun Microsystems: рождение легенды
Hello World
Если вы когда-нибудь писали на языке Java содержимое файла HelloWorld.java, чтобы ворваться в ИТ, или, например, монтировали удаленный сетевой файловый ресурс по протоколу NFS, то вы уже соприкасались с наследием Sun Microsystems. Хотя, возможно, и не подозревали об этом.
Компания Sun Microsystems была основана в 1982 году четырьмя выпускниками Стэнфордского (Stanford University) и Калифорнийского университета в Беркли (UC Berkeley): Скоттом МакНили, Винодом Хослой, Энди Бехтольшаймом и Биллом Джоем. Ее название — акроним от Stanford University Network. Скромно, да.
Винод стал президентом, Скотт — директором по производству, а Энди — вице-президентом по технологиям. К ним также присоединился Билл Джой, доктор наук из UC Berkeley, известный своей разработкой операционной системы Unix. Билл отвечал за создание программного обеспечения для рабочей станции Sun.
Много лет спустя, в апреле 2000 года, Джой опубликует в Wired знаковую статью Why the Future Doesn't Need Us («Почему будущее не нуждается в нас»). В ней он предупреждает об опасности самовоспроизводящихся робототехники, генной инженерии и нанотехнологий, которые могут выйти из-под контроля и сделать человечество ненужным. Он сравнивал риск с атомной бомбой и призывал ученых сознательно ограничить опасные исследования. Статья вызвала острые дебаты: одни увидели пророческое предупреждение, другие — неоправданный страх. Хотя Джой почти не упомянул ИИ, его тезис о том, что технологии развиваются быстрее контроля, обрел новую остроту в эпоху генеративного ИИ 2020-х, и в 2023 году эксперты призвали перечитать статью именно в этом контексте.
Компания сразу же добилась успеха на университетском рынке и за первые два квартала работы получила 8 млн $ выручки. А в конце 1982 года венчурный фонд Kleiner Perkins инвестировал в нее 1,7 млн $, убедившись в перспективности рынка и мощи команды. Идеальная история успеха технологического предпринимательства.
Первая машина Sun — это буквально дипломный проект Энди Бехтольшайма. Он собрал рабочую станцию для нужд Стэнфорда на базе Motorola 68000 (8 МГц) и назвал ее Sun Workstation. Пока никакого SPARC, никакого Solaris, просто добротный ванильный UNIX на недорогом процессоре.

Sun-2 и Sun-3: взросление
Серии Sun-2 (1983) и Sun-3 (1985) продолжали развивать ту же архитектуру. Использовалась та же серия процессоров Motorola 68010/68020, но уже с нормальной поддержкой виртуальной памяти, более быстрой шиной VME и растущей линейкой периферии. Это были громоздкие угловатые корпуса, которые не слышали слова «дизайн», зато их начинка выдавала вычислительную мощность, нужную инженерам-проектировщикам и ученым.
Sun-4: SPARC приходит в мир
В 1987 году вышла серия машин Sun-4. Sun отказалась от Motorola и перешла на собственную SPARC-архитектуру RISC, разработанную совместно с UC Berkeley.
SPARCstation: икона эпохи
В апреле 1989 года Sun выпустила SPARCstation 1. На этот раз инженеры Sun озаботились дизайном (всего 8 миль до Купертино, сильная аура Стива достигла города Санта-Клара, где располагалась штаб-квартира Sun Microsytems).
Корпус машины высотой всего 7,5 см прозвали pizza box (коробка от пиццы), и название стало настолько удачным, что весь форм-фактор в индустрии стали называть именно так. Внутри работал собственный SPARC-процессор на 20 МГц, спроектированный по архитектуре RISC совместно с UC Berkeley. Для 1989 года это была бодрая рабочая лошадка: 10 MIPS, до 64 МБ RAM, Solaris на борту.
Из искры возгорелось пламя: SPARCstation 2 в 1990 году удвоила частоту до 40 МГц. Параллельно появились lunchbox-модели IPX и IPC — компактные ланч-боксы для тех, кому pizza box казалась слишком большой (да-да, на Reddit есть люди, которые признавались, что им больше нравятся ланчбоксы).
В 1994 году вышла SPARCstation 5, самая массовая рабочая станция в линейке: 100 000 единиц продано за первые 9 месяцев и больше 400 000 за все время производства — это был настоящий хит. В практической части статьи мы будем говорить именно о SPARCstation 5.
Ultra: SPARC взрослеет
В 1995–1996 годах Sun сделала ставку на 64-битную архитектуру UltraSPARC и выпустила серию машин-преемников SPARCstation: Ultra 1, 2, 5, 10.
В 90-х Sun был не просто железом, вокруг него возникла философия: открытые стандарты, мощные UNIX-системы, надежная ОС Solaris и культовый слоган The Network is the Computer («Сеть — это компьютер»).
В 1995 году Sun выпускает Java, и это меняет индустрию. Принцип Write once, run anywhere («Напиши однажды, запускай везде») звучал как магия, ведь можно было собрать код один раз и запускать его на любой из платформ, для которой существовала среда исполнения Java.
На технологиях Java поднялся корпоративный бэкенд целого поколения. Если в 90-х балом правила архитектура приложений клиент-сервер (помните: Oracle Forms, Sybase PowerBuilder и, конечно, Borland Delphi?), то язык Java стал катализатором перехода к трехзвенной архитектуре. Не то, чтобы концепция была до этого момента неизвестна, но так уж совпало, что появился универсальный клиент в виде браузера, язык Java и J2EE (Java 2 Platform, Enterprise Edition) — платформа и набор спецификаций от Sun Microsystems для разработки корпоративных многоуровневых приложений на Java. Но это тема для отдельной статьи.
А вы знали, что Java — это название острова и сорта кофе? И, кстати, престижный в СССР чешский мотоцикл (Jawa). Если у тебя был мотоцикл «Ява», то шансы познакомиться и прокатить на нем красотку были гораздо выше, чем у владельцев «Ижа» или «Минска». «Ява» (и «Чезет» — CZ) были статусными, стоили под 1 000 руб. при з/п инженера 120 и автоматически делали владельцев модными и привлекательными ))
2000-е: точка в dotcom
Вскоре пришли 2000-е. Dotcom-пузырь лопнул, акции компании рухнули с 64 $ до 3 $. После краха дот-комов рекламный слоган Sun «We put the dot in dotcom» звучал иронично.
Sun продолжала делать крутые вещи: явила миру ZFS, DTrace, сделала свободный вариант ОС OpenSolaris, но монетизировать open source так и не научилась. А оборудование на процессорах Intel и AMD давно уже доросло до тяжелых нагрузок.
В 2010 году Oracle поглотила Sun за 7,4 млрд $. Скотт МакНили ушел раньше, в 2006 году, CEO Sun с 2006 по 2010 годы был Джонатан Шварц, который, как утверждают многочисленные хейтеры, и «проспал полимеры», вместо бизнеса занимаясь развитием своего блога на 11 языках. OpenSolaris закрыли, часть команды разбежалась по другим проектам — так появились LibreOffice и MariaDB. А Java, SPARC и Solaris продолжили свою капиталистическую жизнь под крылом большой красной корпорации Oracle.
Почему я снова захотел поставить себе на стол SPARCstation
В моей жизни было три машины SPARCstation 5, и каждая оставила свой след.
Первой я не владел, но хорошо ее помню: она стояла в Вычислительном центре МЭИ, где я подрабатывал во время учебы. За ней работал мой одногруппник, он участвовал в проекте обмена исследовательскими работами между институтами и НИИ. Под проект использовался Lotus Domino 5.0, Solaris 7, традиционные юниксовые сервисы и даже ICQ под Solaris. В конце 90-х на рабочих станциях Sun можно было и работать, и общаться с друзьями.
Вторую SPARCstation 5 мне подарили в 2000 году, когда я устроился в «Протек Флагшип». Это была dev- и stage-машина для разработки биллинговой системы для сотовых операторов.
Стоит сказать пару слов о компании: в конце 90-х «Протек Флагшип» был настоящим российским хайтеком мирового уровня. Компания активно продавала биллинговые системы операторам на постсоветском пространстве и половине земного шара. Через нее прошло немало людей, которые позже стали ключевыми фигурами в российском телекоме. Я горжусь, что мне довелось там поработать.
Тот экземпляр SPARCstation 5, впрочем, долго не прожил: батарейка в чипе NVRAM села, типичная болезнь Sun тех лет, и я обменял машину на другую технику.

Третью машину в конце 2025 года мне передал Игорь Смирнов, мой друг и коллега, для доукомплектования и запуска. Он взял с меня обещание описать этот опыт в статье для Хабра. Вот держу слово, Игорь.
В 1997 Игорь стал первым специалистом на территории бывшего СССР, сертифицированным NPA (Network Professional Association) как Certified Network Professional. Если интересно, вот интервью с Игорем «Конверсия личного масштаба».
Зачем вообще это затевать? Во-первых, хочется почувствовать дух настоящего Unix: не эмулятора, не виртуалки, а железа, которое этот Unix родило. Во-вторых, весь интернет 90-х в значительной части работал на Sun: веб-серверы, DNS, почта крутились на Solaris. Запустить такую машину сегодня — значит прикоснуться к этой инфраструктуре руками. Ну и в-третьих, вайб конца 20-го века. Для меня эти машины и есть дух того времени. Первый выход в интернет в 1996-м, странные самодельные сайты на Geocities и Tripod, поиск через AltaVista, первые чаты. Огромная часть этого интернета стояла на Sun. Вот и весь ответ на вопрос «зачем» .
SPARCstation 5: Aurora в руках
Корпус

SPARCstation 5 с кодовым названием Aurora выполнена в том-самом пицца-бокс корпусе, который она делила со SPARCstation 4 и SPARCstation 20. Характерная черта шасси — это фиолетовые треугольные ножки по краям корпуса. Высота около 9 см соответствует примерно двум юнитам.
Размеры корпуса в сантиметрах некруглые:
ширина около 43 см, это 17 дюймов;
глубина примерно 37 см, это 14,5 дюйма;
высота 9 см — это эквивалент 3,5 дюймов;
вес пицца-бокса по ощущениям примерно 6–7 килограмм.

В левой части находится логотип Sun, справа — название модели со стильной молнией в букве «А». Она отсылает к слову «spark» (искра, разряд), именно так первоначально называлась внутренняя разработка Sun в 1985–1986 годах еще до того, как архитектура получила официальное имя SPARC.

Я потратил много времени, пытаясь найти SCSI CD-ROM на онлайн-барахолках, пока не понял, что овчинка не стоит выделки. Во-первых, цена некоторых экземпляров доходит до 15 000 рублей за плексторы в хорошем состоянии. Plextor был технологическим лидером в сегменте высококачественных и высокоскоростных SCSI-приводов в 1990-е годы. Оказалось, что торговцы ретротехникой прекрасно это помнят и поэтому не снижают цены. Во-вторых, в корпусе SPARCstation стоял slim SCSI-привод, что делало поиск еще более сложным. Памятуя о том, что поставить ОС можно и по сети, я прекратил поиски CD-ROM.


Пройдемся по коннекторам, нижний ряд слева направо:
SCSI-коннектор для подключения внешних дисков, сканеров, стримеров и т.д.;
два одинаковых коннектора: тот, что выше — это параллельный порт, а тот, что ниже — AUI Ethernet. AUI Ethernet это физический интерфейс, который служил для подключения сетевой карты к внешнему трансиверу. Идея была в разделении логики сетевой карты и физической среды передачи. Один и тот же сетевой адаптер с портом AUI можно было подключить к разным средам: толстому коаксиалу (10Base5), тонкому коаксиалу (10Base2), витой паре (10Base-T);
далее идет классический разъем Ethernet для витой пары. Большое спасибо, что он здесь есть, я не знаю, где бы я искал трансивер для AUI;
дальше два 25-пиновых серийных порта A и B;
круглое гнездо — разъем клавиатуры. Нет, это не PS/2. Sun в те времена использовал свой разъем для клавиатуры и мыши;
и замыкает ряд блок аудиоразъемов: выход на наушники, линейный вход и линейных выход, разъем для микрофона.
Первый взгляд внутрь
С внешним видом разобрались. Теперь снимаем крышку, она сдвигается назад после откручивания винтов (ок, одного винта, потому что второй штатный винт за эти 30 лет потерялся). По отзывам пользователей, SPARCstation 5 — типичный пицца-бокс: все внутри плотно, все на виду и никакой кустарщины.

Процессор

Сердце машины — чип microSPARC II, изготовленный, судя по маркировке и поиску в интернете, компанией Fujitsu по заказу Sun (маркировка Fujitsu — MB86905). На оранжевой наклейке «-70A» означает частоту 70 МГц (существовала также версия 85A), а код 9442, вероятно, означает дату производства: 42-я неделя 1994 года.
Архитектура SPARC: v8, 32 бита, интегрированный FPU, кеш команд 16 КБ, кеш данных 8 КБ. По нынешним меркам — это велосипед, но в середине 90-х этого без боли хватало для X11, CAD, да и после появления среды Java он вполне справлялся с ней в первые годы.
Память

SPARCstation 5 использует модули памяти типа DSIMM (Dynamic Single In-Line Memory Modules). Это специальные DIMM с поддержкой паритета, емкостью 8 или 32 МБ на слот (всего 8 слотов, максимум 256 МБ). Модули заполняются индивидуально — это значит, что не нужно искать пары планок для апгрейда в отличие от машин более поздней серии Ultra. Игорь мне передал машину с одной планкой на 32 МБ. Каким-то чудом мне удалось найти еще одну планку, итого у меня в машине установлено 64 МБ памяти.
Много ли это было или мало? По отзывам современников, для 1994 года 32–64 МБ было вполне достаточно. Для конца 90-х, наверное, уже и частоты, и объема памяти было маловато. Для сравнения, у моего первого ПК, собранного в 1997 году, было 16 МБ памяти, и их местами было маловато для комфортной работы.
Видеокарта


На фото верх и низ видеокарты S24 24-Bit Color Frame Buffer. Карта имеет разъем AFX — это специализированная шина, которая позволяла графическому адаптеру работать напрямую с системной памятью на высокой скорости. Можно сказать, это прообраз разъема AGP для ПК. Карта поддерживает разрешение до 1152 x 900 пикселей и полноценный 24-битный цвет (True Color).
Ниже на фото видны разъемы SBUS и более плотный разъем AFX.


Видеокарты для Sun почему-то принято было называть фрэймбуфферами. Sun в 1994 году, видимо, не знала, что такое монитор с разъемом VGA, поэтому использовала собственный разъем видеосигнала DB-13W3 — это 13-пиновый разъем с тремя толстыми коаксиальными центрами для RGB.
Чтобы подключить обычный VGA-монитор, нужен переходник DB-13W3 на HD-15 (VGA). Такие адаптеры все еще продаются на китайском маркетплейсе, также при желании можно купить разъемы по отдельности и спаять переходник самостоятельно.
Я купил переходник на AliExpress за 1250 рублей. Если вам он тоже понадобится, будьте осторожны: у рабочих станций IBM, например IBM RS/6000 7012-320, или SGI тоже применялись такие разъемы, но с другой распиновкой. Продавцы на такие глубокие вопросы, для какой конкретно платформы предназначен переходник, не отвечают.
Диски

Оригинального жесткого диска в машине не было, видимо потому, что организация, которая была предыдущим владельцем, щепетильно относилась к коммерческой тайне и извлекла из машины жесткие диски. CD-ROM тоже попал под раздачу.
Я начал охотиться за старыми дисками на известной сетевой барахолке, но без особого успеха. Удалось купить два диска IBM, у которых совпадал коннектор, но емкость (12 ГБ) была выше, чем максимальная емкость, которую может переварить дисковая подсистема машины, а по разным источникам это 4–5 ГБ.
Пару лет назад я услышал об эмуляторах флоппи-дисков и жестких дисков IDE и SCSI, которые подключаются вместо старого устройства, а образ диска хранят на SD или CF-карте. Вовремя вспомнил и нашел эмулятор BlueSCSI2 на вышеупомянутой большой сетевой барахолке.

UPD: Игорь вдогонку снабдил меня SCSI-диском на 200 МБ. Его не хватит для запуска Solaris 2.5-2.7, который я ранее запланировал поставить, но, кажется, можно будет поставить более ранний SunOS 4.1 — последний релиз из линейки, основанной на BSD UNIX. Судя по документации версии 4.1, он мог работать на SPARCstation 1, надеюсь, что и с пятеркой заведется. Но мы пока пойдем по ветке установки современных релизов 2.5–2.7.
BlueSCSI v2 — это open source плата на базе микроконтроллера Raspberry Pi RP2040, в разъем которой вставляется SCSI-шлейф. В отличие от первой редакции платы, которая эмулировала только один диск, BlueSCSI2 может притворяться одновременно несколькими устройствами, подключенными к одной SCSI-шине. Очень удобно: машина увидит одновременно и нужное количество жестких дисков, и один или несколько CD-ROM.
Образы дисков, файлы с расширением hda хранятся на обычной microSD-карте, а параметры дисков описываются в файле bluescsi.ini, который располагается там же на карте. Никаких шпинделей и шума, никакого страха за клин подшипников диска (если-таки его удалось его найти).
Подключается кабелем SCSI-50 напрямую к внутреннему SCSI-контроллеру SS5. Важный нюанс для тех, кто не имел дело с SCSI: контроллер требует терминации на конце шины. То есть на одной шине могут последовательно висеть одно или несколько устройств, при этом последнее устройство должно терминироваться — это либо положение перемычки на жестком диске, либо для внешних устройств, подключаемых, например, по кабелю Centronics. В случае эмуляторов на них просто выставляется нужная перемычка.

Забегая вперед, моя машина долго не хотела определять эмулируемые диски. Я брал ванильный файл bluescsi.ini, перебирал опции, связался с продавцом платы, который припомнил, что у него был покупатель из Дагестана, который покупал BlueSCSI2 именно для эмуляции дисков в SPARCstation. Я связался с тем человеком, он поделился своим конфигом и попутно я узнал, что серверы до сих пор трудятся для поддержки подвижной радиосвязи TETRA!
Оказалось, что чип NVRAM, который я вынимал и вставлял обратно, был недостаточно глубоко вставлен в гнездо, и машина его просто не видела!
Чип NVRAM

В Sun SPARCstation 5 чип NVRAM играет ключевую роль в работе системы. Он хранит уникальный hostid машины и заводской Ethernet‑адрес, которые использовались, в том числе, для лицензирования программного обеспечения. Мы же, конце концов, говорим о проприетарной платформе, на которой крутился проприетарный дорогостоящий софт.
В NVRAM также записаны параметры загрузки, в частности, устройство, с которого машина запускается, а также часть конфигурационных переменных, похожих на современные переменные загрузчика. SPARCstation NVRAM содержит встроенные часы реального времени (RTC) и поддерживается отдельной батарейкой. Проблема cевшей батарейки в NVRAM стала актуальной уже в 90-е годы: в библиотеке Максима Мошкова приведена одна из первых версий FAQ по модулями Sun NVRAM авторства Марка Хендерсона от 1996 года.
Кроме конфигурационных данных и часов, NVRAM в SPARCstation 5 тесно связана с работой среды загрузки OpenBoot. При старте машина читает из NVRAM параметры загрузки, а также настройки диагностики, например, какие тесты RAM и других подсистем выполнять при включении. Именно поэтому, когда NVRAM портится или сбрасывается, SPARCstation 5 может начать зависать в Post‑самотестировании, спрашивать параметры загрузки или вообще не определять дисковые устройства, а часы машины уходят в 1970 год.
Проблема в том, что батарейка-таблетка впаяна прямо внутрь герметичного пластикового корпуса вместе с генератором тактовых импульсов и самой памятью. Производитель рассчитывал на 10 лет службы. Нашим машинам уже за 30.
Сначала я купил за 470 рублей на AliExpress аналогичный чип M48T18 и после того, как он пришел, убедился, что там тоже севшая батарейка. Видимо китайцы просто распродают старые партии чипов без оглядки на то, что там внутри есть какие-то батарейки.
Вторая попытка решить проблему — народный метод. Срезаем боковую часть корпуса дремелем или надфилем, добираемся до контактов внутренней батарейки типоразмера CR2032 и подпаиваем к ней новую батарейку. Я предпочел заранее купить контейнер для батарейки 2032 с проводами, которые можно припаять в нужное место и выключателем.




Готовый результат: NVRAM с новой батарейкой CR2032 на проводах, замотанной скотчем (простите за маникюр). Нельзя назвать победой инженерной мысли, но работает. Вставляем чип обратно в гнездо на плате. Теперь можно запрограммировать MAC-адрес и Host ID через OpenBoot.
Терминальный доступ
Машина мне досталась без клавиатуры, мыши и переходника для монитора. Для того, чтобы общаться с ней, предусмотрен режим терминального доступа, в который машина переходит сама, когда обнаруживает, что к ней не подключена клавиатура.
У машины два 25-пиновых COM-порта. Для подключения к SPARCstation 5 по COM‑порту в Linux обычно используют программу minicom. После установки (sudo apt install minicom на Debian‑подобных системах, sudo dnf install minicom на Fedora/RHEL и т.п.) ее запускают в режиме настройки: sudo minicom -s:
В меню выбирают пункт «Настройка последовательного порта».
Указывают нужный порт, обычно /dev/ttyS0 для классического COM или /dev/ttyUSB0 при использовании USB‑to‑serial‑адаптера.
Выставляют параметры под Sun: скорость 9600 бод, 8 бит данных, без четности, 1 стоп‑бит (8N1).
Сохраняют настройки по умолчанию.
Выходят в главное меню и запускают соединение, после чего в терминале minicom можно наблюдать загрузку своего подопечного и работать с OpenBoot‑консолью. После установки minicom обычно запускают с правами root или через sudo, чтобы был доступ к порту /dev/ttyS0 или /dev/ttyUSB0.

Первоначально я планировал подключиться через адаптер USB-COM9 плюс переходник DB9-DB25, но не тут-то было: USB-адаптер выдавал наползающие друг на друга буквы. Пришлось искать аппарат с железным COM-портом. Сначала я достал со шкафа древний сервер Fujitsu Primergy RX100 S1, на котором стоит CentOS 3, но работать пришлось в наушниках из-за шума вентиляторов. Потом я решил проверить, нет ли в моем уже немолодом десктопе Dell Optiplex 9020MT COM-порта, и, ура, он там был! После запуска minicom и включения SPARCstation на черном экране появилась надпись SPARCstation 5!

Программирование NVRAM
После включения SPARCstation 5 пользователь получает доступ к OpenBoot, встроенной микропрограмме, хранящейся в постоянной памяти системы. Эта среда предназначена для управления аппаратным обеспечением на низком уровне и обеспечивает выполнение функций диагностики оборудования, включая проверку состояния компонентов системы. OpenBoot позволяет сделать выбор источника загрузки: жесткий диск, сетевой ресурс или оптический носитель, и восстановить работоспособность системы в случае сбоев до запуска основной операционной системы.
OpenBoot обеспечивает работу с энергонезависимой памятью NVRAM, в которой хранятся конфигурационные параметры системы и позволяет их изменять, чем мы далее и займемся.
Для управления параметрами в NVRAM доступны специализированные команды, например:
setenv, позволяет изменять значения переменных, например, указывать путь к загрузочному образу операционной системы;
printenv, отображает текущие настройки, сохраненные в NVRAM;
reset-all, сбрасывает все параметры к заводским значениям.
Кроме того, OpenBoot включает в себя встроенный интерпретатор языка программирования Forth, что позволяет создавать скрипты для автоматизации диагностических процедур и выполнять сложные операции по изменению конфигурации NVRAM на уровне аппаратного обеспечения.
У более свежего железа, например у серверов Sun Fire, между OpenBoot и операционной системой располагается слой удаленного управления ALOM (Advanced Lights Out Management). АLOM предоставляет возможности мониторинга, управления питанием и доступа к консоли, но работает отдельно от OpenBoot. ALOM позволяет подключаться к серверу через сеть или последовательный порт, перезагружать его, следить за состоянием железа и даже получать доступ к OpenBoot, но сам OpenBoot остается основной средой для низкоуровневой настройки и загрузки.

Наклейка на NVRAM чипе Sun Microsystems содержит штрихкод и шестизначный hex-код вроде 719BA9, который обозначает последние три байта Ethernet MAC-адреса и hostid.
Для машин семейства SPARCstation (5, 10, 20) и Ultra по этому коду можно воссоздать MAC-адрес и hostid. Первые три байта MAC всегда 08:0:20, а для hostid первый байт зависит от типа системы (для SPARCstation 5 это 0x80).
Код 719BA9 интерпретируется как байты 71:9B:A9.
Таким образом, мы получим MAC-адрес 08:0:20:71:9B:A9 (последние три байта из наклейки) и Hostid 809BA971.
Далее мы можем использовать команду mkp OpenBoot для записи байтов в NVRAM по соответствующим смещениям.
Сначала подготовка:
ok set-defaults ok setenv diag-switch? false ok .idprom
Set-defaults сбрасывает все переменные NVRAM OpenBoot в заводские значения по умолчанию, включая boot-device, auto-boot? и параметры диагностики — это очищает пользовательские настройки, но не трогает IDPROM.
Setenv diag-switch? false отключает автоматический запуск диагностики POST при каждой загрузке — POST будет работать только при power-on reset или принудительно — это ускоряет загрузку.
.idprom показывает текущее содержимое IDPROM в читаемом виде: формат, тип машины, Ethernet MAC, дату производства, серийный номер (hostid), checksum.
Далее вводим команды по байтам. Команды для MAC-адреса 08:0:20:71:9B:A9 и Host ID 80719BA9:
1 0 mkp \ format 01 80 1 mkp \ тип SS5 (80) 08 2 mkp \ Ethernet[0] 00 3 mkp \ Ethernet[1] 20 4 mkp \ Ethernet[2] 71 5 mkp \ Ethernet[3] 9B 6 mkp \ Ethernet[4] A9 7 mkp \ Ethernet[5] 80 8 mkp \ дата (тип 80) 00 9 mkp \ дата производства, можно вставить нули 00 a mkp \ дата 00 b mkp \ дата 71 c mkp \ Host ID[2] 9B d mkp \ Host ID[3] A9 e mkp \ Host ID[4]
Пересчитываем контрольную сумму:
0 f 0 do i idprom@ xor loop f mkp
И проверяем состояние памяти:

Вуаля! Значения сохранены, перегружаем машину.
Однако она пытается загрузиться по сети через netboot: ищет RARP/DHCP-сервер для IP/MAC, затем TFTP-сервер с boot-файлом.

Через команду minicom Ctrl A-F мы шлем машине сигнал Stop-A, чтобы прекратить бесплодные попытки загрузиться по сети. Далее редактируем файл bluescsi-ini для того, чтобы у машины, наконец, появились HDD и CD-ROM… Через два дня возвращаемся к машине...
Выкладываю грязный файл bluescsi.ini с одним жестким диском и тремя виртуальными CD-ROM с инсталляторами ОС Solaris 2.6, Oracle EE8 и текстового редактора Corel WordPerfect for UNIX.
cat bluescsi.ini [SCSI] # Settings that apply to all SCSI ids # Select a system preset to apply default settings # Known systems: "Generic", "MacPlus", "MegaSTE" System="Generic" #Debug = 0 # Same effect as DIPSW2, enables verbose log messages SelectionDelay = 255 # Millisecond delay after selection, 255 = automatic, 0 = no delay PhyMode = 0 # 0: Best available 1: PIO 2: DMA_TIMER 3: GREENPAK_PIO 4: GREENPAK_DMA Dir = "/" # Optionally look for image files in subdirectory #Dir2 = "/images" # Multiple directories can be specified Dir1...Dir9 DisableStatusLED 0 # 0: Use status LED, 1: Disable status LED # Settings that can be needed for compatibility with some hosts Quirks = 0 # 0: Standard, 1: Apple, 2: OMTI, 4: Xebec, 8: VMS EnableUnitAttention = 0 # Post UNIT_ATTENTION status on power-on or SD card hotplug EnableSCSI2 = 1 # Enable faster speeds of SCSI2 EnableParity=1 # Sun контроллеры ОБЯЗАТЕЛЬНО требуют четность EnableUnitAttention=1 #Debug=1 #EnableSelLatch = 0 # For Philips P2000C and other devices that release SEL signal before BSY #EnableParity = 1 # Enable parity checks on platforms that support it (RP2040) #MapLunsToIDs = 0 # For Philips P2000C simulate multiple LUNs #MaxSyncSpeed = 10 # Set to 5 or 10 to enable synchronous SCSI mode, 0 to disable # ROM settings DisableROMDrive = 1 # Disable the ROM drive if it has been loaded to flash #ROMDriveSCSIID = 7 # Override ROM drive's SCSI ID [SCSI3] #Image = "/HD0_512.hda" Type = 0 # Fixed Disk BlockSize = 512 TerminatorEnable = 1 # Важно, эмулируем наличие терминатора в SCSI-цепочке! # Settings that can be specified either per-device or for all devices. Vendor = "QUANTUM" Product = "FIREBALL1" Version = "1.0" Serial = "0123456789ABCDEF" Type = 0 # 0: Fixed, 1: Removable, 2: Optical, 3: Floppy, 4: Mag-optical, 5: Tape #TypeModifier = 0 # Affects only INQUIRY response #SectorsPerTrack = 63 #HeadsPerCylinder = 255 #RightAlignStrings = 0 # Right-align SCSI vendor / product strings, defaults on if Quirks = 1 #PrefetchBytes = 8192 # Maximum number of bytes to prefetch after a read request, 0 to disable #ReinsertCDOnInquiry = 1 # Reinsert any ejected CD-ROM image on Inquiry command, 1 to enable # Settings can be overridden for individual devices. #[SCSI2] #Product = "Disk with ID2" #[SCSI5] #Product = "CD-ROM Drive" #Type = 2 # If IMG0..IMG9 are specified, they are cycled after each CD eject command. #IMG0 = FirstCD.iso #IMG1 = SecondCD.iso # Raw sector range from SD card can be passed through # Format is RAW:first_sector:last_sector where sector numbers can be decimal or hex. # If end sector is beyond end of SD card, it will be adjusted automatically. # [SCSI4] # IMG0 = RAW:0x00000000:0xFFFFFFFF # Whole SD card [SCSI6] Type=2 # CD Vendor="TOSHIBA" Product="XM-4101TASUNSLCD" BlockSize=512 [SCSI5] Type=2 # CD Vendor="TOSHIBA" Product="XM-4101TASUNSLCD" BlockSize=512 [SCSI4] Type=2 # CD Vendor="TOSHIBA" Product="XM-4101TASUNSLCD" BlockSize=512
Содержимое SD-карты:
bluescsi.ini HD3_512.hda CD4_COREL_WPUNIX_1.iso CD5_Oracle8iEE.Solaris26.iso CD6_Sol26.598InstallationSparc.iso
После каждого запуска машины с адаптером BluesSCSI на SD-карте обновляется файл log.txt для диагностики ошибок. Если машина сразу не подхватывает диски, стоит также обратить внимание на мигание светодиодов на плате. Например, если на плате RPi Pico мигает светодиод 5 раз, это означает, что не получается прочесть карту. На сайте BlueSCSI есть страница, посвященная траблшутингу, которая может сэкономить время при поиске причин проблем.
Почему загрузочный диск с Solaris имеет номер 6?
В SPARCstation 5 стандартная заводская конфигурация SCSI ID — SCSI ID 3 - загрузочный жесткий диск (нижний слот), SCSI ID 6 — CD-ROM drive.

Спойлер следующей части
Подведем промежуточный итог. Мы получили машину с мертвым NVRAM и оживили его: вскрыли чип, заменили, припаяли на проводах батарейку и вставили обратно. Запрограммировали MAC-адрес и Host ID через OpenBoot. Нашли «железный» COM-порт в старом десктопе Dell и подключились к нему из программы minicom. Подключили BlueSCSI2 для эмуляции SCSI-дисков, долго бились с конфигом, пока не пришла помощь из Дагестана.
WIN: машина видит эмулируемые диски и загружается с виртуального CD-ROM с инсталлятором операционной системы. В следующей части будем ставить Solaris и делать его уютным.
Команда boot cdrom запустит инсталлятор с диска, и мы, попивая ароматный кофе (теперь вы знаете, что чашка с кофе на логотипе Java это неспроста), будем устанавливать операционную систему Solaris 2.6.


To be continued…
Комментарии (17)

easimonenko
28.05.2026 09:00Статья крутая. Спасибо! Интересно было бы почитать про установку и запуск на нём NetBSD или другой свободной системы.

htop Автор
28.05.2026 09:00Спасибо! Да, я планирую поставить или NetBSD или менее требовательный к ресурсам SunOS 4.1 на упомянутый в статье диск Maxtor вместо эмулятора BlueSCSI, чтобы система на 100% состояла из старого железа.

unreal_undead2
28.05.2026 09:00Интересно было бы посмотреть на интерфейс NeWS в SunOS. Хотя и в солярке 2.2 было ещё оно, по идее тоже должно взлететь - и там можно ещё с тредами поиграться, Sun был одним из пионеров, тогда ещё была схема M:N.

htop Автор
28.05.2026 09:00Надеюсь, что в ближайшее время доберусь и до NeWS.
В 2.6 доступны CDE и OpenWindows.
Последний прямо очень уж архаичный; CDE же когда-то вызвал у меня оторопь, но по прошествии нескольких лет, в особенности после наблюдения за прогрессом среды GNOME, я начинаю испытывать симпатию к CDE))


unreal_undead2
28.05.2026 09:00Когда поднимал Линукс дома в первый раз (это где-то 1996/7), поигрался с разными wm, доступными в слаквари, и остановился на olvwm, эстетически понравился. По сути этот тот же OpenWindows, частично ушедший в open source, а он в свою очередь реализует под X11 look&feel оригинального NeWS. При этом исходники тулкита (xview) тоже были доступны - но как то основная линуксовая масса их не оценила, стороннего софта на нём не видел. И живая солярка тоже нигде не попадалась.
Xfce изначально копировал внешний вид CDE, потом перешёл на более привычный сейчас вид с горизонтальной панелькой сверху (но в любом случае удобнее, чем современные GNOME/KDE).

MaFrance351
28.05.2026 09:00Интересно!

Лежат в щедрых закромах Родины парочка таких артефактов. Но, увы, остального железа пока неа, искать его тоже не готов.
Он хранит уникальный hostid машины и заводской Ethernet‑адрес, которые использовались, в том числе, для лицензирования программного обеспечения. Мы же, конце концов, говорим о проприетарной платформе, на которой крутился проприетарный дорогостоящий софт.
Странное довольно решение. Получается, при отказе этого чипа весь лицензионный софт на ПК отлетал?

htop Автор
28.05.2026 09:00Нет, при замене чипа на новый туда можно внести старые Hostid и Ethernet-адрес. это я как раз описал в этой части текста:
Далее вводим команды по байтам. Команды для MAC-адреса 08:0:20:71:9B:A9 и Host ID 80719BA9:
1 0 mkp \ format 01 80 1 mkp \ тип SS5 (80) 08 2 mkp \ Ethernet[0] 00 3 mkp \ Ethernet[1] ....Для того, чтобы пользователь задумался об этом после замены чипа, OpenBoot ругается на неправильную контрольную сумму в NVRAM (NVRAM checksum error)/

htop Автор
28.05.2026 09:00Похоже, Ваши процессоры от старших моделей линейки Fire, типа v490 / v890.
V890, кстати, размером с тумбочку или небольшой шкаф и весит от 88 (пустой) до 127 килограмм (полный фарш)).

TheOldGrouch
28.05.2026 09:00Прикладная некромантия, всё как мы любим.
PowerBuilder был интересным комбайном (довелось поработать на 6.5), но ровно до момента, когда подтянулись конкуренты в виде C#, кмк.

htop Автор
28.05.2026 09:00Да-да, все верно! В ВЦ МЭИ, была большая группа разработчиков, которая освоила PowerBuilder году в 95м и успешно на нем писала года до 2000-2001. PowerBuilder хорошо подходил для проектов вроде автоматизации учетной деятельности. Ребята, например, сделали решение для приемных комиссий ВУЗов и успешно его внедрили в нескольких институтах. Но в начале нулевых было принято решение переходить на рельсы C#.
В "Протеке" же архитекторы решили пойти по "открытому" пути, и перешли на Java со всеми "взрослыми обвесами" того времени - Enterprise Java Beans, "фасады" для представления единой точки доступа к подсистемам, "адаптеры" для интеграции с внешними системами и тонны XML-а - для описания бинов EJB, политик и и XSLT для генерации страниз из XML.
Кстати, для проектов небольшого размера с не очень интенсивной работой с БД очень хорошо себя показывал Sybase SQL Anywhere (его еще называли "Маленьким Сайбейсом", а Sybase ASE был "большим")

NutsUnderline
28.05.2026 09:00отказалась от Motorola и перешла на собственную SPARC-архитектуру RISC, разработанную совместно с
для введения это ОК, но вообще ка кто здорово. ладно разработала, так еще и чипы как то изготовила и все это в недлинные сроки? Хороший такой, показательный пример выходит ;)

NutsUnderline
28.05.2026 09:00USB-адаптер выдавал наползающие друг на друга буквы
странно уменя такой же переходник и буквы не наезждают :) Тут конечно может быть много разных чудес, и времянки сложные для доп. сигналов, и не состыковка по амплитудам напряжений, и драйвера косячные но чтобы буквы наезжали.. в общем руки чешуться достать осцил
tutova_tut
Ааааа, оно живое! Спасибо за статью. Правда мои олдскулы теперь так свело, что у меня только один вопрос: на этом можно поиграть в "Поле чудес"?
htop Автор
Нет, но под старый Solaris была сборка SimCity (помимо вездесущего Doom) - спасибо за идею с играми, надо его скачать и поставить!