Я пытаюсь установить Ubuntu на сервер на базе ARM64, который имеет ограниченные возможности ввода-вывода. Вкратце:
- Нет CD-ROM
- Нет сменных носителей
- eMMC, используемый для существующей установки на базе Yocto.
- Множество твердотельных накопителей NVMe (да, это система хранения данных NVMe SSD).
- Интегрированная сетевая карта отсутствует (существуют высокоскоростные сетевые карты PCIe, но для них требуются специальные драйверы).
Один из подходов, который я пробую, — это поместить образ install.iso на один из твердотельных накопителей NVMe (с помощью dd), а затем загрузиться с этого твердотельного накопителя (NVMe поддерживается в прошивке UEFI).
Удивительно, но это работает и открывает мне меню установки GRUB2, где я могу задать консоль (console=ttyAMA1 для меня) и продолжить установку. Однако на этапе "Невозможно смонтировать CD ROM" происходит сбой, поскольку в ядре установщика и initrd отсутствует драйвер NVMe (я предполагаю). Я могу перейти с этого этапа в оболочку ash и не вижу смонтированных /targets и nvme.ko.
Теперь, поскольку установщик поддерживает размещение установки на NVMe SSD, то драйвер NVMe есть в установочном ISO (просто не в памяти на момент сбоя). Кто-нибудь знает, как можно отредактировать установочный ISO, чтобы добавить модуль nvme.ko, и нужны ли какие-либо другие правки, чтобы это заработало?
Если это не поможет, есть ли у кого-нибудь другие подходы? Я мог бы использовать базу Ubuntu и собрать всю rootfs с нуля, установить в нее ядро и перезагрузиться. Но было бы неплохо заставить установщик работать так же, как он работает с USB-накопителями, SD-картами и другими блочными устройствами...
Ваше здоровье
Стивен