Dzięki tej odpowiedzi i tym stronom prawie zbliżyłem się do uruchomienia Amazon Linux w VirtualBox . Krótki przegląd kroków, które podjąłem:
- Uruchom instancję EC2 za pomocą Amazon Linux 2011.09 64-bit AMI
dd
zawartość woluminu EBS przechodzissh
do lokalnego pliku obrazu.- Zamontuj plik obrazu jako urządzenie pętli zwrotnej, a następnie do lokalnego punktu podłączenia.
- Utwórz nowy pusty plik obrazu dysku, podziel partycję z przesunięciem dla programu ładującego i utwórz system plików ext4.
- Zamontuj partycję nowego obrazu i skopiuj wszystko z obrazu EC2.
- Zainstaluj grub (używając
grub-legacy-ec2
pakietu Ubuntu , a nie grub2). - Konwertuj plik obrazu na vmdk przy użyciu
qemu-img
. - Utwórz nową maszynę wirtualną VirtualBox za pomocą vmdk.
Teraz maszyna wirtualna uruchamia się, ładuje grub i jądro zostaje znalezione. Ale kończy się niepowodzeniem, gdy próbuje zamontować urządzenie root:
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
Próbowałem zmienić, /boot/grub/menu.lst
aby znaleźć urządzenie root według etykiety i identyfikatora UUID, ale nic nie działa. Domyślam się, że jądro Xen nie jest kompatybilne z VirtualBox.
Powodem tego całego wysiłku jest stworzenie Vagrant box, który jest możliwie najbliższy środowisku produkcyjnemu, aby wdrożenia mogły być testowane lokalnie. Wiem, że testowanie na EC2 jest tanie, ale słaba łączność często psuje to doświadczenie. Ponadto byłoby naprawdę miło mieć maszynę wirtualną ze środowiskiem produkcyjnym, aby współpracownicy nie musieli instalować wszystkiego pod słońcem tylko po to, aby rozpocząć pracę z tworzeniem aplikacji.
Gdybym miał spróbować uruchomić inne jądro, jakie jądro mogłoby być jak najbliżej Amazon Linux 2011.09?
źródło
Odpowiedzi:
Próbowałem tyle i poddawałem się, ale w końcu mi się udało!
Udało mi się uruchomić z Amazon Linux AMI przeniesionym pod vmware!
Jestem prawie nowicjuszem, ale zrobiłem to po wielu próbach, zastępując oryginalne jądro Amazona vmlinuz-2.6.32-38-generycznym pobranym z dystrybucji Ubuntu 64 10.04.
Dostaję dużo błędów, ponieważ konfiguracja amazonu w AMI szuka czegoś w wewnętrznym adresie, którego oczywiście nie znajdzie. Myślę, że jest to / usr / bin / cloud-init.
Ale mogę się zalogować w środku i wydaje się, że wszystko działa!
Dzięki za pomoc!!
Napisałem ten post z instrukcjami krok po kroku, jak przeprowadzić migrację z AMI do Vmware.
Mam nadzieję że to pomoże!
źródło
Oficjalne jądro Amazon pochodzi z dystrybucji 2011.09, tj . 2.6.35.14.
Prawdopodobnie można uzyskać pakiet źródłowy dla Amazon
get_reference_source
, ale nie spodziewałbym się, że i tak będzie działał poza Amazon.źródło
Ludzie z Cloudify podzielili się, w jaki sposób stworzyli Vagrant gotowy na VirtualBox, bez dostępu do maszyn bez systemu metalowego - używają AWS.
9 kroków do nieba:
źródło