--- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -329,6 +329,17 @@ endef # Convert a raw image into a $1 type image. # E.g. | qemu-image vdi +define Build/qemu-exsi + if command -v qemu-img; then \ + name="$(subst .vmdk.zip,,$@)"; \ + qemu-img convert -f raw -O $1 $@ $$name.vmdk; \ + rm -f $@; \ + zip -jm $@ $$name*.vmdk; \ + else \ + echo "WARNING: Install qemu-img to create VDI/VMDK images" >&2; exit 1; \ + fi +endef + define Build/qemu-image if command -v qemu-img; then \ qemu-img convert -f raw -O $1 $@ $@.new; \ --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -108,7 +108,7 @@ define Device/Default IMAGE/combined.img := grub-config pc | combined | grub-install | append-metadata IMAGE/combined.img.gz := grub-config pc | combined | grub-install | gzip | append-metadata IMAGE/combined.vdi := grub-config pc | combined | grub-install | qemu-image vdi - IMAGE/combined.vmdk := grub-config pc | combined | grub-install | qemu-image vmdk + IMAGE/combined.vmdk.zip := grub-config pc | combined | grub-install | qemu-exsi vmdk -o adapter_type=lsilogic -o subformat=monolithicFlat IMAGE/combined.vhdx := grub-config pc | combined | grub-install | qemu-image vhdx -o subformat=dynamic IMAGE/rootfs.img := append-rootfs | pad-to $(ROOTFS_PARTSIZE) IMAGE/rootfs.img.gz := append-rootfs | pad-to $(ROOTFS_PARTSIZE) | gzip @@ -116,7 +116,7 @@ define Device/Default IMAGE/combined-efi.img := grub-config efi | combined efi | grub-install efi | append-metadata IMAGE/combined-efi.img.gz := grub-config efi | combined efi | grub-install efi | gzip | append-metadata IMAGE/combined-efi.vdi := grub-config efi | combined efi | grub-install efi | qemu-image vdi - IMAGE/combined-efi.vmdk := grub-config efi | combined efi | grub-install efi | qemu-image vmdk + IMAGE/combined-efi.vmdk.zip := grub-config efi | combined efi | grub-install efi | qemu-exsi vmdk -o adapter_type=lsilogic -o subformat=monolithicFlat IMAGE/combined-efi.vhdx := grub-config efi | combined efi | grub-install efi | qemu-image vhdx -o subformat=dynamic ifeq ($(CONFIG_TARGET_IMAGES_GZIP),y) IMAGES-y := rootfs.img.gz @@ -139,8 +139,8 @@ define Device/Default IMAGES-$$(CONFIG_GRUB_EFI_IMAGES) += combined-efi.vdi endif ifeq ($(CONFIG_VMDK_IMAGES),y) - IMAGES-$$(CONFIG_GRUB_IMAGES) += combined.vmdk - IMAGES-$$(CONFIG_GRUB_EFI_IMAGES) += combined-efi.vmdk + IMAGES-$$(CONFIG_GRUB_IMAGES) += combined.vmdk.zip + IMAGES-$$(CONFIG_GRUB_EFI_IMAGES) += combined-efi.vmdk.zip endif ifeq ($(CONFIG_VHDX_IMAGES),y) IMAGES-$$(CONFIG_GRUB_IMAGES) += combined.vhdx