aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/x86/Makefile2
-rw-r--r--target/linux/x86/image/Config.in10
-rw-r--r--target/linux/x86/image/Makefile18
3 files changed, 29 insertions, 1 deletions
diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile
index f85760b28b..f44d30d358 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
+FEATURES:=squashfs jffs2 ext2 vdi
SUBTARGETS=generic
LINUX_VERSION:=2.6.25.4
diff --git a/target/linux/x86/image/Config.in b/target/linux/x86/image/Config.in
index 17deccfa72..af4f9a3dba 100644
--- a/target/linux/x86/image/Config.in
+++ b/target/linux/x86/image/Config.in
@@ -33,3 +33,13 @@ config X86_GRUB_BOOTOPTS
default ""
help
If you don't know, just leave it blank.
+
+
+config X86_VDI_IMAGES
+ bool "Build VirtuBox image files (VDI). Requires vditool"
+ depends TARGET_x86
+ depends TARGET_ROOTFS_EXT2FS
+ depends X86_GRUB_IMAGES
+ select PACKAGE_kmod-pcnet32
+
+
diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile
index 54a4a344d7..7af434874e 100644
--- a/target/linux/x86/image/Makefile
+++ b/target/linux/x86/image/Makefile
@@ -57,6 +57,17 @@ ifeq ($(CONFIG_X86_GRUB_IMAGES),y)
endef
endif
+ifeq ($(CONFIG_X86_VDI_IMAGES),y)
+ define Image/Build/vdi
+ # left here because the image builder doesnt need these
+ ifeq ($(1),ext2)
+ rm $(BIN_DIR)/openwrt-$(BOARD)-ext2.vdi || true
+ vditool DD $(BIN_DIR)/openwrt-$(BOARD)-ext2.vdi $(BIN_DIR)/openwrt-$(BOARD)-ext2.image
+ endif
+ endef
+endif
+
+
define Image/Prepare
$(CP) $(LINUX_DIR)/arch/x86/boot/bzImage $(KDIR)/bzImage
$(call Image/Prepare/grub)
@@ -86,6 +97,7 @@ endef
define Image/Build
$(call Image/Build/grub,$(1))
+ $(call Image/Build/vdi,$(1))
$(call Image/Build/$(1))
$(CP) $(KDIR)/root.$(1) $(BIN_DIR)/openwrt-$(BOARD)-$(1).fs
$(CP) $(KDIR)/bzImage $(BIN_DIR)/openwrt-$(BOARD)-vmlinuz
@@ -93,3 +105,9 @@ endef
$(eval $(call BuildImage))
+ifeq ($(CONFIG_X86_VDI_IMAGES),y)
+ $(eval $(call RequireCommand,vditool, \
+ You need vditool to generate VirtualBox images. \
+ ))
+endif
+