mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-27 23:43:34 +08:00
cpio: fix boot with dynamic /dev
Devtmpfs doesn't get automounted by the kernel when an initramfs is used. Since cpio archives are used almost exclusively as an initramfs, the same fix should be applied to it as for the initramfs. Cfr. commit424888e474
and10a130f91e
. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
0a775837fb
commit
3fac21ef8d
@ -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
|
||||
|
||||
ROOTFS_CPIO_PRE_GEN_HOOKS += ROOTFS_CPIO_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_CPIO_ADD_INIT
|
||||
if [ ! -e $(TARGET_DIR)/init ]; then \
|
||||
$(INSTALL) -m 0755 fs/cpio/init $(TARGET_DIR)/init; \
|
||||
fi
|
||||
endef
|
||||
|
||||
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))
|
||||
$(eval $(call ROOTFS_TARGET,cpio))
|
||||
|
7
fs/cpio/init
Executable file
7
fs/cpio/init
Executable file
@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
# devtmpfs does not get automounted for initramfs
|
||||
/bin/mount -t devtmpfs devtmpfs /dev
|
||||
exec 0</dev/console
|
||||
exec 1>/dev/console
|
||||
exec 2>/dev/console
|
||||
exec /sbin/init $*
|
Loading…
Reference in New Issue
Block a user