diff --git a/config/Config-images.in b/config/Config-images.in index 6900de0cb..3a22e054c 100644 --- a/config/Config-images.in +++ b/config/Config-images.in @@ -245,6 +245,14 @@ menu "Target Images" depends on GRUB_IMAGES || EFI_IMAGES select TARGET_IMAGES_PAD select PACKAGE_kmod-e1000 + + config VHD_IMAGES + bool "Build Hyper-V image files (VHD)" + depends on TARGET_x86 || TARGET_x86_64 + default n + depends on GRUB_IMAGES || EFI_IMAGES + select TARGET_IMAGES_PAD + select PACKAGE_kmod-tulip config TARGET_IMAGES_PAD bool "Pad images to filesystem size (for JFFS2)" diff --git a/target/linux/x86/64/config-default b/target/linux/x86/64/config-default index 1fa5b6519..836d13745 100644 --- a/target/linux/x86/64/config-default +++ b/target/linux/x86/64/config-default @@ -386,7 +386,7 @@ CONFIG_ARCH_MMAP_RND_BITS_MAX=32 CONFIG_ARCH_MMAP_RND_BITS_MIN=28 CONFIG_VMAP_STACK=y CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y -CONFIG_PCI_HYPERV=y +# CONFIG_PCI_HYPERV is not set CONFIG_VMD=n CONFIG_VIRTIO_VSOCKETS=n CONFIG_SATA_ZPODD=n diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index 3b5e642d1..830bca6e4 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -249,6 +249,21 @@ ifneq ($(CONFIG_VMDK_IMAGES),) endef endif +ifneq ($(CONFIG_VHD_IMAGES),) + define Image/Build/vhd + rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vhd || true + qemu-img convert -f raw -O vpc \ + $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \ + $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vhd + endef + define Image/Build/vhd_efi + rm $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).vmdk || true + qemu-img convert -f raw -O vpc \ + $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).img \ + $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).vhd + endef +endif + define Image/Build/gzip gzip -f9n $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img ifneq ($(CONFIG_GRUB_IMAGES),) @@ -288,10 +303,12 @@ define Image/Build ifneq ($(CONFIG_GRUB_IMAGES),) $(call Image/Build/vdi,$(1)) $(call Image/Build/vmdk,$(1)) + $(call Image/Build/vhd,$(1)) endif ifneq ($(CONFIG_EFI_IMAGES),) $(call Image/Build/vdi_efi,$(1)) $(call Image/Build/vmdk_efi,$(1)) + $(call Image/Build/vhd_efi,$(1)) endif $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img else