이 답변 과 이러한 웹 사이트 덕분에 VirtualBox 내에서 Amazon Linux를 부팅 할 수있게되었습니다 . 내가 취한 단계에 대한 간단한 개요 :
- Amazon Linux 2011.09 64 비트 AMI로 EC2 인스턴스 시작
dd
EBS 볼륨의 내용을ssh
로컬 이미지 파일로- 이미지 파일을 루프백 장치로 마운트 한 다음 로컬 마운트 포인트에 마운트하십시오.
- 빈 디스크 이미지 파일을 새로 만들고 부트 로더에 대한 오프셋이있는 파티션을 만들고 ext4 파일 시스템을 만듭니다.
- 새 이미지의 파티션을 마운트하고 EC2 이미지에서 모든 것을 복사하십시오.
- grub을 설치하십시오 (
grub-legacy-ec2
grub2가 아닌 Ubuntu 패키지 사용 ). - 를 사용하여 이미지 파일을 vmdk로 변환하십시오
qemu-img
. - vmdk를 사용하여 새 VirtualBox VM을 만듭니다.
이제 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에 가능한 한 어떤 커널을 사용할 수 있습니까?