Как настроить облачное изображение в VirtualBox?

Я хотел бы превратить образ диска из облачного образа (бывший образ UEC) в загрузочный VirtualBox (для Vagrant). Я могу запустить образ в kvm (используя https://help.ubuntu.com/community/UEC/Images в качестве начального), но как я могу превратить файл.img в загрузочный диск VirtualBox? Я бы предпочел не использовать дискету в качестве загрузочного.

3 ответа

Решение

Решение действительно состоит в том, чтобы сделать само изображение загрузочным. После нескольких дней поиска в сети я обнаружил, что решение состоит в том, чтобы использовать пакет extlinux, который является производным от syslinux - решения для создания загрузочных дисков FAT. extlinux работает на e2fs и производных, это прекрасно работает на любой старой системе ext2.

mkdir /mnt/image
mount -o loop cloud-image.img /mnt/image
mkdir /mnt/image/extlinux/
extlinux --install /mnt/image/extlinux/
echo "DEFAULT /vmlinuz" > /mnt/image/extlinux/extlinux.conf
echo "APPEND root=/dev/sda init=/usr/lib/cloud-init/uncloud-init" \
     "ubuntu-pass=ubuntu ds=nocloud" >> /mnt/image/extlinux/extlinux.conf
umount /mnt/image

Это сделает образ загрузочным, отключит встроенные методы инициализации облака и так далее.

Примечания: я не разработал, как указать APPEND, который позволяет ему использовать "root=LABEL=cloudimage-rootfs".

Полученный образ можно затем загрузить с использованием qemu, kvm или vmware, без дополнительных дискет, ядер или чего-либо еще. И, насколько я понимаю, обновление apt-get ядра сделает это ядро ​​активным при следующей загрузке.

редактирование: я забыл упомянуть очевидное, что вам нужно выполнить эту петлю монтирования на сырой образ диска, а затем преобразовать полученный файл в VDI, используя vboxmanage convertfromraw cloud-image.img cloud-image.vdi

Возможно, это полезно? http://en.wikibooks.org/wiki/QEMU/Images

Теперь есть изображение в формате Ova, которое работает после импорта в VirtualBox, см. мой длинный поиск ниже. Я так и не разобрался, как загрузить образ в вирт-менеджере, и хотел бы, но extlinux не помог. Он не видит расположение файлов ядра с прямой загрузкой.

Какие разные версии доступны в виде облачных образов Ubuntu?

Другие вопросы по тегам