Add support for creating VMware vmdk images #1317
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 9 Nov 2008 17:39:09 +0000 (17:39 +0000)
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 9 Nov 2008 17:39:09 +0000 (17:39 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13158 3c298f89-4303-0410-b956-a3cf2f4a3e73

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

index 2919af6..60f09a9 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 04ceef0..6066ba4 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 d707d2f..9bd2ead 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