From 45cc45cac55657e10b70b497b253557d433ce102 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Sun, 9 Nov 2008 17:39:09 +0000 Subject: [PATCH] Add support for creating VMware vmdk images #1317 SVN-Revision: 13158 --- target/linux/x86/Makefile | 2 +- target/linux/x86/image/Config.in | 7 ++++++- target/linux/x86/image/Makefile | 16 ++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile index 2919af64b4..60f09a9d86 100644 --- a/target/linux/x86/Makefile +++ b/target/linux/x86/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk ARCH=i386 BOARD:=x86 BOARDNAME:=x86 -FEATURES:=squashfs jffs2 ext2 vdi +FEATURES:=squashfs jffs2 ext2 vdi vmdk SUBTARGETS=generic LINUX_VERSION:=2.6.25.19 diff --git a/target/linux/x86/image/Config.in b/target/linux/x86/image/Config.in index 04ceef0ab8..6066ba44ef 100644 --- a/target/linux/x86/image/Config.in +++ b/target/linux/x86/image/Config.in @@ -42,4 +42,9 @@ config X86_VDI_IMAGES depends X86_GRUB_IMAGES select PACKAGE_kmod-pcnet32 - +config X86_VMDK_IMAGES + bool "Build VMware image files (VMDK). Requires qemu-img" + depends TARGET_x86 + depends TARGET_ROOTFS_EXT2FS + depends X86_GRUB_IMAGES + select PACKAGE_kmod-e1000 diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index d707d2f435..9bd2eada6b 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -71,6 +71,16 @@ ifeq ($(CONFIG_X86_VDI_IMAGES),y) endef endif +ifeq ($(CONFIG_X86_VMDK_IMAGES),y) + define Image/Build/vmdk + # left here because the image builder doesnt need these + ifeq ($(1),ext2) + rm $(BIN_DIR)/openwrt-$(BOARD)-ext2.vmdk || true + qemu-img convert -f raw $(BIN_DIR)/openwrt-$(BOARD)-ext2.image \ + -O vmdk $(BIN_DIR)/openwrt-$(BOARD)-ext2.vmdk + endif + endef +endif define Image/Prepare $(CP) $(LINUX_DIR)/arch/x86/boot/bzImage $(KDIR)/bzImage @@ -103,6 +113,7 @@ define Image/Build $(call Image/Build/$(1)) $(call Image/Build/grub,$(1)) $(call Image/Build/vdi,$(1)) + $(call Image/Build/vmdk,$(1)) $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/openwrt-$(BOARD)-$(1).fs $(CP) $(KDIR)/bzImage $(BIN_DIR)/openwrt-$(BOARD)-vmlinuz endef @@ -115,3 +126,8 @@ ifeq ($(CONFIG_X86_VDI_IMAGES),y) )) endif +ifeq ($(CONFIG_X86_VMDK_IMAGES),y) + $(eval $(call RequireCommand,qemu-img, \ + You need qemu-img to generate VMware images. \ + )) +endif -- 2.30.2