diff options
-rw-r--r-- | package/grub/Makefile | 2 | ||||
-rw-r--r-- | target/linux/x86/image/Makefile | 8 | ||||
-rwxr-xr-x | target/linux/x86/image/gen_image.sh | 7 |
3 files changed, 13 insertions, 4 deletions
diff --git a/package/grub/Makefile b/package/grub/Makefile index 7dfd1429d..434af2bc9 100644 --- a/package/grub/Makefile +++ b/package/grub/Makefile @@ -45,6 +45,7 @@ else CONFIGURE_FLAGS:= endif +ifneq ($(HOST_OS),Darwin) define Build/Configure (cd $(PKG_BUILD_DIR); \ LDFLAGS="-static" \ @@ -83,5 +84,6 @@ define Build/InstallDev install mv $(STAGING_DIR_HOST)/usr/sbin/grub $(STAGING_DIR_HOST)/bin endef +endif $(eval $(call BuildPackage,grub)) diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index 6649670df..d707d2f43 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 d48e3720d..5d4c0dd34 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) |