Instance provisioned in ec2 doesn't boot, looks like empty root-partition


I provisioned a Instance in ec2 via foreman. It tries to boot but it looks like it doesn’t find a bootmanager.
I started up another machine within aws with the same image and it boots. I compared both machines
and only found one difference. In the instance of foreman I got /dev/sda1 as root device and in the
instance of aws another one. It looks like that foreman creates a empty boot-partition.

How or where can I configure foreman which boot-partition is used?

I am using foreman 1.17.

Any idea?

Thanks a lot


Hey Olli,

you can’t. VM flavor defines which kind of hypervisor you get. There are several types on EC2, I remember Xen and KVM and these have different driver device naming conventions: xvdf, sda or vda depending on driver assigned.

You need to dig in EC2 docs, but AFAIK the “old” flavors like “m1.small” are Xen and “modern” flavors like “i3.large” are KVM.

Ok, but why is one image running via aws without problems, and the same image running via foreman not booting?

Because the root volume is hardcoded in the image. If you created the image on /dev/sda1 and try to launch it on Xen instance (AWS calls them “legacy” hypervisors I think) it will also not boot.