################################################################################ # # cpio to archive target filesystem # ################################################################################ ifeq ($(BR2_ROOTFS_DEVICE_CREATION_STATIC),y) define ROOTFS_CPIO_ADD_INIT if [ ! -e $(TARGET_DIR)/init ]; then \ ln -sf sbin/init $(TARGET_DIR)/init; \ fi endef else # devtmpfs does not get automounted when initramfs is used. # Add a pre-init script to mount it before running init # We must have /dev/console very early, even before /init runs, # for stdin/stdout/stderr define ROOTFS_CPIO_ADD_INIT if [ ! -e $(TARGET_DIR)/init ]; then \ $(INSTALL) -m 0755 fs/cpio/init $(TARGET_DIR)/init; \ fi mkdir -p $(TARGET_DIR)/dev mknod -m 0622 $(TARGET_DIR)/dev/console c 5 1 endef endif # BR2_ROOTFS_DEVICE_CREATION_STATIC ROOTFS_CPIO_PRE_GEN_HOOKS += ROOTFS_CPIO_ADD_INIT # --reproducible option was introduced in cpio v2.12, which may not be # available in some old distributions, so we build host-cpio ifeq ($(BR2_REPRODUCIBLE),y) ROOTFS_CPIO_DEPENDENCIES += host-cpio ROOTFS_CPIO_OPTS += --reproducible endif define ROOTFS_CPIO_CMD cd $(TARGET_DIR) && \ find . \ | LC_ALL=C sort \ | cpio $(ROOTFS_CPIO_OPTS) --quiet -o -H newc \ > $@ endef ifeq ($(BR2_TARGET_ROOTFS_CPIO_UIMAGE),y) ROOTFS_CPIO_DEPENDENCIES += host-uboot-tools define ROOTFS_CPIO_UBOOT_MKIMAGE $(MKIMAGE) -A $(MKIMAGE_ARCH) -T ramdisk \ -C none -d $@$(ROOTFS_CPIO_COMPRESS_EXT) $@.uboot endef ROOTFS_CPIO_POST_GEN_HOOKS += ROOTFS_CPIO_UBOOT_MKIMAGE endif $(eval $(rootfs))