diff options
Diffstat (limited to 'fs/cpio/cpio.mk')
-rw-r--r-- | fs/cpio/cpio.mk | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/fs/cpio/cpio.mk b/fs/cpio/cpio.mk index ab7d54618..aa20b4107 100644 --- a/fs/cpio/cpio.mk +++ b/fs/cpio/cpio.mk @@ -4,15 +4,29 @@ # ############################################################# -define ROOTFS_CPIO_INIT_SYMLINK - rm -f $(TARGET_DIR)/init - ln -s sbin/init $(TARGET_DIR)/init +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 +define ROOTFS_CPIO_ADD_INIT + if [ ! -e $(TARGET_DIR)/init ]; then \ + $(INSTALL) -m 0755 fs/cpio/init $(TARGET_DIR)/init; \ + fi endef -ROOTFS_CPIO_PRE_GEN_HOOKS += ROOTFS_CPIO_INIT_SYMLINK +endif # BR2_ROOTFS_DEVICE_CREATION_STATIC + +ROOTFS_CPIO_PRE_GEN_HOOKS += ROOTFS_CPIO_ADD_INIT define ROOTFS_CPIO_CMD cd $(TARGET_DIR) && find . | cpio --quiet -o -H newc > $$@ endef -$(eval $(call ROOTFS_TARGET,cpio))
\ No newline at end of file +$(eval $(call ROOTFS_TARGET,cpio)) |