Для модернизации некоторых старых встраиваемых ПК (Intel, x86) я хотел бы установить настроенный образ Debian с минимально возможным взаимодействием с пользователем.
Обычно я создаю установку Debian, настраиваю её (устанавливаю пакеты, файлы конфигурации и т.д.), затем удаляю всю конфигурацию, специфичную для устройства (ключи SSH Host и т.д.), создаю файл образа и прошиваю этот образ на целевой жёсткий диск.
Но для моего нового случая использования я хочу автоматизировать процесс прошивки: Создать загрузочный USB-накопитель с живой системой. Как только USB загрузится, он выполнит несколько проверок, а затем использует dd
для переноса образа на жесткий диск. Затем ОС ждет, пока USB-накопитель будет извлечен, и перезагружает ПК.
Является ли это лучшей практикой для установки Linux без головы? Есть ли лучшие альтернативные подходы?
Сигнализировать пользователю о ходе установки (когда нужно извлечь USB-накопитель и т.д.) можно с помощью довольно заметных светодиодных индикаторов состояния на передней панели устройства.
Обычный подход - предварительное заполнение установщика Debian, что позволяет вам ответить на любые вопросы, которые обычно задает установщик, и выбрать дополнительные пакеты для установки.
Если у вас есть специальные файлы конфигурации, вы также можете поместить их в пакеты.
Большим преимуществом перед dd является то, что этот метод генерирует разные UUID для жестких дисков на каждой машине, что кажется несущественным, пока у вас не будет двух дисков с одинаковым UUID в одном ящике.
Это также поможет вам правильно установить загрузчик, который вам придется взломать самостоятельно с помощью метода dd, и вы можете использовать стандартные образы установщика Debian.