summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-11-09 17:39:09 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-11-09 17:39:09 +0000
commit4d0450885f8b1836e18eecc1b2e7962838c8c1b7 (patch)
tree8a5d36c6448462449895cf506fbfca8edde45b78
parentb9395c0f0cf2732fbfdabec30b9632adbe967cd8 (diff)
Add support for creating VMware vmdk images #1317
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13158 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/x86/Makefile2
-rw-r--r--target/linux/x86/image/Config.in7
-rw-r--r--target/linux/x86/image/Makefile16
3 files changed, 23 insertions, 2 deletions
diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile
index 2919af64b..60f09a9d8 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 04ceef0ab..6066ba44e 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 d707d2f43..9bd2eada6 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