x86: remove the arbitrary limitation of vmware/virtualbox images to ext4, select...
[openwrt/svn-archive/archive.git] / target / linux / x86 / image / Makefile
index 399ce3c7d3fbdc40f97609588ff9427fff59b35d..59837180f12c1e837166dea1ba56f8f301a1b834 100644 (file)
@@ -9,21 +9,30 @@ include $(INCLUDE_DIR)/image.mk
 
 export PATH=$(TARGET_PATH):/sbin
 
-GRUB2_MODULES = at_keyboard biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga
-GRUB2_MODULES_ISO = at_keyboard biosdisk boot chain configfile iso9660 linux ls part_msdos reboot serial vga
+GRUB2_MODULES = biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga
+GRUB2_MODULES_ISO = biosdisk boot chain configfile iso9660 linux ls part_msdos reboot serial vga
 GRUB_TERMINALS =
 GRUB_SERIAL_CONFIG =
 GRUB_TERMINAL_CONFIG =
 GRUB_CONSOLE_CMDLINE =
 
-ifneq ($(CONFIG_X86_GRUB_CONSOLE),)
+USE_ATKBD = generic kvm_guest
+
+ifneq ($(strip $(foreach subtarget,$(USE_ATKBD),$(CONFIG_TARGET_x86_$(subtarget)))),)
+  GRUB2_MODULES += at_keyboard
+  GRUB2_MODULES_ISO += at_keyboard
+endif
+
+ifneq ($(CONFIG_GRUB_CONSOLE),)
   GRUB_CONSOLE_CMDLINE += console=tty0
   GRUB_TERMINALS += console
 endif
 
-ifneq ($(CONFIG_X86_GRUB_SERIAL),)
-  GRUB_CONSOLE_CMDLINE += console=$(call qstrip,$(CONFIG_X86_GRUB_SERIAL)),$(CONFIG_X86_GRUB_BAUDRATE)n8
-  GRUB_SERIAL_CONFIG := serial --unit=0 --speed=$(CONFIG_X86_GRUB_BAUDRATE) --word=8 --parity=no --stop=1
+GRUB_SERIAL:=$(call qstrip,$(CONFIG_GRUB_SERIAL))
+
+ifneq ($(GRUB_SERIAL),)
+  GRUB_CONSOLE_CMDLINE += console=$(GRUB_SERIAL),$(CONFIG_GRUB_BAUDRATE)n8
+  GRUB_SERIAL_CONFIG := serial --unit=0 --speed=$(CONFIG_GRUB_BAUDRATE) --word=8 --parity=no --stop=1
   GRUB_TERMINALS += serial
 endif
 
@@ -33,26 +42,26 @@ endif
 
 ROOTPART:=$(call qstrip,$(CONFIG_TARGET_ROOTFS_PARTNAME))
 
-GRUB_TIMEOUT:=$(call qstrip,$(CONFIG_X86_GRUB_TIMEOUT))
+GRUB_TIMEOUT:=$(call qstrip,$(CONFIG_GRUB_TIMEOUT))
 
-ifneq ($(CONFIG_X86_GRUB_IMAGES),)
+ifneq ($(CONFIG_GRUB_IMAGES),)
 
-  BOOTOPTS:=$(call qstrip,$(CONFIG_X86_GRUB_BOOTOPTS))
+  BOOTOPTS:=$(call qstrip,$(CONFIG_GRUB_BOOTOPTS))
 
   define Image/cmdline/ext4
     root=$(ROOTPART) rootfstype=ext4 rootwait
   endef
 
   define Image/cmdline/jffs2-64k
-    block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=jffs2 rootwait
+    block2mtd.block2mtd=$(ROOTPART),65536,rootfs,5 root=/dev/mtdblock0 rootfstype=jffs2 rootwait
   endef
 
   define Image/cmdline/jffs2-128k
-    block2mtd.block2mtd=$(ROOTPART),131072,rootfs root=/dev/mtdblock0 rootfstype=jffs2 rootwait
+    block2mtd.block2mtd=$(ROOTPART),131072,rootfs,5 root=/dev/mtdblock0 rootfstype=jffs2 rootwait
   endef
 
   define Image/cmdline/squashfs
-    block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=squashfs rootwait
+    block2mtd.block2mtd=$(ROOTPART),65536,rootfs,5 root=/dev/mtdblock0 rootfstype=squashfs rootwait
   endef
 
   define Image/Build/grub2
@@ -60,6 +69,7 @@ ifneq ($(CONFIG_X86_GRUB_IMAGES),)
        $(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2
        $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
        grub-mkimage \
+               -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \
                -o $(KDIR)/grub2/core.img \
                -O i386-pc \
                -c ./grub-early.cfg \
@@ -128,6 +138,7 @@ define Image/Build/iso
        $(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2
        $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
        grub-mkimage \
+               -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \
                -o $(KDIR)/grub2/eltorito.img \
                -O i386-pc \
                -c ./grub-early.cfg \
@@ -147,29 +158,23 @@ define Image/Build/iso
                -o $(KDIR)/root.iso $(KDIR)/root.grub $(TARGET_DIR)
 endef
 
-ifneq ($(CONFIG_X86_VDI_IMAGES),)
+ifneq ($(CONFIG_VDI_IMAGES),)
   define Image/Build/vdi
-    # left here because the image builder doesnt need these
-    ifeq ($(1),ext4)
-               rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi || true
-               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
-               chmod 0644 $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi
-    endif
+       rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi || true
+       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
+       chmod 0644 $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi
   endef
 endif
 
-ifneq ($(CONFIG_X86_VMDK_IMAGES),)
+ifneq ($(CONFIG_VMDK_IMAGES),)
   define Image/Build/vmdk
-    # left here because the image builder doesnt need these
-    ifeq ($(1),ext4)
-               rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vmdk || true
-               qemu-img convert -f raw -O vmdk \
-                       $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
-                       $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vmdk
-    endif
+       rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vmdk || true
+       qemu-img convert -f raw -O vmdk \
+               $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
+               $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vmdk
   endef
 endif
 
@@ -237,7 +242,7 @@ define Image/Prepare
 endef
 
 define Image/Build/Initramfs
-       $(CP) $(KDIR)/bzImage $(BIN_DIR)/$(IMG_PREFIX)-ramfs.bzImage
+       $(CP) $(KDIR)/bzImage-initramfs $(BIN_DIR)/$(IMG_PREFIX)-ramfs.bzImage
 endef
 
 define Image/Build