diff options
| author | Christian Brauner <brauner@kernel.org> | 2026-01-14 11:22:54 +0100 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-01-14 11:23:39 +0100 |
| commit | 313c47f4fe4d07eb2969f429a66ad331fe2b3b6f (patch) | |
| tree | ca0c488cde000bca75e0b8a60647d2fd8b5601f2 /init | |
| parent | 7416634fd6f18762edf60ed8524bc241eceae1f3 (diff) | |
fs: use nullfs unconditionally as the real rootfs
Remove the "nullfs_rootfs" boot parameter and simply always use nullfs.
The mutable rootfs will be mounted on top of it. Systems that don't use
pivot_root() to pivot away from the real rootfs will have an additional
mount stick around but that shouldn't be a problem at all. If it is
we'll rever this commit.
This also simplifies the boot process and removes the need for the
traditional switch_root workarounds.
Suggested-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'init')
| -rw-r--r-- | init/do_mounts.c | 20 | ||||
| -rw-r--r-- | init/do_mounts.h | 1 |
2 files changed, 7 insertions, 14 deletions
diff --git a/init/do_mounts.c b/init/do_mounts.c index 675397c8a7a4..df6847bcf1f2 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c @@ -493,21 +493,15 @@ void __init prepare_namespace(void) out: devtmpfs_mount(); - if (nullfs_rootfs) { - if (init_pivot_root(".", ".")) { - pr_err("VFS: Failed to pivot into new rootfs\n"); - return; - } - if (init_umount(".", MNT_DETACH)) { - pr_err("VFS: Failed to unmount old rootfs\n"); - return; - } - pr_info("VFS: Pivoted into new rootfs\n"); + if (init_pivot_root(".", ".")) { + pr_err("VFS: Failed to pivot into new rootfs\n"); return; } - - init_mount(".", "/", NULL, MS_MOVE, NULL); - init_chroot("."); + if (init_umount(".", MNT_DETACH)) { + pr_err("VFS: Failed to unmount old rootfs\n"); + return; + } + pr_info("VFS: Pivoted into new rootfs\n"); } static bool is_tmpfs; diff --git a/init/do_mounts.h b/init/do_mounts.h index fbfee810aa89..6069ea3eb80d 100644 --- a/init/do_mounts.h +++ b/init/do_mounts.h @@ -15,7 +15,6 @@ void mount_root_generic(char *name, char *pretty_name, int flags); void mount_root(char *root_device_name); extern int root_mountflags; -extern bool nullfs_rootfs; static inline __init int create_dev(char *name, dev_t dev) { |
