From 7fd3c68137ee0fa4c9f5e7b6f993bd09005f7964 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Fri, 27 Nov 2020 01:00:31 +0100 Subject: [PATCH] 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 --- target/linux/generic/other-files/init | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/target/linux/generic/other-files/init b/target/linux/generic/other-files/init index 514be57e66..521655b8c2 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 -- 2.30.2