From: Daniel Golle Date: Fri, 27 Nov 2020 00:00:31 +0000 (+0100) Subject: initramfs: switch to tmpfs to fix ujail X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=7fd3c68137ee0fa4c9f5e7b6f993bd09005f7964;p=openwrt%2Fstaging%2Fblogic.git initramfs: switch to tmpfs to fix ujail Hauke wrote: > We want to run some processes in the procd-ujail, this works when we > use a SquashFS image and an overlay file system, but when we use an > initramfs it does not work. > [...] > When we switch from initramfs to tmpfs, it is working, we added this > code to target/linux/generic/other-files/init to make [it] work. Move files to newly mounted tmpfs and then use switch_root to chroot into new rootfs and free initramfs. Suggested-by: Hauke Mehrtens Signed-off-by: Daniel Golle --- diff --git a/target/linux/generic/other-files/init b/target/linux/generic/other-files/init index 514be57e6644..521655b8c239 100755 --- a/target/linux/generic/other-files/init +++ b/target/linux/generic/other-files/init @@ -1,4 +1,14 @@ #!/bin/sh # Copyright (C) 2006 OpenWrt.org export INITRAMFS=1 -exec /sbin/init + +# switch to tmpfs to allow run daemons in jail on initramfs boot +DIRS=$(echo *) +NEW_ROOT=/new_root + +mkdir -p $NEW_ROOT +mount -t tmpfs tmpfs $NEW_ROOT + +cp -pr $DIRS $NEW_ROOT + +exec switch_root $NEW_ROOT /sbin/init