2016-01-14, 21:37
Hello
Anyone succeeded to chainload any operating system on AWS EC2 HVM instances?
According to this post, it is not possible because it requires low-level access to hypervisor but there is not much information why. Any developer could comment on limitations with AWS EC2 PV instance?
What about HVM instances? I tried different tests but can get the network working *after chainloading the kernel*.
To summarize the tests:
1/ compiled latest version of iPXE (ipxe.lkrn) with an embedded script to boot from a network server
2/ created an HVM instance
3/ configured Grub to boot from ipxe.lkrn
4/ created an ipxe script on the network server to control chainloading
5/ reboot the EC2 instance
What is working:
- iPXE load and can find network (netfront)
- iPXE can connect to my network server and download various stuff (kernel, initrd, other iPXE scripts, etc.)
- imgtrust compiled and enforcing (chainloading fails as expected if downloaded content signature don't match)
- kernel loads and find initrd
- kernel can find disk device
- kernel *seems* to find a network device but not working
I tried CentOS 7.0, 7.1, 7.2 (and RHEL 7.2), CoreOS, RancherOS but none of them can bring up the network device.
If using DHCP:
- CentOS/RHEL distribution show "RTNETLINK answers: file exists" and fails back to the emergency shell
- CoreOS show nothing
If using Static IP (with kernel arguments ip=${net0/ip}:...):
- CentOS/RHEL distribution show "network unreachable"
Any idea/workaround?
Thanks for assistance!
Anyone succeeded to chainload any operating system on AWS EC2 HVM instances?
According to this post, it is not possible because it requires low-level access to hypervisor but there is not much information why. Any developer could comment on limitations with AWS EC2 PV instance?
What about HVM instances? I tried different tests but can get the network working *after chainloading the kernel*.
To summarize the tests:
1/ compiled latest version of iPXE (ipxe.lkrn) with an embedded script to boot from a network server
2/ created an HVM instance
3/ configured Grub to boot from ipxe.lkrn
4/ created an ipxe script on the network server to control chainloading
5/ reboot the EC2 instance
What is working:
- iPXE load and can find network (netfront)
- iPXE can connect to my network server and download various stuff (kernel, initrd, other iPXE scripts, etc.)
- imgtrust compiled and enforcing (chainloading fails as expected if downloaded content signature don't match)
- kernel loads and find initrd
- kernel can find disk device
- kernel *seems* to find a network device but not working
I tried CentOS 7.0, 7.1, 7.2 (and RHEL 7.2), CoreOS, RancherOS but none of them can bring up the network device.
If using DHCP:
- CentOS/RHEL distribution show "RTNETLINK answers: file exists" and fails back to the emergency shell
- CoreOS show nothing
If using Static IP (with kernel arguments ip=${net0/ip}:...):
- CentOS/RHEL distribution show "network unreachable"
Any idea/workaround?
Thanks for assistance!