[openstack-dev] [diskimage-builder] ERROR: embedding is not possible, but this is required for cross-disk install
Clint Byrum
clint at fewbar.com
Mon Jun 20 22:12:23 UTC 2016
Excerpts from Jay Pipes's message of 2016-06-20 16:52:38 -0400:
> Hi dib-gurus,
>
> I'm trying to build a simple ubuntu VM image on a local Gigabyte BRIX
> with a AMD A8-5557M APU with Ubuntu 16.04 installed and getting an odd
> error. Hoping someone has some ideas...
>
> The command I am running is:
>
> disk-image-create -o /tmp/ubuntu.qcow2 --image-size=10 ubuntu vm
>
> Everything goes smoothly until trying to write the MBR, at which point I
> get the following error:
>
> + /usr/sbin/grub-install '--modules=biosdisk part_msdos'
> --target=i386-pc /dev/loop0
> Installing for i386-pc platform.
> /usr/sbin/grub-install: warning: this msdos-style partition label has no
> post-MBR gap; embedding won't be possible.
> /usr/sbin/grub-install: error: embedding is not possible, but this is
> required for cross-disk install.
> /dev/loop0: [0047]:3 (/tmp/image.hk8wiFJe/image.raw)
I think you found a bug. The ARCH should be armhf, but
elements/bootloader/finalise.d/50-bootloader doesn't know what to do with
armhf, so it falls back to x86_64/amd64. Also, grub-pc is the package
that bootloader claims to need in its pkg-map file, but you really need
grub-efi-arm on arm boxes.
We may need to add the ability for pkg-map's to differentiate based on
ARCH.
If you intended to build an amd64 image, you need to set ARCH=amd64
before running disk-image-create, so it won't detect it by running
'dpkg --print-architecture'.
More information about the OpenStack-dev
mailing list