Благодаря этому ответу и этим веб-сайтам я подошел к тому, чтобы заставить Amazon Linux загружаться внутри VirtualBox . Краткий обзор шагов, которые я предпринял:
- Запустите экземпляр EC2 с 64-битным AMI Amazon Linux 2011.09
dd
содержимое тома EBSssh
в локальный файл изображения.- Смонтируйте файл образа как устройство с обратной связью, а затем в локальную точку монтирования.
- Создайте новый пустой файл образа диска, раздел со смещением для загрузчика и создайте файловую систему ext4.
- Смонтируйте раздел нового образа и скопируйте все из образа EC2.
- Установите grub (используя
grub-legacy-ec2
пакет Ubuntu , а не grub2). - Преобразуйте файл изображения в vmdk, используя
qemu-img
. - Создайте новую виртуальную машину VirtualBox с помощью vmdk.
Теперь VM загружается, загружается 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?
источник
Ответы:
Я так старался, и я сдавался, но в конце концов мне это удалось!
Мне удалось загрузиться с Amazon Linux AMI, портированной под 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 шагов до небес:
источник