initramfs: fix boot with dynamic /dev
Devtmpfs (which is used by devtmpfs/mdev/udev options) doesn't get automounted by the kernel when an initramfs is used, causing boot failures when a dynamic /dev is used. Fix it by adding a pre-init script to mount devtmpfs before running init. Reported-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
8a6f23a424
commit
424888e474
4
fs/initramfs/init
Executable file
4
fs/initramfs/init
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# devtmpfs does not get automounted for initramfs
|
||||||
|
/bin/mount -t devtmpfs devtmpfs /dev
|
||||||
|
exec /sbin/init $*
|
@ -6,13 +6,26 @@
|
|||||||
#
|
#
|
||||||
#############################################################
|
#############################################################
|
||||||
|
|
||||||
define ROOTFS_INITRAMFS_INIT_SYMLINK
|
ifeq ($(BR2_ROOTFS_DEVICE_CREATION_STATIC),y)
|
||||||
|
|
||||||
|
define ROOTFS_INITRAMFS_ADD_INIT
|
||||||
if [ ! -e $(TARGET_DIR)/init ]; then \
|
if [ ! -e $(TARGET_DIR)/init ]; then \
|
||||||
ln -sf sbin/init $(TARGET_DIR)/init; \
|
ln -sf sbin/init $(TARGET_DIR)/init; \
|
||||||
fi
|
fi
|
||||||
endef
|
endef
|
||||||
|
|
||||||
ROOTFS_INITRAMFS_PRE_GEN_HOOKS += ROOTFS_INITRAMFS_INIT_SYMLINK
|
else
|
||||||
|
# devtmpfs does not get automounted when initramfs is used.
|
||||||
|
# Add a pre-init script to mount it before running init
|
||||||
|
define ROOTFS_INITRAMFS_ADD_INIT
|
||||||
|
if [ ! -e $(TARGET_DIR)/init ]; then \
|
||||||
|
$(INSTALL) -m 0755 fs/initramfs/init $(TARGET_DIR)/init; \
|
||||||
|
fi
|
||||||
|
endef
|
||||||
|
|
||||||
|
endif # BR2_ROOTFS_DEVICE_CREATION_STATIC
|
||||||
|
|
||||||
|
ROOTFS_INITRAMFS_PRE_GEN_HOOKS += ROOTFS_INITRAMFS_ADD_INIT
|
||||||
|
|
||||||
define ROOTFS_INITRAMFS_CMD
|
define ROOTFS_INITRAMFS_CMD
|
||||||
$(SHELL) fs/initramfs/gen_initramfs_list.sh -u 0 -g 0 $(TARGET_DIR) > $$@
|
$(SHELL) fs/initramfs/gen_initramfs_list.sh -u 0 -g 0 $(TARGET_DIR) > $$@
|
||||||
|
Loading…
Reference in New Issue
Block a user