Hey Linus,
/* Summary */
Remove classic initrd linuxrc support
Remove the deprecated linuxrc-based initrd code path and related dead code.
The linuxrc initrd path was deprecated in 2020 and this series completes its
removal. If we see real-life regressions we'll revert.
The core change removes handle_initrd() and init_linuxrc() — the entire flow
that ran /linuxrc from an initrd, pivoted roots, and handed off to the real
root filesystem. With that gone, initrd_load() becomes void (no longer
short-circuits prepare_namespace()), rd_load_image() is simplified to always
load /initrd.image instead of taking a path, and rd_load_disk() is deleted.
The /proc/sys/kernel/real-root-dev sysctl and its backing variable are
removed since they only existed for linuxrc to communicate the real root
device back to the kernel. The no-op load_ramdisk= and prompt_ramdisk=
parameters are dropped, and noinitrd and ramdisk_start= gain deprecation
warnings.
Initramfs is entirely unaffected. The non-linuxrc initrd path
(root=/dev/ram0) is preserved but now carries a deprecation warning targeting
January 2027 removal.
/* Testing */
gcc (Debian 14.2.0-19) 14.2.0
Debian clang version 19.1.7 (3+b1)
No build failures or warnings were observed.
/* Conflicts */
Merge conflicts with mainline
=============================
diff --cc Documentation/admin-guide/kernel-parameters.txt
index aa0031108bc1,f67591615a6a..000000000000
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@@ -3472,13 -3437,6 +3472,11 @@@ Kernel parameter
If there are multiple matching configurations changing
the same attribute, the last one is used.
+ liveupdate= [KNL,EARLY]
+ Format: <bool>
+ Enable Live Update Orchestrator (LUO).
+ Default: off.
+
- load_ramdisk= [RAM] [Deprecated]
-
lockd.nlm_grace_period=P [NFS] Assign grace period.
Format: <integer>
Merge conflicts with other trees
================================
The following changes since commit 8f0b4cce4481fb22653697cced8d0d04027cb1e8:
Linux 6.19-rc1 (2025-12-14 16:05:07 +1200)
are available in the Git repository at:
git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-7.0-rc1.initrd
for you to fetch changes up to ef12d0573a7f5e7a495e81d773ae5f3e98230cd4:
Merge patch series "initrd: remove half of classic initrd support" (2026-01-12 17:22:27 +0100)
----------------------------------------------------------------
vfs-7.0-rc1.initrd
Please consider pulling these changes from the signed vfs-7.0-rc1.initrd tag.
Thanks!
Christian
----------------------------------------------------------------
Askar Safin (3):
init: remove deprecated "load_ramdisk" and "prompt_ramdisk" command line parameters
initrd: remove deprecated code path (linuxrc)
init: remove /proc/sys/kernel/real-root-dev
Christian Brauner (1):
Merge patch series "initrd: remove half of classic initrd support"
Documentation/admin-guide/kernel-parameters.txt | 12 ++-
Documentation/admin-guide/sysctl/kernel.rst | 6 --
arch/arm/configs/neponset_defconfig | 2 +-
include/linux/initrd.h | 2 -
include/uapi/linux/sysctl.h | 1 -
init/do_mounts.c | 11 +--
init/do_mounts.h | 18 +---
init/do_mounts_initrd.c | 107 ++----------------------
init/do_mounts_rd.c | 24 +-----
9 files changed, 23 insertions(+), 160 deletions(-)
© 2016 - 2026 Red Hat, Inc.