Messages in this thread Patch in this message | | | From | Greg Depoire--Ferrer <> | Subject | [PATCH] init: add rootopts=%d for rootfs mount flags | Date | Wed, 30 Jun 2021 13:51:28 +0200 |
| |
Add the rootopts command line parameter to specify mount flags for the root filesystem.
The kernel provides the rootflags parameter to specify filesystem dependent options when mouting the root filesystem but did not provide any way to set the filesystem independent flags.
This is not an issue on systems using an initrd because on these systems, the rootflags parameter is passed to the /sbin/mount binary which understands filesystem independent flags in the option string, such as noatime (MS_NOATIME) or nodev (MS_NODEV).
Signed-off-by: Greg Depoire--Ferrer <greg.depoire@gmail.com> --- Documentation/admin-guide/kernel-parameters.txt | 2 ++ init/do_mounts.c | 11 +++++++++++ 2 files changed, 13 insertions(+)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 26453f250683..01e1217583f5 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -4851,6 +4851,8 @@ rootfstype= [KNL] Set root filesystem type + rootopts= [KNL] Set root filesystem mount flags bitmap + rootwait [KNL] Wait (indefinitely) for root device to show up. Useful for devices that are detected asynchronously (e.g. USB and MMC devices). diff --git a/init/do_mounts.c b/init/do_mounts.c index a78e44ee6adb..ebe51fc7cf86 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c @@ -326,6 +326,16 @@ static int __init root_data_setup(char *str) return 1; } +static int __init root_flags_setup(char *str) +{ + int flags; + + if (kstrtoint(str, 0, &flags)) + return 0; + root_mountflags |= flags; + return 1; +} + static char * __initdata root_fs_names; static int __init fs_names_setup(char *str) { @@ -341,6 +351,7 @@ static int __init root_delay_setup(char *str) } __setup("rootflags=", root_data_setup); +__setup("rootopts=", root_flags_setup); __setup("rootfstype=", fs_names_setup); __setup("rootdelay=", root_delay_setup); -- 2.31.1
| |