X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fx86%2Fimage%2FMakefile;h=e7e02f15fbb3d1638b26982e7ddff305464e6851;hb=09aad60610d5887cb8ab03f550ad6450f017189f;hp=399ce3c7d3fbdc40f97609588ff9427fff59b35d;hpb=60ecd5fe04ebeaefedad4d06a756bc46bc772638;p=openwrt%2Fstaging%2Fwigyori.git diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index 399ce3c7d3..e7e02f15fb 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -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 --rtscts=off GRUB_TERMINALS += serial endif @@ -31,28 +40,30 @@ ifneq ($(GRUB_TERMINALS),) GRUB_TERMINAL_CONFIG := terminal_input $(GRUB_TERMINALS); terminal_output $(GRUB_TERMINALS) endif +SIGNATURE:=$(shell dd if=/dev/urandom bs=4 count=1 2>/dev/null | hexdump -v -e '"%08x"') ROOTPART:=$(call qstrip,$(CONFIG_TARGET_ROOTFS_PARTNAME)) +ROOTPART:=$(if $(ROOTPART),$(ROOTPART),PARTUUID=$(SIGNATURE)-02) -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 +71,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 \ @@ -72,7 +84,7 @@ ifneq ($(CONFIG_X86_GRUB_IMAGES),) -e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1)) $(BOOTOPTS) $(GRUB_CONSOLE_CMDLINE))#g' \ -e 's#@TIMEOUT@#$(GRUB_TIMEOUT)#g' \ ./grub.cfg > $(KDIR)/root.grub/boot/grub/grub.cfg - PADDING="$(CONFIG_TARGET_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image_generic.sh \ + PADDING="$(CONFIG_TARGET_IMAGES_PAD)" SIGNATURE="$(SIGNATURE)" PATH="$(TARGET_PATH)" ./gen_image_generic.sh \ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \ $(CONFIG_TARGET_KERNEL_PARTSIZE) $(KDIR)/root.grub \ $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(KDIR)/root.$(1) \ @@ -88,38 +100,6 @@ endif ROOTDELAY=10 -ifneq ($(CONFIG_OLPC_BOOTSCRIPT_IMAGES),) - - 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 rootdelay=$(ROOTDELAY) - endef - - define Image/cmdline/jffs2-128k - block2mtd.block2mtd=$(ROOTPART),131072,rootfs root=/dev/mtdblock0 rootfstype=jffs2 rootdelay=$(ROOTDELAY) - endef - - define Image/cmdline/squashfs - block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=squashfs rootdelay=$(ROOTDELAY) - endef - - define Image/Build/bootscript - # left here because the image builder doesnt need these - $(INSTALL_DIR) $(KDIR)/root.bootscript/boot - $(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_TARGET_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image_olpc.sh \ - $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \ - $(CONFIG_TARGET_KERNEL_PARTSIZE) $(KDIR)/root.bootscript \ - $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(KDIR)/root.$(1) - endef - -endif - define Image/Build/squashfs $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) endef @@ -128,6 +108,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 +128,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 @@ -231,18 +206,15 @@ define Image/Build/Profile/bifferboard endef define Image/Prepare - $(CP) $(LINUX_DIR)/arch/x86/boot/bzImage $(KDIR)/bzImage - $(call Image/Prepare/bootscript) $(call Image/Prepare/grub2) 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 $(call Image/Build/$(1)) - $(call Image/Build/bootscript,$(1)) ifneq ($(1),iso) $(call Image/Build/grub2,$(1)) $(call Image/Build/vdi,$(1))