Browse Source

Add support for creating VMware vmdk images #1317

SVN-Revision: 13158
Florian Fainelli 17 years ago
parent
commit
45cc45cac5
3 changed files with 23 additions and 2 deletions
  1. 1 1
      target/linux/x86/Makefile
  2. 6 1
      target/linux/x86/image/Config.in
  3. 16 0
      target/linux/x86/image/Makefile

+ 1 - 1
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

+ 6 - 1
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

+ 16 - 0
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