Я довольно близко подошел к тому, чтобы Amazon Linux загружался внутри VirtualBox, благодаря этот ответ и эти веб-сайты. Краткий обзор предпринятых мной шагов:
dd
содержимое тома EBS превышает ssh
в локальный файл изображения.grub-legacy-ec2
package, а не grub2).qemu-img
.Теперь виртуальная машина загружается, загружается grub и ядро найдено. Но это не удается, когда он пытается смонтировать корневое устройство:
dracut Warning: No root device "block:/dev/xvda1" found
dracut Warning: Boot has failed. To debug this issue add "rdshell" to the kernel command line.
dracut Warning: Signal caught!
dracut Warning: Boot has failed. To debug this issue add "rdshell" to the kernel command line.
Kernel panic - not syncing: Attempted to kill init!
Pid: 1, comm: init Not tainted 2.6.35.14-107.1.39.amzn1.x86_64 #1
Я пытался изменить /boot/grub/menu.lst
найти корневое устройство по метке и UUID, но ничего не работает. Я предполагаю, что ядро xen несовместимо с VirtualBox.
Причина всех этих усилий заключается в том, чтобы сделать коробку Vagrant максимально приближенной к рабочей среде, чтобы развертывание можно было тестировать локально. Я знаю, что проводить тестовые прогоны на EC2 дешево, но плохое подключение часто портит впечатление. Кроме того, было бы действительно неплохо иметь виртуальную машину с производственной средой, чтобы коллегам не приходилось устанавливать все под солнцем только для того, чтобы приступить к разработке приложений.
Если бы мне пришлось попробовать запустить другое ядро, какое ядро я смогу максимально приблизить к Amazon Linux 2011.09?
Я так много пробовал и сдавался, но в конце концов мне это удалось!
Мне удалось загрузиться с AMI Amazon Linux, портированным под vmware!
Я почти новичок, но я сделал это после нескольких часов испытаний, замена исходного ядра amazon на vmlinuz-2.6.32-38-generic взято из дистрибутива ubuntu 64 10.04.
Я просто получаю много ошибок, потому что конфигурация Amazon внутри AMI ищет что-то во внутреннем адресе, чего, очевидно, не находит. Думаю, это / usr / bin / cloud-init.
Но я могу войти внутрь, и вроде все работает!
Спасибо за вашу помощь!!
Я написал этот Пост в блоге с пошаговыми инструкциями по переходу с AMI на Vmware.
Надеюсь это поможет!
Официальное ядро Amazon заимствовало их в своем дистрибутиве 2011.09, т.е. 2.6.35.14.
Вероятно, вы можете получить исходный код для Amazon с get_reference_source
, но я бы не ожидал, что он будет работать вне Amazon.
Люди в Cloudify поделились, как они создают Vagrant-бокс, готовый к VirtualBox, без доступа к голым железным машинам - они используют AWS.
9 шагов в рай:
Источник: Сообщение в блоге на http://www.developer.com/design/creating-a-reproducible-and-portable-development-environment.html с указанными выше 9 шагами
Код: https://github.com/cloudify-cosmo/cloudify-packager/tree/3.2m4/image-builder