Небольшой обзор Эльбрус ОС [x86]

Posted: 2017-03-19 in IT, Software
Метки:

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

За прошедшие годы много чего поменялось — сборки для школ потихоньку развиваются, и там даже появляются новые версии, вышли ROSA и ASTRA (если они окажутся чем-то мне интересны, напишу обзорчик), которые живут своей жизнью на x86, и даже есть видео загрузки компьютера Эльбрус с МЦСТ-шным процессором с этой самой ОС Эльбрус.
Однако этот самый сумрачный компьютер выпускается исключительно для внутренних нужд государства, не совместим с x86/x64 архитектурой (заявленный режим эмуляции x86 есть, но особо не проверялся), документации на него тоже очень не густо, с крупными дистростроителями типа Дебиана / ред-хата / нетбзд сотрудничества особого тоже нет, в открытой продаже его тем более нет, а из-за малых объёмов партий ценник на него выходит зело негуманный.

И чтобы уж коварные западные разведки совсем там от тоски зачахли, разработчики решили портировать туда софт целиком своими силами, неспеша перекомпилируя его под эльбрусовскую архитектуру и героически сражаясь с багами, попутно занимаясь сертификацией сего чудесатого софта в ФСБ и прочих причастных структурах, что существенно затягивает процесс принятия такой системы.

Tux-Russian-Proidemtes

Ну а для теста даже смогли пару лет назад запустить там третий думец, что весьма приличное достижение для столь долгостройной дрыны, как эльбрус.

Однако всё это относится к его родной архитектуре, видеть которую «в железе» мало кому приходилось. Тем интереснее было мне поковырять один крайне занятный установочный образ, содержащий эту самую «Эльбрус-ОС», но под x86-64. Оно вполне себе работает на виртуальной машине, и мне было крайне любопытно её посмотреть.

Итак, образ весом чуть меньше 2.5 Гб, с этой самой магической «ОС Эльбрус» внутри. На сайте разработчика я её не нашёл, возможно, это связано с её состоянием долгой бета-версии и незаконченностью. Наткнулся на неё случайно, разгребая архив старых файлов от одного знакомого инопланетянина =)

Попробуем поставить.
Сразу важная заметка — система ставится целиком и вся, занимает в распакованном виде под 8 Гб, так что сразу делаем размер диска ВМ как минимум 10 Гб.
Первый привет от инсталлятора:

Тут всё тривиально и привычно, посмотрим опции загрузки:

Тоже ничего необычного, запускается ядро и образ initrd, и после буквально пары секунд видим первое окно инсталлятора:

Сам инсталлятор в ASCII-графике, и это хорошо, дебиан и фряха пользуют тот же тип интерфейса. Кто пытался поставить Федору её родным питоновским инсталлятором на системе с малым объёмом памяти, меня поймут. Установка по сети нам не подходит, у меня нет репозитария от неё, так что ставим по умолчанию. При ошибке инсталлятор вываливается в шелл, так что читаем внимательно, что оно нам пишет. Разбиваем диск:

Интерфейс для ручной разбивки ужасен (пачка диалогов вида введите значение — далее, одна ошибка — начинай заново), так что на виртуалке самое простое — отдать системе весь диск на растерзание.
Каталог /boot должен быть обязательно вынесен отдельным разделом, а вот подкачка не обязательна.

Первый раз я выделил слишком мало места (не знал, что ОС ставися ВСЯ и сразу целиком):

И после непродолжительной распаковки:

Инсталлятор выпал:

Сообщив о недостатке свободного места. Возможно, в будущих версиях этот поправят, добавив проверку размера раздела на более раннем этапе. Впрочем, это совершенно не критично.

Я сделал новый диск на 12 Гб вместо 8 и повторив те же шаги, перешёл к настройке сети:

Как и в любом линуксе, тут сеть поднимается тоже легко и без проблем.

Это первый этап установки. После него ребутимся, извлекаем загрузочный диск, и уже загруженный с жесткого диска эльбрус-ос начнёт второй этап инсталляции софта и генерации начальных конфигов.
Несколько минут поскрипев диском, система сразу предложит залогиниться. По умолчанию никакие пользователи не создаются, парольный вход рутом по SSH разрешён. Хотя к 2017-му вроде решили, что по умолчанию в sshd_config вход рутом лучше либо выключить, либо разрешить  только по ключам =) .

 

Что же оказалось внутри ? Чтобы не плодить лишних скриншотов, я сделал доступ по ssh (авторизация на ключах поддерживается) и просто приведу некоторые выводы стандартных команд.

Elbrus ~ # uname -a
Linux Elbrus 2.6.33-elbrus.033.6.61 #1 SMP Thu Nov 19 12:07:06 MSK 2015 x86_64 Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz GenuineIntel GNU/Linux

Ядро 2.6.33 (более старые версии были на 2.6.14, а то и вообще на 2.4-й ветке), но свои задачи это ядро выполняет, а сертификация такого тяжелого софта, как ядра ОС — дело долгое и печальное.

Elbrus ~ # ls /etc | grep release
Elbrus ~ # ls /etc | grep version
mcst_version
Elbrus ~ # cat /etc/mcst_version
release 2.3-rc5

Файл os-release отсутствует.

Elbrus ~ # openssl version
LibreSSL 2.1.7
Системная криптовалка — уже LibreSSL, но старой версии (сейчас актуален 2.4.5 , но сертификация не позволяет так легко менять версии). Возможно, в новых билдах есть версии посвежее,  но я этих билдов пока что не встречал.

Elbrus ~ # openssl ciphers | grep —color GOST
GOST2001-GOST89-GOST89
GOST2012256-GOST89-GOST89
Отечественная криптография на месте.

Elbrus ~ # which gpg
which: no gpg in (/opt/mcst/bin:/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/bin)
А вот второй важнейший компонент отсутствует. Насколько я предполагаю, для непосредственного применения у российских военных есть свои крипто-решения, а процедура обновления самой системы не предусмотрена — установленная система переводится в «remount / ro», заливается чугунием, и используется на ядерной ракете, так что проверять подписи пакетов  им ни к чему =)
А возможно, просто ОС ещё в процессе переноса/сертификации, и эту важнейшую утилиту добавят.

Elbrus ~ # df -h | grep sd
/dev/sda3 9,9G 8,2G 1,2G 88% /
/dev/sda1 1008M 61M 897M 7% /boot
/dev/sda4 12G 159M 12G 2% /export

 

В корне занято 8.2 Гб места. Для свежеустановленной системы это ОЧЕНЬ много, но если вспомнить, что там идёт сразу весь софт, который успели перенести к моменту релиза, цифра становится понятной.

Elbrus ~ # env | grep LC
LC_PAPER=C
LC_ADDRESS=C
LC_MONETARY=ru_RU.KOI8-R
LC_NUMERIC=ru_RU.KOI8-R
LC_TELEPHONE=C
LC_MESSAGES=ru_RU.KOI8-R
LC_IDENTIFICATION=C
LC_COLLATE=ru_RU.KOI8-R
LC_MEASUREMENT=C
LC_CTYPE=ru_RU.KOI8-R
LC_TIME=ru_RU.KOI8-R
LC_NAME=ru_RU.KOI8-R

Для русского текста предлагается использовать безбожно устаревшую однобайтную кодировку KOI-8. Это пиздец, товарищи =) Да, мы помним про старый софт, совместимость, скрипты на перле и документы из Word 3.0, но KOI-8 — это в любом случае вне добра и зла.
Хотя если прописать LANG=ru_RU.UTF8 и запустить тот же миднайт или любую команду с локализованным выводом (df -h) — всё ок, UTF-8  тут присутствует.

Логинимся, пробуем сделать startx и созерцаем twm с пачкой консолей:

Охренев от такого юзер-френдли, правим конфиг:
Elbrus /etc/X11/xinit # mcedit xinitrc
Комментим последние 5 строк, дописываем

xfce4-session

в конец файла xinitrc
И видим нормальное рабочее окружение при startx вместо этого twm-кошмара.

Набор софта мало чем примечателен — GIMP, Abiword, Gnumeric, шеллы и всякий системный софт, который есть почти в любом минималистичном линуксе.
Из занятного — Firefox версии 23, а вот почтовая программа — клон Thunderbird, называемый Lanikai. В комплекте идёт среда разработки — Anjuta с поддержкой C/C++/Java/JS/Python.
Из 8 Гб существенную часть места занимают библиотеки и средства разработки.

Каких-либо намёков на SELinux или подобную систему я не обнаружил.

Итог понятен и ожидаем: пользоваться этим можно разве что в каких-то очень специфических случаях с очень специфическими условиями, типа аппаратной платформы Эльбруса.

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

 

 

Реклама
- комментарии
  1. ты не заметил самого главного, того для чего вообще сделали Эльбрус ОС для x86.
    lcc -v
    Остальное мишура.

  2. Amin:

    Да ну ?

    Мне всегда казалось, что смысл таких проектов — повышение уровня доверия к вычислительной платформе, и версия компилятора — лишь один из шагов во всей этой затее.

    Я, например, при использовании ОС вынужден доверять репозитарию системы и её механизмам обновления, поскольку нет никакой возможности единолично верифицировать все исходники используемого софта. Так что компилятор я использую крайне редко, и версии оных не смотрю.

    Вот что мне интересно в таких системах — это наличие всяких технологий усиленной безопасности (SELinux/AppArmor и прочий MDAC) и отечественная криптография.

    И поскольоку ВМ эту я уже грохнул, то что там в выводе версии столь замечательного ?

  3. Все что ты пишешь может относится к МСВС, РОСА, Заря, Альту или Астра, но не к Эльбрус ОС x86.

    Единственное! зачем оно вообще существует на x86 — это кросс разработка для архитектуры Эльбрус в окружении Эльбрус ОС (без наличия собственно аппаратной платформы Эльбрус)
    Думаю, там кроме кода x86 есть готовый комплект бинарников всех библиотек для архитектуры Эльбрус.

    На сколько я понимаю, Эльбрус ОС сейчас не имеет никакой сертификации (могу ошибаться)

    Для эльбруса нет gcc, так что перенос софта в дистрибутив — это не просто пересборка пакета сертификация — это внесение, иногда существенных, изменений в исходный код (особенно в код ядра и драйверов)

  4. Amin:

    Понял вас, Станислав. Спасибо за полезную инфу, буду знать теперь.