e1ebae700a
A /dev/console node must be present in rootfs when the Linux kernel boots otherwise the kernel will print the following warning: "Warning: unable to open an initial console" This is because when we use an initramfs the /dev directory is not populated at this point. This can cause problems when a program (e.g ldso with early debugging enabled) opens a standard file descriptor for read/write before these descriptors are actually created by the init process later on. Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
35 lines
933 B
Makefile
35 lines
933 B
Makefile
#############################################################
|
|
#
|
|
# 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
|
|
define ROOTFS_CPIO_ADD_INIT
|
|
if [ ! -e $(TARGET_DIR)/init ]; then \
|
|
$(INSTALL) -m 0755 fs/cpio/init $(TARGET_DIR)/init; \
|
|
fi
|
|
endef
|
|
|
|
PACKAGES_PERMISSIONS_TABLE += /dev/console c 622 0 0 5 1 - - -$(sep)
|
|
|
|
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))
|