X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Fx86%2Fimage%2FMakefile;h=98c2150e52c6058907cfa6c42dacba1f731ba0a9;hp=62d4c7305573b71e7baa5fec0ef93e9381fe36d5;hb=2e5f84fc10a5feeb1bb6a9805904b93ff6dc24bb;hpb=7399df1d698c1873ece51b23de8ee67702e4046d diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index 62d4c73055..98c2150e52 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -16,21 +16,23 @@ GRUB_SERIAL_CONFIG = GRUB_TERMINAL_CONFIG = GRUB_CONSOLE_CMDLINE = -USE_ATKBD = generic kvm_guest +USE_ATKBD = generic 64 ifneq ($(strip $(foreach subtarget,$(USE_ATKBD),$(CONFIG_TARGET_x86_$(subtarget)))),) GRUB2_MODULES += at_keyboard GRUB2_MODULES_ISO += at_keyboard endif -ifneq ($(CONFIG_X86_GRUB_CONSOLE),) +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 @@ -38,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 @@ -80,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) \ @@ -96,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 @@ -156,35 +128,29 @@ 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 define Image/Build/gzip - gzip -f9 $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img - gzip -f9 $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img + gzip -f9n $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img + gzip -f9n $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img endef ifneq ($(CONFIG_TARGET_IMAGES_GZIP),) @@ -215,43 +181,16 @@ define Image/BuildKernel endif endef -define Image/Build/Profile/ar525w - cp $(KDIR)/bzImage $(KDIR)/bzImage.tmp - $(SCRIPT_DIR)/pad_image $(1) $(KDIR)/bzImage.tmp $(KDIR)/root.$(1) 32 - $(STAGING_DIR_HOST)/bin/airlink -b 1 $(KDIR)/bzImage.tmp $(KDIR)/root.$(1) \ - $(BIN_DIR)/$(IMG_PREFIX)-$(1)-ar525w.img - $(STAGING_DIR_HOST)/bin/airlink -e -b 1 $(KDIR)/bzImage.tmp $(KDIR)/root.$(1) \ - $(BIN_DIR)/$(IMG_PREFIX)-$(1)-ar525w-web.img -endef - -define Image/Build/Profile/sitecom - cp $(KDIR)/bzImage $(KDIR)/bzImage.tmp - #32k config data + 20 bytes header + 2 bytes checksum after kernel image - $(SCRIPT_DIR)/pad_image $(1) $(KDIR)/bzImage.tmp $(KDIR)/root.$(1) 32790 - $(TOPDIR)/target/linux/rdc/image/mkimg_sitecom.pl $(KDIR)/bzImage.tmp > $(KDIR)/tmp.img - cat $(KDIR)/root.$(1) >> $(KDIR)/tmp.img - cp $(KDIR)/tmp.img $(BIN_DIR)/$(IMG_PREFIX)-$(1)-sitecom.img - rm $(KDIR)/tmp.img $(KDIR)/bzImage.tmp -endef - -define Image/Build/Profile/bifferboard - $(TOPDIR)/target/linux/rdc/image/mkimg_bifferboard.py $(KDIR)/bzImage $(KDIR)/root.$(1) \ - $(BIN_DIR)/$(IMG_PREFIX)-$(1)-bifferboard.img -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))