Установка Red OS на одноплатный компьютер Repka Pi 4 Optimal

Сразу пишите образ через dd, никакого Balena Etcher. Подключаете карту к хосту с Linux, смотрите в lsblk, не ошибаетесь, выбираете нужное устройство – и жмёте.

dd if=Red_OS_image.iso of=/dev/sdX bs=4M status=progress conv=fsync

Если карта загружается и не вываливается в emergency shell – уже успех. Но не радуйтесь раньше времени. ARM-платформа капризна. Особенно здесь. Файл uEnv.txt правится вручную, если не тянется GPU или отваливается Wi-Fi. Иногда нужно подсовывать собственный dtb.

Внимание! Не доверяйте автоматам. Ручная проверка загрузчика и ядра обязательна.

Дальше – консоль. Нет графики? Отлично. Входите через tty1, логин root, пароль стандартный. Сразу правим /etc/hostname и /etc/hosts, иначе сеть по DHCP будет отваливаться на уровне Avahi.

Обновление системы – строго после проверки наличия нужных зеркал. Не используйте dnf update без --refresh, иначе получите конфликты на glibc.

dnf clean all && dnf --refresh upgrade -y

Рекомендуется прописать статический адрес через nmcli, чтобы не зависеть от роутера. Пример:

nmcli con mod eth0 ipv4.addresses 192.168.1.100/24
nmcli con mod eth0 ipv4.gateway 192.168.1.1
nmcli con mod eth0 ipv4.method manual
nmcli con up eth0

Важно помнить: Автоматическая настройка через NetworkManager работает нестабильно на некоторых ревизиях платы. Лучше руками.

Если всё сделано точно – получите стабильную работу. Если нет – консоль молчит, светодиоды моргают как хотят, и придётся отпаивать GPIO для отладки UART. Проблема реальная.

Маска безопасности SELinux по умолчанию – permissive. Не забудьте включить enforcing после полной настройки, иначе получите неожиданные пробои в сервисах.

Подготовка microSD-карты с образом Red OS

Не используйте графические утилиты. Ни GNOME Disks, ни Etcher, ни тем более какие-нибудь web-флешеры. Только dd, только контроль на каждом этапе.

  1. Скачивайте чистый ISO с официального FTP или через rsync. Не через браузер. Проверяйте SHA256.
  2. Подключаете карту. lsblk сразу, чтобы не угробить диск с домашкой.
  3. Стираете всё подчистую, включая таблицу разделов:
wipefs -a /dev/sdX
sgdisk --zap-all /dev/sdX

Затем записываете образ. Без status=progress – будете гадать, зависло или нет. Без conv=fsync – получите неконсистентные данные.

dd if=имя_образа.iso of=/dev/sdX bs=4M status=progress conv=fsync

Обязательно выполняете sync и только потом вытаскиваете носитель. Никаких «просто подождал пару секунд» – sync или смерть.

Читайте также:  Создание и удаление маршрутов в Linux

Проверка записи – cmp или sha256sum /dev/sdX на первых 512 МБ. Если отличается – карту в мусор. Или используйте для фотоаппарата.

  • SD-карта минимум UHS-I, класс 10. Лучше A1 или A2. Kingston Canvas Go! или SanDisk Extreme.
  • Формат exFAT не подходит. Образ содержит собственную таблицу. Не форматируйте вручную.
  • Переходники microSD → USB – лотерея. Берите USB 3.0 с чипами Realtek или Genesys Logic.

Важно: После записи не монтируйте карту в графической среде. Случайный запуск автомаунта – возможная порча разделов.

Если загрузка не стартует – начинайте с проверки сигнатур MBR и наличия bootcode.bin. Отсутствует – ошибка при записи, повторяйте.

Рабочий образ не требует распаковки. Архивы не трогайте. Если видите tar.gz – это не то, что нужно.

Конкретно на этой модели платы часто встречаются проблемы с чтением в первых 4 секундах после подачи питания. Внимание к питанию и качеству контактов критично.

Помните: microSD здесь не просто носитель. Это корень всей системы. Любая мелочь – и всё пойдёт по наклонной.

Настройка BIOS и загрузка Repka Pi 4 с карты памяти

Забудьте про привычный BIOS. Здесь прошивка UEFI на базе Tianocore, урезанная до минимума. Навигация – клавиши F2, Esc, стрелки. Никакой мыши. Всё вручную. Либо – консоль через UART, если экран не подаёт признаков жизни.

Первое: отключите Secure Boot. Он не нужен. Проверка подписей работает через раз. В разделе Boot Manager проверьте порядок устройств – карта должна быть на первом месте. Если USB выше – получите чёрный экран.

Проверьте загрузчик. Должен быть BOOTAA64.EFI в директории /EFI/BOOT. Если файла нет – копируйте вручную с образа или создавайте:

cp /mnt/iso/EFI/BOOT/BOOTAA64.EFI /mnt/sdcard/EFI/BOOT/

Если файл есть, но загрузка не идёт – проблема в FAT-разделе. Должен быть только один, размеченный как ESP, метка BOOT или SYSTEM. Не BOOTFS, не rootfs. Метка важна.

Читайте также:  Собрать видеофайл из набора jpeg-картинок в Linux

Далее – переменные среды. Через встроенную оболочку запускайте:

bcfg boot add 0 FS0:\EFI\BOOT\BOOTAA64.EFI "MicroSD Boot"

Если плата уходит в PXE или зависает – сбрасывайте переменные через оболочку:

reset -s

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

Важно помнить: Некоторые сборки UEFI не видят карту без активного GPIO-сигнала. Подключайте питание к правильной паре контактов. Иначе не сработает даже загрузка.

Если UEFI не запускается – проверяйте наличие startup.nsh. Иногда требуется вручную прописать путь к ядру через скрипт автозагрузки:

FS0:\vmlinuz root=/dev/mmcblk0p2 rw console=ttyAMA0,115200

Медленная карта = медленный старт. До 15 секунд на инициализацию. Не паникуйте. Светодиоды не мигают? Плохая прошивка или битая таблица разделов.

Проверка питания – обязательна. Нестабильные 5.0 В вызывают сброс UEFI в ранней стадии. Используйте блоки питания на 3А с чистой линией. Без этого система не стартует.

Если всё сделано правильно – после 5–10 секунд вы должны увидеть Shell или текстовое меню UEFI. Если нет – пересобирайте карту и сверяйте каждую директорию вручную. Ошибка может быть в названии файла или неправильной кодировке таблицы.

Первоначальная настройка системы через терминал

После запуска получите чистый tty без лишнего шума. Вход под root. Пароль стандартный, но менять его сразу – ошибка. Сначала настройка сети. Потом остальное.

Проверка видимости файловых систем:

lsblk -f

Если корень монтирован как read-only – срочная проверка fstab. Сброшенные UUID, сломанная таблица – классика. Правка вручную. Без редакторов. Используйте sed или echo с перенаправлением.

Внимание! Не трогайте /etc/crypttab, если не используете LUKS. Иначе получите зависание на initramfs.

Создайте обычного пользователя с правами sudo. Но не добавляйте в wheel – в данной сборке это не работает из коробки.

useradd -m -G adm,audio,video -s /bin/bash techadmin
passwd techadmin

Выставляйте hostname сразу, без промедлений. Иначе получите неконсистентность журналов и сетевого разрешения имён.

echo "node-rp4" > /etc/hostname
sed -i 's/localhost/node-rp4/g' /etc/hosts

Отключите предзагрузку сервисов, которые не используются:

systemctl disable cups
systemctl disable bluetooth
systemctl mask plymouth-start.service

Разгрузка памяти начинается с ядра. Правьте grub.cfg или cmdline.txt, в зависимости от сборки. Добавьте:

console=ttyAMA0,115200 quiet selinux=1 enforcing=1 audit=0

Проверьте правильность локали. Слишком часто система стартует с en_US.UTF-8 и отваливается при установке пакетов с русскими комментариями.

localectl set-locale LANG=ru_RU.UTF-8

Настройка времени – строго через timedatectl. Не пытайтесь вручную писать в /etc/localtime. Симлинк слетит после первого обновления.

timedatectl set-timezone Europe/Moscow
timedatectl set-ntp true

Помните: В этой системе активна SELinux. Любые правки в системных директориях – только с учетом контекстов. Иначе получите отказы при старте служб.

Проверьте статус безопасности:

getenforce

Если ответ Permissive – переключайтесь:

setenforce 1
sed -i 's/SELINUX=permissive/SELINUX=enforcing/' /etc/selinux/config

На этом базовый уровень конфигурации завершён. Все последующие действия зависят от задач. Но без этого минимума вы далеко не уедете.

Читайте также:  Как просмотреть или изменить ACL в файлах Linux

Подключение к сети и обновление репозиториев

Не используйте графические менеджеры. Только терминал. Только nmcli.

Проверка устройств:

nmcli device status

Если интерфейс в состоянии unavailable – сбой прошивки или отсутствие драйвера. Проверка модулей ядра:

lsmod | grep brcm
modprobe brcmfmac

Для Ethernet:

nmcli con add type ethernet ifname eth0 con-name lan

Для Wi-Fi с WPA2:

nmcli dev wifi connect 'Имя_сети' password 'Пароль'

Без кавычек получите ошибку парсинга. С кавычками – защита от пробелов в SSID. Проверка IP:

ip a

Если адреса нет – смотрим журнал:

journalctl -u NetworkManager

Важно: Иногда DNS не подхватывается. Добавьте вручную:

nmcli con mod lan ipv4.dns "1.1.1.1 8.8.8.8"
nmcli con up lan

Теперь обновление. Но сначала – синхронизация времени. Без неё TLS рвётся. Проверка:

timedatectl status

Если NTP неактивен:

timedatectl set-ntp true

Очистка метаданных и перезагрузка кэша:

dnf clean all
dnf --refresh upgrade -y

Если получаете Cannot download repomd.xml – проверка DNS, маршрут до зеркала и состояние GPG-подписей. Диагностика:

ping ya.ru
dig mirrors.red-soft.ru
dnf repolist -v

Помните: Не редактируйте /etc/yum.repos.d вручную без крайней необходимости. Сломаете подписи – система откажется обновляться.

Проверка актуальности пакетов:

dnf check-update

Обновление ядра вручную – если нужно протестировать новое или откатить:

dnf install kernel-core kernel-modules

Обновили – перезагрузка обязательна. Без неё модульная несовместимость. В логах получите Invalid module format.

Проверка версии:

uname -r

Если совпадает с установленной – всё готово. Система в онлайне. Обновления загружены. Драйверы активны. Работать можно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *