Add support for creating VMware vmdk images #1317
authorFlorian Fainelli <florian@openwrt.org>
Sun, 9 Nov 2008 17:39:09 +0000 (17:39 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Sun, 9 Nov 2008 17:39:09 +0000 (17:39 +0000)
SVN-Revision: 13158

target/linux/x86/Makefile
target/linux/x86/image/Config.in
target/linux/x86/image/Makefile

index 2919af64b4340256a2e2d826e37f0e4725d96572..60f09a9d865c3376a3e1631d248f23506fad4eab 100644 (file)
@@ -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
index 04ceef0ab8e7afd3ab4c76d48c4a9b1757a4da7d..6066ba44eff166b535a8cd87f1df0b137fa77134 100644 (file)
@@ -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
index d707d2f435c141f4acd582cff047fec66e541010..9bd2eada6b43fd0083832ae3512e7809f62104f3 100644 (file)
@@ -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