Я встречал здесь похожие вопросы, но они, похоже, не отвечают на вопрос, вместо этого я предпочитаю графические установки или установки на основе PXE (и с небольшими подробностями о последнем для моего варианта использования).
Я хочу создать виртуальную машину в Ubuntu 12.04 с ISO-файлом сервера Ubuntu 12.04 и выполнить виртуальную установку локально, используя консольный (неграфический) интерфейс. Поскольку вам не разрешено указывать "--extra-args" при использовании ISO, мои возможности явно ограничены в получении стандартной текстовой консоли.
Я успешно начал установку с использованием PXE из удаленного репозитория (см. Примечание в конце этого сообщения), но я бы предпочел сделать это полностью локально, без графических и сетевых накладных расходов. Поскольку я устанавливаю с сервера ISO, казалось бы, он идеально подходит для выполнения только текстовой установки. (Что, если ваш единственный вариант - это последовательный интерфейс для коробки?)
Если PXE неизбежен, как это проще всего сделать на месте? Можно ли избежать установки веб-сервера исключительно для этого, чтобы получить доступ к нескольким локальным файлам?
Кроме того, чем будет отличаться система, если я построю ее с PXE, как обычный ISO? Будут ли они неразличимы, или установка на основе PXE добавляет или удаляет что-то из обычной установки?
Пример того, что не работает:
sudo virt-install --name ubuntu1204os --ram 1024 --arch x86_64 --vcpus 1 \
--os-type=linux --os-variant=virtio26 --file=/myvms/ubuntu1204os.img \
--file-size=4 --graphics none --accelerate --hvm --network bridge:virbr0 \
--cdrom=/myvms/media/ubuntu-12.04-server-amd64.iso
Вывод:
Starting install...
Creating storage file ubuntu1204os.img | 4.0 GB 00:00
Creating domain... | 0 B 00:00
Connected to domain ubuntu1204os
Escape character is ^]
<console hangs here>
Для справки, вместо параметра --cdrom я могу использовать следующие параметры для выполнения установки PXE, но здесь главное - делать все это локально, в идеале только с ISO - если это невозможно.
--location http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-amd64/ \
--extra-args='console=tty0 console=ttyS0,115200n8'
Изменить: на самом деле установка PXE тоже зависает но не раньше, чем задать несколько вопросов, связанных с установкой (например, тип клавиатуры и т. д., через псевдографический текстовый интерфейс). Кажется, что он зависает после того, как получает (по умолчанию) имя используемого архива и начинает загрузку файлов выпуска. Мысли?
Я думаю, вам не хватает опции --graphics, чтобы указать ему использовать VNC. Затем вы управляете им с помощью любого бесплатного клиента VNC / удаленного рабочего стола даже с нетбука. Вот как я это сделал:
virt-install --name=ubuntu-vm --os-variant=ubuntuquantal --ram=2048 --vcpus=2 \
--cdrom=/public/software/linux/iso/ubuntu-12.10-desktop-amd64.iso \
--disk path=/srv/vm/ubuntu.img,size=16 \
--network model=virtio \
--graphics vnc,listen=192.168.0.99,port=5906
0,99 - это мой IP-адрес сервера - используйте свой по мере необходимости и любой iso / путь, который вы хотите для cdrom. Я тоже изучаю PXE, но в этом нет необходимости.
Не начинайте с обычного установщика - начните с мини или альтернативный установщик - оба устанавливают только cli / curses.
Это ядро AME как в серверной, так и в настольной версиях с 12.04. Альтернативная установка общий для обоих вариантов и должны иметь необходимые вам базовые пакеты.
Изменить это
sudo virt-install --name ubuntu1204os --ram 1024 --arch x86_64 --vcpus 1 \
--os-type=linux --os-variant=virtio26 --file=/myvms/ubuntu1204os.img \
--file-size=4 --graphics none --accelerate --hvm --network bridge:virbr0 \
--cdrom=/myvms/media/ubuntu-12.04-server-amd64.iso
К
sudo virt-install \
--name ubuntu1204os \
--ram 1024 \
--arch x86_64 \
--vcpus 1 \
--os-type=linux \
--os-variant=virtio26 \
--file=/myvms/ubuntu1204os.img \
--file-size=4 \
--graphics none \
--accelerate \
--hvm \
--network bridge:virbr0 \
**--location** /myvms/media/ubuntu-12.04-server-amd64.iso \
**--extra-args='console=tty0 console=ttyS0,115200n8'**
Location работает с файлами ISO, позволяя использовать --extra-args