Настройка физического устройства

Сбор физических компонентов

Список протестированных на данный момент устройств поддерживается на странице Справочные платформы.

Всегда обращайтесь к документации выбранной вами платы для получения инструкций по сборке и требований. Как минимум вам понадобятся плата, источник питания и карта microSD.

Сетевое соединение

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

Для дисковых образов Fedora:

  • Wi-Fi Raspberry Pi поддерживается в базовом образе.

Карта SD

Образ Fedora IoT в настоящее время имеет размер 4 ГБ. Лучший класс скорости зависит от использования. Более быстрый класс скорости лучше для записи, но компромисс — более медленная скорость чтения.

Документация для вашей платы также может рекомендовать конкретные варианты карт SD, а также необходимые физические размеры для каждого устройства.

Следующие процедуры перезапишут всё на карте micro SD. Обязательно сделайте резервную копию всех данных перед продолжением!

Создание загрузочной карты SD

Если вы ещё не загрузили образ, сделайте это сейчас и запишите расположение загрузки и имя файла.

Определение имени устройства карты SD

Существует несколько способов определения имени устройства носителя.

  • Выполните команду lsblk до и после вставки карты. Новое устройство, появившееся в списке, — это устройство носителя. Если ваша карта microSD имеет разделы, найдите имя в строке с типом 'disk'. В этом примере имя устройства — mmcblk0, и позже оно будет упоминаться как /dev/mmcblk0:

$ lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
mmcblk0         179:0    0  14.9G  0 disk
├─mmcblk0p1     179:1    0   142M  0 part /run/media/user/22DA-CAE8
├─mmcblk0p2     179:2    0     1G  0 part /run/media/user/8b87a5af-12c7-4990-940e-5b457336b11f
└─mmcblk0p3     179:3    0   2.9G  0 part /run/media/user/cce2e189-9aee-4b3e-b031-aac9bdc632c9
...output omitted...
  • Если у вас установлен пакет udisks2, команда udisksctl может оказаться полезной для определения имени устройства носителя. Она покажет модель и только имя устройства без дополнительной информации о разделах. В этом примере 16-гигабайтная SanDisk Ultra отображается как 'SL16G':

$ udisksctl status
MODEL                     REVISION  SERIAL               DEVICE
  ----------------------------------------------------
SAMSUNG MZSLW1T0HMLH-000L1           S308NAAH501124       nvme0n1
SL16G                               0x51821336           mmcblk0
  • Наконец, сообщения ядра покажут добавление устройства. В окне терминала перед вставкой устройства выполните:

$ dmesg -w

Скриптовая передача образа с помощью arm-image-installer

[arm-image-installer] Установите пакет arm-image-installer:

$ sudo dnf install arm-image-installer

Отобразите справку по использованию утилиты. Это покажет пример команды:

$ sudo arm-image-installer

Usage: arm-image-installer <options>

	--image=IMAGE   - имя xz-сжатого файла образа
	--media=DEVICE  - файл устройства носителя (/dev/[sdX|mmcblkX])
Необязательные
	--addconsole    - Добавить параметр ядра системной консоли для целевого устройства
	--addkey        - /path/to/ssh-public-key
	--args          - Необязательные параметры ядра, указанные в кавычках
	--norootpass	- Удалить пароль root
	--relabel       - Перемаркировать корневую файловую систему SELinux при первой загрузке
	--resizefs      - Изменить размер корневой файловой системы под размер носителя
	--sysrq		- Включить отладку System Request ядра
	--target=TARGET	- целевая плата для uboot
	-y		- Предполагает «да», не будет ждать подтверждения
Справка
	--supported     - Список поддерживаемого оборудования
	--version       - Показать версию и выйти

Пример: arm-image-installer --image=Fedora-Rawhide.xz --target=Bananapi --media=/dev/mmcblk0

Для Raspberry Pi Model 3 B/B+ используйте:

--target=rpi3

Укажите правильный путь к загруженному образу и носителю microSD. Замените XXX на расположение вашего носителя. Это будет sdX или mmcblkX в зависимости от оборудования:

$ sudo arm-image-installer --image=Fedora-IoT-[version].raw.xz --target=rpi3 --media=/dev/XXX

Другие интересные параметры:

  • Параметр --addkey= поместит указанный открытый ssh-ключ в файл /root/authorized_keys (параметр ожидает путь к ключу).

  • Параметр --resizefs расширит раздел /sysroot, чтобы использовать всё оставшееся пространство на карте microSD.

Ручная передача образа с помощью dd

Замените XXX на расположение вашего носителя. Это будет sdX или mmcblkX в зависимости от оборудования.

xzcat Fedora-IoT-[version].raw.xz | sudo dd status=progress bs=4M of=/dev/XXX

Настройка последовательной консоли (необязательно)

Если вы хотите использовать последовательную консоль, вам нужно её настроить. Подробности для Raspberry PI находятся здесь.