fs-types-$(CONFIG_TARGET_ROOTFS_ISO) += iso
fs-types-$(CONFIG_TARGET_ROOTFS_UBIFS) += ubifs
fs-subtypes-$(CONFIG_TARGET_ROOTFS_JFFS2) += $(addsuffix -raw,$(addprefix jffs2-,$(JFFS2_BLOCKSIZE)))
-fs-subtypes-$(CONFIG_TARGET_ROOTFS_CPIOGZ) += cpiogz
-fs-subtypes-$(CONFIG_TARGET_ROOTFS_TARGZ) += targz
TARGET_FILESYSTEMS := $(fs-types-y)
-o $@ -d $(TARGET_DIR)
endef
-define Image/mkfs/cpiogz
- ( cd $(TARGET_DIR); find . | cpio -o -H newc | gzip -9n >$(BIN_DIR)/$(IMG_PREFIX)-rootfs.cpio.gz )
-endef
-
-define Image/mkfs/targz
- $(TAR) -cp --numeric-owner --owner=0 --group=0 --sort=name \
- $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
- -C $(TARGET_DIR)/ . | gzip -9n > $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz
-endef
-
E2SIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024*1024)))
define Image/mkfs/ext4
)
endef
+ifdef CONFIG_TARGET_ROOTFS_TARGZ
+ define Image/Build/targz
+ $(TAR) -cp --numeric-owner --owner=0 --group=0 --sort=name \
+ $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
+ -C $(TARGET_DIR)/ . | gzip -9n > $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz
+ endef
+endif
+
+ifdef CONFIG_TARGET_ROOTFS_CPIOGZ
+ define Image/Build/cpiogz
+ ( cd $(TARGET_DIR); find . | cpio -o -H newc | gzip -9n >$(BIN_DIR)/$(IMG_PREFIX)-rootfs.cpio.gz )
+ endef
+endif
+
$(KDIR)/root.%: kernel_prepare
$(call Image/mkfs/$(word 1,$(subst +,$(space),$*)),$(subst +,$(space),$*))
KERNEL_SIZE:=
CMDLINE:=
+ IMAGES :=
IMAGE_PREFIX := $(IMG_PREFIX)-$(1)
IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1)-$$(2)
KERNEL_PREFIX = $$(IMAGE_PREFIX)
BLOCKSIZE :=
PAGESIZE :=
SUBPAGESIZE :=
+ VID_HDR_OFFSET :=
UBINIZE_OPTS := -E 5
MKUBIFS_OPTS :=
DEVICE_DTS :=
DEVICE_DTS_DIR :=
+ BOARD_NAME :=
+
FILESYSTEMS := $(TARGET_FILESYSTEMS)
endef
DEFAULT_DEVICE_VARS := \
DEVICE_NAME KERNEL KERNEL_INITRAMFS KERNEL_INITRAMFS_IMAGE \
- DEVICE_DTS DEVICE_DTS_DIR \
+ DEVICE_DTS DEVICE_DTS_DIR BOARD_NAME \
UBOOTENV_IN_UBI KERNEL_IN_UBI \
- BLOCKSIZE PAGESIZE SUBPAGESIZE \
+ BLOCKSIZE PAGESIZE SUBPAGESIZE VID_HDR_OFFSET \
UBINIZE_OPTS
define Device/ExportVar
endef
ifdef IB
- DEVICE_CHECK_PROFILE = $(filter $(1),$(PROFILE))
+ DEVICE_CHECK_PROFILE = $(filter $(1),DEVICE_$(PROFILE) $(PROFILE))
else
DEVICE_CHECK_PROFILE = $(CONFIG_TARGET_$(if $(CONFIG_TARGET_MULTI_PROFILE),DEVICE_)$(call target_conf,$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET)))_$(1))
endif
define Device/Check
+ KDIR_KERNEL_IMAGE := $(KDIR)/$(1)$$(KERNEL_SUFFIX)
_PROFILE_SET = $$(strip $$(foreach profile,$$(PROFILES) DEVICE_$(1),$$(call DEVICE_CHECK_PROFILE,$$(profile))))
_TARGET := $$(if $$(_PROFILE_SET),install-images,install-disabled)
ifndef IB
endef
define Device/Build/kernel
- _KERNEL_IMAGES += $(KDIR)/$$(KERNEL_NAME)
+ _KERNEL_IMAGES += $$(KDIR_KERNEL_NAME)
$(KDIR)/$$(KERNEL_NAME):: image_prepare
$$(_TARGET): $$(if $$(KERNEL_INSTALL),$(BIN_DIR)/$$(KERNEL_IMAGE))
- $(call Device/Export,$(KDIR)/$$(KERNEL_IMAGE),$(1))
- $(BIN_DIR)/$$(KERNEL_IMAGE): $(KDIR)/$$(KERNEL_IMAGE)
+ $(call Device/Export,$$(KDIR_KERNEL_IMAGE),$(1))
+ $(BIN_DIR)/$$(KERNEL_IMAGE): $$(KDIR_KERNEL_IMAGE)
cp $$^ $$@
ifndef IB
ifdef CONFIG_IB
- install: $(KDIR)/$$(KERNEL_IMAGE)
+ install: $$(KDIR_KERNEL_IMAGE)
endif
- $(KDIR)/$$(KERNEL_IMAGE): $(KDIR)/$$(KERNEL_NAME) $(CURDIR)/Makefile $$(KERNEL_DEPENDS)
+ $$(KDIR_KERNEL_IMAGE): $(KDIR)/$$(KERNEL_NAME) $(CURDIR)/Makefile $$(KERNEL_DEPENDS)
@rm -f $$@
$$(call concat_cmd,$$(KERNEL))
$$(if $$(KERNEL_SIZE),$$(call Device/Build/check_size,$$(KERNEL_SIZE)))
define Device/Build/image
$$(_TARGET): $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2))
$(eval $(call Device/Export,$(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)),$(1)))
- $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/$$(KERNEL_IMAGE) $(KDIR)/root.$(1)$$(if $$(FS_OPTIONS/$(1)),+fs=$$(call param_mangle,$$(FS_OPTIONS/$(1))))
+ $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)): $$(KDIR_KERNEL_IMAGE) $(KDIR)/root.$(1)$$(if $$(FS_OPTIONS/$(1)),+fs=$$(call param_mangle,$$(FS_OPTIONS/$(1))))
@rm -f $$@
[ -f $$(word 1,$$^) -a -f $$(word 2,$$^) ]
$$(call concat_cmd,$(if $(IMAGE/$(2)/$(1)),$(IMAGE/$(2)/$(1)),$(IMAGE/$(2))))
$(call Image/mkfs/prepare)
kernel_prepare: mkfs_prepare
+ $(call Image/Build/targz)
+ $(call Image/Build/cpiogz)
$(call Image/BuildKernel)
$(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(if $(IB),,$(call Image/BuildKernel/Initramfs)))
$(call Image/InstallKernel)
$(foreach device,$(TARGET_DEVICES),$(call Device,$(device)))
$(foreach device,$(LEGACY_DEVICES),$(call LegacyDevice,$(device)))
- install-images: kernel_prepare $(foreach fs,$(filter-out ubifs,$(TARGET_FILESYSTEMS) $(fs-subtypes-y)),$(KDIR)/root.$(fs))
+ install-images: kernel_prepare $(foreach fs,$(filter-out $(if $(UBIFS_OPTS),,ubifs),$(TARGET_FILESYSTEMS) $(fs-subtypes-y)),$(KDIR)/root.$(fs))
$(foreach fs,$(TARGET_FILESYSTEMS),
$(call Image/Build,$(fs))
)