Проблема с облачным изображением Ubuntu 16.04 на VirtualBox
Я пытался использовать образ облака Ubuntu 16.04 xenial-server-cloudimg-amd64-disk1.vmdk [скачанный с https://cloud-images.ubuntu.com/xenial/current/ ] на VirtualBox, но столкнулся с двумя проблемами:
Загрузка ВМ останавливается на неопределенное время после сообщения "... random: неблокирующий пул инициализирован". Тот же образ виртуальной машины на рабочей станции Vmware успешно переходит в "Ubuntu Login".
Так как в облачном образе нет пароля Ubuntu, я попытался передать его с помощью "init = / usr / lib / cloud-init / uncloud-init ds = nocloud ubuntu-pass = ubuntu", как описано в https://help.ubuntu.com/community/UEC/Images/KVMKernelOptions, но, похоже, он не работает, поскольку логин не принимает пароль.
Спасибо за любую помощь по вопросам.
1 ответ
Вместо того, что вы делаете
Поскольку ваш вопрос устарел, это могут быть лучшие способы запуска 16.04 виртуальных машин.
- multipass - действительно легко запускать образы Ubuntu, даже тестируя конфигурацию cloud-init
- uvt-kvm - более ориентированная на разработчиков модель запуска ubuntu
Ответ на ваш вопрос
Поскольку вы спрашивали конкретно о virtualbox, на момент написания статьи я вижу следующие проблемы в вашей текущей процедуре:
- Вам необходимо включить последовательный порт на вашей виртуальной машине. В пользовательском интерфейсе необходимо установить флажок "последовательный порт".
vboxmanage
У Cli также есть способ сделать это. - Я вижу, что вы модифицируете командную строку ядра, но я не знаю, как это сделать в virtualbox, поэтому вместо этого я добавляю.iso с нужной конфигурацией облака после модификации этой процедуры.
Процедура создания виртуального облака
Это изменено из справочной процедуры, но сработало для меня
- Загрузите последний файл 16.04 .vmdk
- Создайте seed.iso с
#cloud-config
(увидеть ниже) - Создать виртуальную машину VM
- диск: укажите на Ubuntu-16.04.vmdk скачать
- cdrom: seed.iso
- включить последовательный порт
- После загрузки я могу войти.
Создание seed.iso
## create user-data file and a iso file with that user-data on it.
$ seed_iso="my-seed.iso"
$ cat > my-user-data <<EOF
#cloud-config
password: passw0rd
chpasswd: { expire: False }
ssh_pwauth: True
EOF
$ cloud-localds "$seed_iso" my-user-data