Я перепробовал все, что только мог придумать, но, должно быть, я что-то упускаю.
Я использую настройку PXE, которая извлекает все данные с веб-сервера для установки 16.04.
Файл «по умолчанию» содержит:
LABEL Ubuntu 16.04 Desktop
MENU LABEL Xenial 16.04 Desktop
KERNEL 1604/ubuntu-installer/amd64/linux
append vga=normal ks=http://192.168.1.251/ks-1604-64-desktop.cfg initrd=1604/ubuntu-installer/amd64/initrd.gz biosdevname=0 hostname=desktop
Ядро, указанное там, загружено через TFTP и является зеркалом rsync образа "сетевой установки" с веб-сайта Ubuntu. И этот образ, и сам установочный iso-образ были получены сегодня.
Мой файл Kickstart включает в себя:
preseed --owner d-i live-installer/net-image string http://192.168.1.251/ubuntu-1604.amd64/install/filesystem.squashfs
Но когда установщик достигает точки, где он захватывает filesystem.squashfs, он останавливается и записывает в системный журнал следующее:
base-installer: info: Downloading /cdromhttp://192.168.1.251/ubuntu-1604.amd64/install/filesystem.squashfs to /tmp/live-installer/filesystem.squashfs
Что, конечно, не срабатывает, потому что URL не должен начинаться с "/cdrom". Я могу сказать, что он считывает путь к squashfs из строки preseed, но у меня нет слова "cdrom" ни в одном из моих файлов конфигурации.
Я также попробовал добавить путь как опцию добавления, что отлично работает для моих установок 14.04, например:
append vga=normal ks=http://192.168.1.251/ks-1404-64-desktop.cfg initrd=ubuntu-installer/amd64/initrd.gz live-installer/net-image=http://192.168.1.251/ubuntu.1404.amd64/install/filesystem.squashfs biosdevname=0 hostname=desktop
Есть идеи, как переопределить добавление /cdrom для 16.04?
решение1
Я нашел обходной путь. Отредактировать файл fetch-url, обрезать строку /cdrom в переменной url. Затем перепаковать initrd, все выглядит нормально. Я только что проверил. Это круто. Спасибо Mengda за расследование вместе со мной.