Как стать автором
Обновить
0
Байкал Электроникс
Российский разработчик процессоров на MIPS, ARM

Как запустить Arch Linux на Baikal-M

Время на прочтение5 мин
Количество просмотров9.6K

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

Можно установить на него свою любимую операционную систему. Astra Linux, Alt Linux или Debian, конечно же, меня устраивают, но так приятно окунуться в привычный комфорт самой дружелюбной и лояльной к своим пользователям ОС. В общем, перед соблазном поставить любимый Arch Linux на Baikal-M просто невозможно устоять.

Установка по шагам

Вообще, поддержка Arch Linux для Baikal-M нигде не заявлена, но нас это почему-то не остановило. А все дело в том, что процессы установки практически любой ОС концептуально не различаются. Мы с вами просто достаточно хорошо понимаем, что он собой представляет, поэтому готовы установить много чего много куда. Если, конечно, мы имеем определенное представление о том, что такое загрузчик ОС, с которым нам предстоит иметь дело, и у нас есть ядро ОС, которое готово работать с нашим устройством.

Так что, прочитав эту статью, вы научитесь устанавливать на Baikal не только Arch Linux, но и практически любую ОС. Все, что понадобится сделать — это найти bootstrap-образ интересующей вас системы. Его, если не удастся скачать с официального сайта, можно извлечь из .ISO-образа операционной системы, в виде которых они сейчас чаще всего и распространяются.

Разметка диска

Перейдем к самой установке. Начнем с того, что разметим диск.

Нам понадобятся как минимум /boot (для UEFI) и корневой разделы (/). Я предлагаю этим не ограничиваться и также создать swap-раздел и выделить специальную область на диске под домашнюю директорию, чтобы, например, иметь возможность переустановить систему с сохранением личных данных, да и не только. Способов разметки диска много: можно использовать для этого или сам Baikal (но какая-то ОС на нем уже должна быть установлена), или любую другую рабочую станцию, как на Linux, так и на Windows, где у вас есть права администратора.

Под Linux для этого существует уйма программ, но можно отдельно отметить Gparted - софт вполне интуитивный и простой в применении даже для тех, кто пользуется им впервые. Форматируем диск и начинаем работу с ним. Первый раздел (должен быть первым на диске в буквальном смысле), который необходим UEFI, должен быть отформатирован как fat32 (этого хочет EDK II), а что касается размера — возьмем с запасом, 512 МБ. В самой системе этот раздел можно даже не монтировать, но если вы планируете с ним работать, я предлагаю его монтировать как /boot.

Дальше можем разместить раздел подкачки — swap. Что касается размера — «думайте сами, решайте сами». Но следует иметь в виду, что у Baikal-М 8 ядер, поэтому их одновременная загрузка различными процессами (например, ресурсозатратной сборкой какого-нибудь проекта из исходников) может использовать МНОГО памяти. Поэтому, если ее у вас на самом деле мало, раздел подкачки может пригодиться. Кстати, универсальный совет: если вы столкнулись с ситуацией, когда при компиляции какого-то проекта вам не хватает памяти, иногда лучшим решением может оказаться параллельная сборка на меньшем количестве ядер.

В итоге такая умеренная сборка без использования swap-раздела может оказаться быстрее, чем сборка на большем количестве ядер, но со swap'ом.

Затем я предлагаю разместить корневой раздел. Какого он должен быть размера, решать вам, а все оставшееся пространство оставим для домашней директории. Вообще, ядро Linux для Baikal-М, являющееся частью SDK от компании «Байкал Электроникс», умеет работать со множеством файловых систем, но меня вполне устраивает EXT4.

Установка образа системы на диск

Теперь отправляемся по адресу archlinuxarm.org, переходим в раздел загрузок и скачиваем bootstrap-образ системы. Нас интересует ARMv8 AArch64 Multi-platform.

На момент написания статьи этот образ перестал быть минималистичным и теперь весит целых 615 МБ. При этом содержит кучу того, что большинству людей, скорее всего, вовсе не понадобится. Например, там теперь лежит оконный менеджер i3.
Мне i3 нравится, но немного удручает тот факт, что кто-то уже за меня подумал и решил установить его мне на рабочую станцию, хотя я бы с этим прекрасно сам справился, если бы он мне был нужен.

Монтируем получившийся диск в нашей системе как /mnt, /mnt/boot и /mnt/home соответственно и распаковываем туда архив с помощью команды:

$ tar xzf ArchLinuxARM-aarch64-latest.tar.gz -C /mnt

Файлы из дирректории /mnt/boot нам не пригодятся, можем их почистить командой

$ rm -rf /mnt/boot/*

Теперь отредактируем файл /mnt/etc/fstab. Думаю, все уже знают, что делать. Те, кому лень гуглить, что там к чему, могут посмотреть справку:

$ man 5 fstab

В моем случае его содержимое должно выглядеть так:

# <file system> <dir> <type> <options> <dump> <pass>
/dev/sda1     /boot     vfat   defaults   0   1
/dev/sda2    none      swap   sw         0    0
/dev/sda3     /         ext4   defaults   0   1
/dev/sda4     /home     ext4   defaults   0   1

Подготовка BIOS

В качестве загрузчика (в просторечии— BIOS’a) системы выступает tianokore EDK II, «открытая» имплементация интерфейса UEFI. Теперь нам пригодится кое-что из содержимого SDK, которое упоминалось выше. Открываем новую вкладку браузера, вбиваем в адресную строку baikalelectronics.ru, щелкаем на раздел «Продукты», выбираем Baikal-M и ищем внизу страницы ссылку на SDK для Baikal.
Выберем, например, последний — Software development kit (SDK) v5.3. И еще нас интересует скрипт baikal-arm64-5.3-20210924.run.
Скачиваем его, сохраняем куда следует и делаем исполняемым, например, так:

$ chmod +x baikal-arm64-5.3-20210924.run

И запускаем:

$ ./baikal-arm64-5.3-20210924.run

В распакованной директории ./baikal/prebuilts/ ищем интересующее нас ядро. В моем случае это mbm10.Image. Копируем его в /mnt/boot.

Желающие могут также собрать это ядро из исходников, которые тоже являются частью распакованного архива. Сделать это проще всего с помощью скриптов из директории ./baikal/tools/

А вот сейчас будет сложно и непонятно.
В самом простом случае, если EDK II не знает, что ему делать, он ищет на первом разделе текстовый файл с именем startup.nsh и выполняет имеющиеся в нем инструкции. Там можно прописать много всего, но я предлагаю только минимум, необходимый для запуска системы:

mbm10.Image root=/dev/sda3 rw

Сохраняем. Все готово к запуску.

Первый старт

В принципе, все готово. Подсоединим диск к плате, оказавшейся в нашем распоряжении, и нажмем на кнопку включения. Пароли пользователей совпадают с их именами. Разработчики дистрибутива из проекта archlinuxarm заботливо создали для нас дополнительного пользователя alarm, но я предлагаю залогиниться как root, чтобы чувствовать себя увереннее.

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

# pacman-key --init
# pacman-key --populate archlinuxarm

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

# pacman -Sy plasma kde-applications sddm chromium telegram-desktop
# systemctl enable sddm

А теперь перезагрузим компьютер.

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

Заключение

Вот и все. В результате несложных действий мы установили одну из самых популярных операционных систем в мире на компьютер с отечественным процессором Baikal-M. Следуя этому алгоритму, на Baikal-M можно установить практически любой Linux, в том числе те, для которых нет официальной поддержки, как в случае с Arch Linux Arm. Заодно мы вспомнили, что для установки системы нужно:

  • разметить диск;

  • расположить на нем файлы, необходимые для работы системы;

  • добавить ядро ОС, которое способно работать с нашим устройством;

  • подготовить загрузчик (BIOS) к работе с ОС.

Надеюсь, что многим данная статья окажется полезна.

Теги:
Хабы:
+13
Комментарии33

Публикации

Информация

Сайт
www.baikalelectronics.ru
Дата регистрации
Численность
101–200 человек
Местоположение
Россия

Истории