Перейти к основному контенту

Установка Armbian c grub

Установка Armbian с grub на систему с UEFI возможна на любой тип ностиеля, что избавляет от проблемы прошивки SPI для каждого из типа дисков, и возможные проблемы совместимости с другими дисками. Возможно путь в данном руководстве не самый оптимальный но рабочий.

В случае установки в данном примере понадобится:

  1. SD карточка
  2. образ Armbian
  3. Микрокомпьютер с arm
  4. Установленный целевой диск на микрокомпьютере(в моем случае это NVMe на 256gb)
  5. интернет на миникомпьютере

Подготовка SD карты

загрузить последний образ Armbian на компьютер для своей системы. В данном случае это образ Armbian для Orangepi 5

С помощью BalenaEther или любой удобной утилиты как Rufus или dd(можно и dc3dd, ставится через apt) записать образ на sd карту

Вставить эту карту в миникомпьютер, включить его

Запись образа на диск

Подключиться к операционной системе миникомпьютера. Пройти первоначальный wizard для настройки пользователей и сети

Удобней будет по SSH подключиться к этому миникомпьютеру, и все дальнейшие действия выполнять по SSH

Первым делом на сам миникомпьютер скачать требуемый образ Armbian. В данном случае всегда будет скачиваться последний образ Armbian

Пофиксить проблему с DNS. Разбираться не стал, просто удаляю симлинк /etc/resolv.confrm -rf /etc/resolv.conf и создаю новый с указанием своего DNS например: echo nameserver 192.168.1.1 > /etc/resolv.conf

curl -o armbian_bookworm_minimal.img.xz -L https://dl.armbian.com/orangepi5/Bookworm_vendor_minimal

Установить dc3dd (работает сильно быстрее dd с дефолтными настройками, вероятно сам подбирает размер блока и параметры работы с кэшами)

apt install -y dc3dd

распаковать скачанный образ armbian:

xz -d armbian_bookworm_minimal.img.xz

раcпакованный образ записать на NVMe(полностью диск без разделов) с помощью dc3dd

dc3dd if=armbian_bookworm_minimal.img of=/dev/nvme0n1

Теперь на диске появился раздел /dev/nvme0n1p1. Надо заново записать его в образ(но теперь это будет образ партиции и не всего диска)

dc3dd if=/dev/nvme0n1p1 of=armbian_bookworm_minimal-part.img

Разбить диск с помощью fdisk(fdisk /dev/nvme0n1)

  • 1 раздел - 512mb c типом раздела vfat. Он будет использован для uefi
  • 2 раздел - все остальное, будет использовано для всего остального, в том числе и boot

Отформатировать первый раздел под vfat:

mkfs.vfat -F 32 /dev/nvme0n1p1

На второй раздел записать образ раздела armbian:

dc3dd if=armbian_bookworm_minimal-part.img of=/dev/nvme0n1p2

Настройка Armbian для загрузки Grub

Можно сказать что образ Armbian установлен на диск, но его ещё надо настроить для корректной загрузки из grub Для этого надо сделать chroot в этот диск:

mount /dev/nvme0n1p2 /mnt
mkdir /mnt/EFI
mount /dev/nvme0n1p1 /mnt/EFI
mount -t proc /proc /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
chroot /mnt

Внутри новой системы тоже пофиксить проблему с DNS. Разбираться не стал, просто удаляю симлинк /etc/resolv.confrm -rf /etc/resolv.conf и создаю новый с указанием своего DNS например: echo nameserver 192.168.1.1 > /etc/resolv.conf

установить необходимые пакеты

apt update
apt install -y vim grub2-common grub-efi

Установить GRUB

grub-install --target=arm64-efi --efi-directory=/EFI --boot-directory=/boot --removable

В файле /etc/default/grub привести строку GRUB_CMDLINE_LINUX_DEFAULT к следующему виду:

GRUB_CMDLINE_LINUX_DEFAULT="rootwait rootfstype=ext4"

сохранить файл и создать файл grub:

grub-mkconfig -o /boot/grub/grub.cfg

Так как данная версия grub-mkconfig не поддерживает автоматическое создание devicetree, вписать это в grub самому. для этого открыть /boot/grub/grub.cfg и в нем добавить строку devicetree /boot/dtb/rockchip/rk3588s-orangepi-5.dtb в меню загрузки для orangepi 5, приведя его к виду как на изображении (uuid разделов не менять, добавить только строку с devicetree): Screenshot_2.png

После этого необходимо выйти из chroot и отмонтировать все разделы:

exit
umount /mnt/EFI
umount /mnt/proc
umount /mnt/sys
umount /mnt/dev
umount /mnt
sync

Всё, теперь систему можно перезагружать, обязательно вынув sd карту и она загрузится в новую установленную систему.