
Если я попытаюсь загрузить установочный образ сервера с компакт-диска — записанного непосредственно на компакт-диск, смонтированного в виртуальной машине, например, в оптический привод, или расширенного на USB/SD — все работает отлично.
Если я попытаюсь смонтировать ISO-образ с помощью grub loopback и загрузить ядро и initrd оттуда, многое развалится.
Судя по всему, процесс установки ожидает, что в этом месте будет находиться реальный компакт-диск, /dev/sr0
в который его можно будет смонтировать /cdrom
, после чего все заработает.
Я открыл /boot/initrd.gz
образ ISO, чтобы попытаться понять, где и как он монтирует компакт-диск, чтобы понять, как обойти это ограничение.
Где он его монтирует? И есть ли способ передать параметр ядра через grub - или использовать какой-то другой метод grub - чтобы он работал правильно?
Например, iso для рабочего стола использует загрузчик casper, который поддерживает iso-scan/filename
и делает все правильно. Но не сервер (который, по иронии судьбы, является местом, где меньше всего шансов вставить CD...)