diff --git a/include/image.mk b/include/image.mk index 81519cd..a5f89ca 100644 --- a/include/image.mk +++ b/include/image.mk @@ -200,13 +200,32 @@ endef $(eval $(foreach S,$(JFFS2_BLOCKSIZE),$(call Image/mkfs/jffs2/template,$(S)))) $(eval $(foreach S,$(NAND_BLOCKSIZE),$(call Image/mkfs/jffs2-nand/template,$(S)))) -define Image/mkfs/squashfs +ifneq ($(CONFIG_BOOT_METHOD_SCRIPT),) + define Image/mkfs/squashfs + # kexec and LABEL= boot + @mkdir -p $(call mkfs_target_dir,$(1))/overlay + ls -l $(1) + # remove /lib/modules to prevent the image from getting to big + rm -rf $(call mkfs_target_dir,$(1))/lib/modules $(STAGING_DIR_HOST)/bin/mksquashfs4 $(call mkfs_target_dir,$(1)) $@ \ -nopad -noappend -root-owned \ -comp $(SQUASHFSCOMP) $(SQUASHFSOPT) \ -processors 1 \ $(if $(SOURCE_DATE_EPOCH),-fixed-time $(SOURCE_DATE_EPOCH)) -endef + endef +else + define Image/mkfs/squashfs + # boot direclty from device + mkdir -p $(TMP_DIR)/debwrt-empty-rootfs/overlay + touch $(TMP_DIR)/debwrt-empty-rootfs/debwrt-empty-rootfs + # create image file $@[used to be $(KDIR)/root.squashfs] from $(TMP_DIR)/debwrt-empty-rootfs/ + $(STAGING_DIR_HOST)/bin/mksquashfs4 $(TMP_DIR)/debwrt-empty-rootfs/ $@ \ + -nopad -noappend -root-owned \ + -comp $(SQUASHFSCOMP) $(SQUASHFSOPT) \ + -processors $(if $(CONFIG_PKG_BUILD_JOBS),$(CONFIG_PKG_BUILD_JOBS),1) \ + $(if $(SOURCE_DATE_EPOCH),-fixed-time $(SOURCE_DATE_EPOCH)) + endef +endif # $(1): board name # $(2): rootfs type @@ -552,6 +571,17 @@ define BuildImage endif kernel_prepare: image_prepare +ifneq ($(CONFIG_IMAGE_CMDLINE_HACK),y) + if [ ! -e $(STAGING_DIR_HOST)/bin/patch-cmdline.bin ]; then \ + mv $(STAGING_DIR_HOST)/bin/patch-cmdline $(STAGING_DIR_HOST)/bin/patch-cmdline.bin; \ + echo "#!/bin/sh" > $(STAGING_DIR_HOST)/bin/patch-cmdline; \ + chmod +x $(STAGING_DIR_HOST)/bin/patch-cmdline; \ + fi +else + if [ -e $(STAGING_DIR_HOST)/bin/patch-cmdline.bin ]; then \ + mv $(STAGING_DIR_HOST)/bin/patch-cmdline.bin $(STAGING_DIR_HOST)/bin/patch-cmdline; \ + fi +endif $(call Image/Build/targz) $(call Image/Build/cpiogz) $(call Image/BuildKernel)