diff options
Diffstat (limited to 'target/linux/x86/image')
-rw-r--r-- | target/linux/x86/image/Makefile | 8 | ||||
-rwxr-xr-x | target/linux/x86/image/gen_image.sh | 7 |
2 files changed, 11 insertions, 4 deletions
diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index 6649670df6..d707d2f435 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -14,6 +14,7 @@ ROOTPART=$(strip $(subst ",, $(CONFIG_X86_GRUB_ROOTPART))) ifeq ($(CONFIG_X86_GRUB_IMAGES),y) +ifneq ($(HOST_OS),Darwin) define Image/cmdline/squashfs block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=squashfs init=/etc/preinit endef @@ -44,9 +45,7 @@ ifeq ($(CONFIG_X86_GRUB_IMAGES),y) PADDING="$(CONFIG_X86_GRUB_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image.sh $(BIN_DIR)/openwrt-$(BOARD)-$(1).image $(CONFIG_X86_GRUB_KERNELPART) $(KDIR)/root.grub $(CONFIG_TARGET_ROOTFS_FSPART) $(KDIR)/root.$(1) $(call Image/Build/grub/$(1)) endef -endif -ifeq ($(CONFIG_X86_GRUB_IMAGES),y) define Image/Prepare/grub # for the image builder $(CP) \ @@ -55,6 +54,11 @@ ifeq ($(CONFIG_X86_GRUB_IMAGES),y) $(STAGING_DIR_HOST)/usr/lib/grub/i386-pc/e2fs_stage1_5 \ $(KDIR)/ endef +else + define Image/Build/grub + PADDING="$(CONFIG_X86_GRUB_IMAGES_PAD)" PATH="$(TARGET_PATH)" NOGRUB=1 ./gen_image.sh $(BIN_DIR)/openwrt-$(BOARD)-$(1).image $(CONFIG_X86_GRUB_KERNELPART) "" $(CONFIG_TARGET_ROOTFS_FSPART) $(KDIR)/root.$(1) + endef +endif endif ifeq ($(CONFIG_X86_VDI_IMAGES),y) diff --git a/target/linux/x86/image/gen_image.sh b/target/linux/x86/image/gen_image.sh index d48e3720dc..5d4c0dd34c 100755 --- a/target/linux/x86/image/gen_image.sh +++ b/target/linux/x86/image/gen_image.sh @@ -28,10 +28,13 @@ ROOTFSSIZE="$(($4 / 512))" BLOCKS="$((($KERNELSIZE / 2) - 1))" -genext2fs -d "$KERNELDIR" -b "$BLOCKS" "$OUTPUT.kernel" -dd if="$OUTPUT.kernel" of="$OUTPUT" bs=512 seek="$KERNELOFFSET" conv=notrunc [ -n "$PADDING" ] && dd if=/dev/zero of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc count="$ROOTFSSIZE" dd if="$ROOTFSIMAGE" of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc + +[ -n "$NOGRUB" ] && exit 0 + +genext2fs -d "$KERNELDIR" -b "$BLOCKS" "$OUTPUT.kernel" +dd if="$OUTPUT.kernel" of="$OUTPUT" bs=512 seek="$KERNELOFFSET" conv=notrunc #rm -f "$OUTPUT.kernel" which chpax >/dev/null && chpax -zp $(which grub) |