image: use internal qemu-img for vmdk and vdi images drop host dependencies on qemu...
[openwrt/openwrt.git] / target / linux / x86 / image / Makefile
index 257723c8ae0de4b4d2bf97c84ec375ac837fd05d..b5297bbff8b1a745d301d9b27959dc9380ce032a 100644 (file)
@@ -29,12 +29,11 @@ ifneq ($(GRUB_TERMINALS),)
   GRUB_TERMINAL_CONFIG := terminal --timeout=2 $(GRUB_TERMINALS)
 endif
 
+ROOTPART:=$(call qstrip,$(CONFIG_TARGET_ROOTFS_PARTNAME))
 
 ifneq ($(CONFIG_X86_GRUB_IMAGES),)
- ifneq ($(HOST_OS),Darwin)
 
   BOOTOPTS:=$(call qstrip,$(CONFIG_X86_GRUB_BOOTOPTS))
-  ROOTPART:=$(call qstrip,$(CONFIG_X86_GRUB_ROOTPART))
 
   define Image/cmdline/ext2
     root=$(ROOTPART) rootfstype=ext2 rootwait
@@ -66,10 +65,10 @@ ifneq ($(CONFIG_X86_GRUB_IMAGES),)
                -e 's#@TERMINAL_CONFIG@#$(strip $(GRUB_TERMINAL_CONFIG))#g' \
                -e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1)) $(BOOTOPTS) $(GRUB_CONSOLE_CMDLINE))#g' \
                ./menu.lst > $(KDIR)/root.grub/boot/grub/menu.lst
-       PADDING="$(CONFIG_X86_GRUB_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image_x86.sh \
+       PADDING="$(CONFIG_TARGET_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image_x86.sh \
                $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
-               $(CONFIG_X86_GRUB_KERNELPART) $(KDIR)/root.grub \
-               $(CONFIG_TARGET_ROOTFS_FSPART) $(KDIR)/root.$(1)
+               $(CONFIG_TARGET_KERNEL_PARTSIZE) $(KDIR)/root.grub \
+               $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(KDIR)/root.$(1)
        $(call Image/Build/grub/$(1))
   endef
 
@@ -83,24 +82,12 @@ ifneq ($(CONFIG_X86_GRUB_IMAGES),)
                $(KDIR)/
   endef
 
- else
-
-  define Image/Build/grub
-       PADDING="$(CONFIG_X86_GRUB_IMAGES_PAD)" PATH="$(TARGET_PATH)" NOGRUB=1 ./gen_image_x86.sh 
-               $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
-               $(CONFIG_X86_GRUB_KERNELPART) "" \
-               $(CONFIG_TARGET_ROOTFS_FSPART) $(KDIR)/root.$(1)
-  endef
-
- endif
 endif
 
 ROOTDELAY=10
 
 ifneq ($(CONFIG_OLPC_BOOTSCRIPT_IMAGES),)
 
-  ROOTPART:=$(call qstrip,$(CONFIG_OLPC_BOOTSCRIPT_ROOTPART))
-
   define Image/cmdline/ext2
     root=$(ROOTPART) rootfstype=ext2 rootwait
   endef
@@ -123,10 +110,10 @@ ifneq ($(CONFIG_OLPC_BOOTSCRIPT_IMAGES),)
        $(CP) $(KDIR)/bzImage $(KDIR)/root.bootscript/boot/vmlinuz
        sed -e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1))) $(BOOTOPTS)#g' \
                ./olpc.fth > $(KDIR)/root.bootscript/boot/olpc.fth
-       PADDING="$(CONFIG_OLPC_BOOTSCRIPT_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image_olpc.sh \
+       PADDING="$(CONFIG_TARGET_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image_olpc.sh \
                $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
-               $(CONFIG_OLPC_BOOTSCRIPT_KERNELPART) $(KDIR)/root.bootscript \
-               $(CONFIG_TARGET_ROOTFS_FSPART) $(KDIR)/root.$(1)
+               $(CONFIG_TARGET_KERNEL_PARTSIZE) $(KDIR)/root.bootscript \
+               $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(KDIR)/root.$(1)
   endef
 
 endif
@@ -156,7 +143,7 @@ ifneq ($(CONFIG_X86_VDI_IMAGES),)
     # left here because the image builder doesnt need these
     ifeq ($(1),ext2)
                rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi || true
-               VBoxManage convertfromraw -format VDI \
+               qemu-img convert -f raw -O vdi \
                        $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
                        $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi
                # XXX: VBoxManage insists on setting perms to 0600
@@ -204,15 +191,3 @@ define Image/Build
 endef
 
 $(eval $(call BuildImage))
-
-ifneq ($(CONFIG_X86_VDI_IMAGES),)
-  $(eval $(call RequireCommand,VBoxManage, \
-       You need VBoxManage to generate VirtualBox images. \
-  ))
-endif
-
-ifneq ($(CONFIG_X86_VMDK_IMAGES),)
-  $(eval $(call RequireCommand,qemu-img, \
-       You need qemu-img to generate VMware images. \
-  ))
-endif