* [PATCH RESEND 58/62] init: rename CONFIG_RD_LZMA to CONFIG_INITRAMFS_DECOMPRESS_LZMA
From: Askar Safin @ 2025-09-14 4:02 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
Initrd support was removed,
and CONFIG_RD_LZMA has nothing to do with ramdisks.
Update your configs
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
arch/arm/configs/clps711x_defconfig | 2 +-
arch/arm/configs/hisi_defconfig | 2 +-
arch/arm/configs/lpc18xx_defconfig | 2 +-
arch/arm/configs/sp7021_defconfig | 2 +-
arch/arm/configs/vf610m4_defconfig | 2 +-
arch/mips/configs/bmips_stb_defconfig | 2 +-
arch/openrisc/configs/simple_smp_defconfig | 2 +-
arch/powerpc/configs/44x/fsp2_defconfig | 2 +-
arch/powerpc/configs/skiroot_defconfig | 2 +-
arch/riscv/configs/nommu_k210_defconfig | 2 +-
arch/riscv/configs/nommu_virt_defconfig | 2 +-
arch/sh/configs/sdk7786_defconfig | 2 +-
arch/xtensa/configs/cadence_csp_defconfig | 2 +-
arch/xtensa/configs/nommu_kc705_defconfig | 2 +-
usr/Kconfig | 4 ++--
15 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/arch/arm/configs/clps711x_defconfig b/arch/arm/configs/clps711x_defconfig
index 4d71d227361f..18ae5ee9d6c9 100644
--- a/arch/arm/configs/clps711x_defconfig
+++ b/arch/arm/configs/clps711x_defconfig
@@ -2,7 +2,7 @@ CONFIG_KERNEL_LZMA=y
CONFIG_SYSVIPC=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_INITRAMFS=y
-CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_DECOMPRESS_LZMA=y
CONFIG_EXPERT=y
CONFIG_JUMP_LABEL=y
CONFIG_PARTITION_ADVANCED=y
diff --git a/arch/arm/configs/hisi_defconfig b/arch/arm/configs/hisi_defconfig
index fe18af17b7cc..19816374a0d0 100644
--- a/arch/arm/configs/hisi_defconfig
+++ b/arch/arm/configs/hisi_defconfig
@@ -2,7 +2,7 @@ CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT=y
CONFIG_INITRAMFS=y
-CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_DECOMPRESS_LZMA=y
CONFIG_ARCH_HISI=y
CONFIG_ARCH_HI3xxx=y
CONFIG_ARCH_HIP01=y
diff --git a/arch/arm/configs/lpc18xx_defconfig b/arch/arm/configs/lpc18xx_defconfig
index abde171f1742..b1d5d8e4d7fe 100644
--- a/arch/arm/configs/lpc18xx_defconfig
+++ b/arch/arm/configs/lpc18xx_defconfig
@@ -2,7 +2,7 @@ CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT=y
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
diff --git a/arch/arm/configs/sp7021_defconfig b/arch/arm/configs/sp7021_defconfig
index 4f5cd0d0511d..cfb20e693e1e 100644
--- a/arch/arm/configs/sp7021_defconfig
+++ b/arch/arm/configs/sp7021_defconfig
@@ -7,7 +7,7 @@ CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_INITRAMFS_DECOMPRESS_GZIP is not set
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
diff --git a/arch/arm/configs/vf610m4_defconfig b/arch/arm/configs/vf610m4_defconfig
index 9e6175467998..9b20db4bb8e6 100644
--- a/arch/arm/configs/vf610m4_defconfig
+++ b/arch/arm/configs/vf610m4_defconfig
@@ -1,7 +1,7 @@
CONFIG_NAMESPACES=y
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZ4 is not set
CONFIG_EXPERT=y
diff --git a/arch/mips/configs/bmips_stb_defconfig b/arch/mips/configs/bmips_stb_defconfig
index 6ccb53279345..300e67507a1f 100644
--- a/arch/mips/configs/bmips_stb_defconfig
+++ b/arch/mips/configs/bmips_stb_defconfig
@@ -16,7 +16,7 @@ CONFIG_NR_CPUS=4
CONFIG_MIPS_O32_FP64_SUPPORT=y
# CONFIG_INITRAMFS_DECOMPRESS_GZIP is not set
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
CONFIG_RD_XZ=y
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
diff --git a/arch/openrisc/configs/simple_smp_defconfig b/arch/openrisc/configs/simple_smp_defconfig
index ba6f06c29fed..5e46664549ec 100644
--- a/arch/openrisc/configs/simple_smp_defconfig
+++ b/arch/openrisc/configs/simple_smp_defconfig
@@ -4,7 +4,7 @@ CONFIG_LOG_BUF_SHIFT=14
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_GZIP is not set
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
diff --git a/arch/powerpc/configs/44x/fsp2_defconfig b/arch/powerpc/configs/44x/fsp2_defconfig
index 696f63bbc56e..038a261ebc20 100644
--- a/arch/powerpc/configs/44x/fsp2_defconfig
+++ b/arch/powerpc/configs/44x/fsp2_defconfig
@@ -9,7 +9,7 @@ CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=16
CONFIG_INITRAMFS=y
-# CONFIG_RD_LZMA is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
diff --git a/arch/powerpc/configs/skiroot_defconfig b/arch/powerpc/configs/skiroot_defconfig
index a5b30aba9ac1..008a63a90330 100644
--- a/arch/powerpc/configs/skiroot_defconfig
+++ b/arch/powerpc/configs/skiroot_defconfig
@@ -12,7 +12,7 @@ CONFIG_LOG_BUF_SHIFT=20
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_GZIP is not set
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
diff --git a/arch/riscv/configs/nommu_k210_defconfig b/arch/riscv/configs/nommu_k210_defconfig
index bc0df803ecaa..282b889596a1 100644
--- a/arch/riscv/configs/nommu_k210_defconfig
+++ b/arch/riscv/configs/nommu_k210_defconfig
@@ -3,7 +3,7 @@ CONFIG_LOG_BUF_SHIFT=13
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_GZIP is not set
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
diff --git a/arch/riscv/configs/nommu_virt_defconfig b/arch/riscv/configs/nommu_virt_defconfig
index 1291e21b7ce5..e9231eadcbad 100644
--- a/arch/riscv/configs/nommu_virt_defconfig
+++ b/arch/riscv/configs/nommu_virt_defconfig
@@ -2,7 +2,7 @@
CONFIG_LOG_BUF_SHIFT=16
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
diff --git a/arch/sh/configs/sdk7786_defconfig b/arch/sh/configs/sdk7786_defconfig
index 2c339b2111fe..f19e9915e6de 100644
--- a/arch/sh/configs/sdk7786_defconfig
+++ b/arch/sh/configs/sdk7786_defconfig
@@ -28,7 +28,7 @@ CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_INITRAMFS=y
CONFIG_INITRAMFS_DECOMPRESS_BZIP2=y
-CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_DECOMPRESS_LZMA=y
CONFIG_RD_LZO=y
# CONFIG_COMPAT_BRK is not set
CONFIG_PROFILING=y
diff --git a/arch/xtensa/configs/cadence_csp_defconfig b/arch/xtensa/configs/cadence_csp_defconfig
index 06d82e725e64..6b38ba64a2aa 100644
--- a/arch/xtensa/configs/cadence_csp_defconfig
+++ b/arch/xtensa/configs/cadence_csp_defconfig
@@ -15,7 +15,7 @@ CONFIG_RELAY=y
CONFIG_INITRAMFS=y
CONFIG_INITRAMFS_SOURCE="$$KERNEL_INITRAMFS_SOURCE"
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
diff --git a/arch/xtensa/configs/nommu_kc705_defconfig b/arch/xtensa/configs/nommu_kc705_defconfig
index cde2ae3ca4b1..9b260f57e63f 100644
--- a/arch/xtensa/configs/nommu_kc705_defconfig
+++ b/arch/xtensa/configs/nommu_kc705_defconfig
@@ -16,7 +16,7 @@ CONFIG_SCHED_AUTOGROUP=y
CONFIG_RELAY=y
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
diff --git a/usr/Kconfig b/usr/Kconfig
index 325c2d95eb74..030c6a898d7a 100644
--- a/usr/Kconfig
+++ b/usr/Kconfig
@@ -68,7 +68,7 @@ config INITRAMFS_DECOMPRESS_BZIP2
Support loading of a bzip2 encoded initial ramfs.
If unsure, say N.
-config RD_LZMA
+config INITRAMFS_DECOMPRESS_LZMA
bool "Support initial ramfs compressed using LZMA"
default y
select DECOMPRESS_LZMA
@@ -157,7 +157,7 @@ config INITRAMFS_COMPRESSION_BZIP2
config INITRAMFS_COMPRESSION_LZMA
bool "LZMA"
- depends on RD_LZMA
+ depends on INITRAMFS_DECOMPRESS_LZMA
help
This algorithm's compression ratio is best but has a large dictionary
size which might cause issues in memory constrained systems.
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 59/62] init: rename CONFIG_RD_XZ to CONFIG_INITRAMFS_DECOMPRESS_XZ
From: Askar Safin @ 2025-09-14 4:03 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
Initrd support was removed,
and CONFIG_RD_XZ has nothing to do with ramdisks.
Update your configs
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
arch/arm/configs/lpc18xx_defconfig | 2 +-
arch/arm/configs/sp7021_defconfig | 2 +-
arch/arm/configs/vf610m4_defconfig | 2 +-
arch/mips/configs/ath25_defconfig | 2 +-
arch/mips/configs/bmips_stb_defconfig | 2 +-
arch/openrisc/configs/simple_smp_defconfig | 2 +-
arch/powerpc/configs/44x/fsp2_defconfig | 2 +-
arch/riscv/configs/nommu_k210_defconfig | 2 +-
arch/riscv/configs/nommu_virt_defconfig | 2 +-
arch/xtensa/configs/cadence_csp_defconfig | 2 +-
arch/xtensa/configs/nommu_kc705_defconfig | 2 +-
usr/Kconfig | 4 ++--
12 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/arch/arm/configs/lpc18xx_defconfig b/arch/arm/configs/lpc18xx_defconfig
index b1d5d8e4d7fe..816586530ff5 100644
--- a/arch/arm/configs/lpc18xx_defconfig
+++ b/arch/arm/configs/lpc18xx_defconfig
@@ -3,7 +3,7 @@ CONFIG_PREEMPT=y
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
-# CONFIG_RD_XZ is not set
+# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
diff --git a/arch/arm/configs/sp7021_defconfig b/arch/arm/configs/sp7021_defconfig
index cfb20e693e1e..2d9bbda67e85 100644
--- a/arch/arm/configs/sp7021_defconfig
+++ b/arch/arm/configs/sp7021_defconfig
@@ -8,7 +8,7 @@ CONFIG_LOG_BUF_SHIFT=14
# CONFIG_INITRAMFS_DECOMPRESS_GZIP is not set
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
-# CONFIG_RD_XZ is not set
+# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
diff --git a/arch/arm/configs/vf610m4_defconfig b/arch/arm/configs/vf610m4_defconfig
index 9b20db4bb8e6..7d457a196dfc 100644
--- a/arch/arm/configs/vf610m4_defconfig
+++ b/arch/arm/configs/vf610m4_defconfig
@@ -2,7 +2,7 @@ CONFIG_NAMESPACES=y
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
-# CONFIG_RD_XZ is not set
+# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_RD_LZ4 is not set
CONFIG_EXPERT=y
CONFIG_KALLSYMS_ALL=y
diff --git a/arch/mips/configs/ath25_defconfig b/arch/mips/configs/ath25_defconfig
index 7c1ec18b0eeb..e401b29ce706 100644
--- a/arch/mips/configs/ath25_defconfig
+++ b/arch/mips/configs/ath25_defconfig
@@ -5,7 +5,7 @@ CONFIG_HIGH_RES_TIMERS=y
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_GZIP is not set
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
-# CONFIG_RD_XZ is not set
+# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
diff --git a/arch/mips/configs/bmips_stb_defconfig b/arch/mips/configs/bmips_stb_defconfig
index 300e67507a1f..072bfdc87771 100644
--- a/arch/mips/configs/bmips_stb_defconfig
+++ b/arch/mips/configs/bmips_stb_defconfig
@@ -17,7 +17,7 @@ CONFIG_MIPS_O32_FP64_SUPPORT=y
# CONFIG_INITRAMFS_DECOMPRESS_GZIP is not set
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
-CONFIG_RD_XZ=y
+CONFIG_INITRAMFS_DECOMPRESS_XZ=y
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_PCI=y
diff --git a/arch/openrisc/configs/simple_smp_defconfig b/arch/openrisc/configs/simple_smp_defconfig
index 5e46664549ec..7080bdedea01 100644
--- a/arch/openrisc/configs/simple_smp_defconfig
+++ b/arch/openrisc/configs/simple_smp_defconfig
@@ -5,7 +5,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_GZIP is not set
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
-# CONFIG_RD_XZ is not set
+# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_EXPERT=y
diff --git a/arch/powerpc/configs/44x/fsp2_defconfig b/arch/powerpc/configs/44x/fsp2_defconfig
index 038a261ebc20..ffb345222649 100644
--- a/arch/powerpc/configs/44x/fsp2_defconfig
+++ b/arch/powerpc/configs/44x/fsp2_defconfig
@@ -10,7 +10,7 @@ CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=16
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
-# CONFIG_RD_XZ is not set
+# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_KALLSYMS_ALL=y
diff --git a/arch/riscv/configs/nommu_k210_defconfig b/arch/riscv/configs/nommu_k210_defconfig
index 282b889596a1..10ffb9ea40bd 100644
--- a/arch/riscv/configs/nommu_k210_defconfig
+++ b/arch/riscv/configs/nommu_k210_defconfig
@@ -4,7 +4,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_GZIP is not set
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
-# CONFIG_RD_XZ is not set
+# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
# CONFIG_RD_ZSTD is not set
diff --git a/arch/riscv/configs/nommu_virt_defconfig b/arch/riscv/configs/nommu_virt_defconfig
index e9231eadcbad..9383e3445ead 100644
--- a/arch/riscv/configs/nommu_virt_defconfig
+++ b/arch/riscv/configs/nommu_virt_defconfig
@@ -3,7 +3,7 @@ CONFIG_LOG_BUF_SHIFT=16
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
-# CONFIG_RD_XZ is not set
+# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
diff --git a/arch/xtensa/configs/cadence_csp_defconfig b/arch/xtensa/configs/cadence_csp_defconfig
index 6b38ba64a2aa..f102ed913e9b 100644
--- a/arch/xtensa/configs/cadence_csp_defconfig
+++ b/arch/xtensa/configs/cadence_csp_defconfig
@@ -16,7 +16,7 @@ CONFIG_INITRAMFS=y
CONFIG_INITRAMFS_SOURCE="$$KERNEL_INITRAMFS_SOURCE"
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
-# CONFIG_RD_XZ is not set
+# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
diff --git a/arch/xtensa/configs/nommu_kc705_defconfig b/arch/xtensa/configs/nommu_kc705_defconfig
index 9b260f57e63f..d3916408eaf6 100644
--- a/arch/xtensa/configs/nommu_kc705_defconfig
+++ b/arch/xtensa/configs/nommu_kc705_defconfig
@@ -17,7 +17,7 @@ CONFIG_RELAY=y
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
-# CONFIG_RD_XZ is not set
+# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_EXPERT=y
diff --git a/usr/Kconfig b/usr/Kconfig
index 030c6a898d7a..69f95a5a1847 100644
--- a/usr/Kconfig
+++ b/usr/Kconfig
@@ -76,7 +76,7 @@ config INITRAMFS_DECOMPRESS_LZMA
Support loading of a LZMA encoded initial ramfs.
If unsure, say N.
-config RD_XZ
+config INITRAMFS_DECOMPRESS_XZ
bool "Support initial ramfs compressed using XZ"
default y
select DECOMPRESS_XZ
@@ -170,7 +170,7 @@ config INITRAMFS_COMPRESSION_LZMA
config INITRAMFS_COMPRESSION_XZ
bool "XZ"
- depends on RD_XZ
+ depends on INITRAMFS_DECOMPRESS_XZ
help
XZ uses the LZMA2 algorithm and has a large dictionary which may cause
problems on memory constrained systems. The initramfs size is about
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 60/62] init: rename CONFIG_RD_LZO to CONFIG_INITRAMFS_DECOMPRESS_LZO
From: Askar Safin @ 2025-09-14 4:03 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
Initrd support was removed,
and CONFIG_RD_LZO has nothing to do with ramdisks.
Update your configs
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
arch/arm/configs/aspeed_g4_defconfig | 2 +-
arch/arm/configs/aspeed_g5_defconfig | 2 +-
arch/arm/configs/lpc18xx_defconfig | 2 +-
arch/arm/configs/sp7021_defconfig | 2 +-
arch/mips/configs/ath25_defconfig | 2 +-
arch/mips/configs/bmips_stb_defconfig | 2 +-
arch/openrisc/configs/simple_smp_defconfig | 2 +-
arch/powerpc/configs/44x/fsp2_defconfig | 2 +-
arch/powerpc/configs/skiroot_defconfig | 2 +-
arch/riscv/configs/nommu_k210_defconfig | 2 +-
arch/riscv/configs/nommu_virt_defconfig | 2 +-
arch/sh/configs/sdk7786_defconfig | 2 +-
arch/xtensa/configs/cadence_csp_defconfig | 2 +-
arch/xtensa/configs/nommu_kc705_defconfig | 2 +-
usr/Kconfig | 4 ++--
15 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/arch/arm/configs/aspeed_g4_defconfig b/arch/arm/configs/aspeed_g4_defconfig
index af891a2b2d6c..2b22ce99e42d 100644
--- a/arch/arm/configs/aspeed_g4_defconfig
+++ b/arch/arm/configs/aspeed_g4_defconfig
@@ -10,7 +10,7 @@ CONFIG_CGROUPS=y
CONFIG_NAMESPACES=y
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
-# CONFIG_RD_LZO is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_EXPERT=y
# CONFIG_UID16 is not set
diff --git a/arch/arm/configs/aspeed_g5_defconfig b/arch/arm/configs/aspeed_g5_defconfig
index a16aed0abcaa..764fde3d416b 100644
--- a/arch/arm/configs/aspeed_g5_defconfig
+++ b/arch/arm/configs/aspeed_g5_defconfig
@@ -10,7 +10,7 @@ CONFIG_CGROUPS=y
CONFIG_NAMESPACES=y
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
-# CONFIG_RD_LZO is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_EXPERT=y
# CONFIG_UID16 is not set
diff --git a/arch/arm/configs/lpc18xx_defconfig b/arch/arm/configs/lpc18xx_defconfig
index 816586530ff5..b14ebbe5b023 100644
--- a/arch/arm/configs/lpc18xx_defconfig
+++ b/arch/arm/configs/lpc18xx_defconfig
@@ -4,7 +4,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
-# CONFIG_RD_LZO is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_UID16 is not set
diff --git a/arch/arm/configs/sp7021_defconfig b/arch/arm/configs/sp7021_defconfig
index 2d9bbda67e85..e65c94f24341 100644
--- a/arch/arm/configs/sp7021_defconfig
+++ b/arch/arm/configs/sp7021_defconfig
@@ -9,7 +9,7 @@ CONFIG_LOG_BUF_SHIFT=14
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
-# CONFIG_RD_LZO is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_PERF_EVENTS=y
diff --git a/arch/mips/configs/ath25_defconfig b/arch/mips/configs/ath25_defconfig
index e401b29ce706..baf32dfe8295 100644
--- a/arch/mips/configs/ath25_defconfig
+++ b/arch/mips/configs/ath25_defconfig
@@ -6,7 +6,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_GZIP is not set
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
-# CONFIG_RD_LZO is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_FHANDLE is not set
diff --git a/arch/mips/configs/bmips_stb_defconfig b/arch/mips/configs/bmips_stb_defconfig
index 072bfdc87771..44830de10527 100644
--- a/arch/mips/configs/bmips_stb_defconfig
+++ b/arch/mips/configs/bmips_stb_defconfig
@@ -18,7 +18,7 @@ CONFIG_MIPS_O32_FP64_SUPPORT=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
CONFIG_INITRAMFS_DECOMPRESS_XZ=y
-# CONFIG_RD_LZO is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_PCI=y
CONFIG_PCI_MSI=y
diff --git a/arch/openrisc/configs/simple_smp_defconfig b/arch/openrisc/configs/simple_smp_defconfig
index 7080bdedea01..9f4bb9d940f0 100644
--- a/arch/openrisc/configs/simple_smp_defconfig
+++ b/arch/openrisc/configs/simple_smp_defconfig
@@ -6,7 +6,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
-# CONFIG_RD_LZO is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_EXPERT=y
# CONFIG_KALLSYMS is not set
diff --git a/arch/powerpc/configs/44x/fsp2_defconfig b/arch/powerpc/configs/44x/fsp2_defconfig
index ffb345222649..e5e4f6721728 100644
--- a/arch/powerpc/configs/44x/fsp2_defconfig
+++ b/arch/powerpc/configs/44x/fsp2_defconfig
@@ -11,7 +11,7 @@ CONFIG_LOG_BUF_SHIFT=16
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
-# CONFIG_RD_LZO is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_KALLSYMS_ALL=y
CONFIG_BPF_SYSCALL=y
diff --git a/arch/powerpc/configs/skiroot_defconfig b/arch/powerpc/configs/skiroot_defconfig
index 008a63a90330..fc1a718af17a 100644
--- a/arch/powerpc/configs/skiroot_defconfig
+++ b/arch/powerpc/configs/skiroot_defconfig
@@ -13,7 +13,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_GZIP is not set
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
-# CONFIG_RD_LZO is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_EXPERT=y
diff --git a/arch/riscv/configs/nommu_k210_defconfig b/arch/riscv/configs/nommu_k210_defconfig
index 10ffb9ea40bd..7507045e9c4a 100644
--- a/arch/riscv/configs/nommu_k210_defconfig
+++ b/arch/riscv/configs/nommu_k210_defconfig
@@ -5,7 +5,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
-# CONFIG_RD_LZO is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_RD_LZ4 is not set
# CONFIG_RD_ZSTD is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
diff --git a/arch/riscv/configs/nommu_virt_defconfig b/arch/riscv/configs/nommu_virt_defconfig
index 9383e3445ead..afa79217f06e 100644
--- a/arch/riscv/configs/nommu_virt_defconfig
+++ b/arch/riscv/configs/nommu_virt_defconfig
@@ -4,7 +4,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
-# CONFIG_RD_LZO is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_EXPERT=y
diff --git a/arch/sh/configs/sdk7786_defconfig b/arch/sh/configs/sdk7786_defconfig
index f19e9915e6de..7465ebf36df2 100644
--- a/arch/sh/configs/sdk7786_defconfig
+++ b/arch/sh/configs/sdk7786_defconfig
@@ -29,7 +29,7 @@ CONFIG_NET_NS=y
CONFIG_INITRAMFS=y
CONFIG_INITRAMFS_DECOMPRESS_BZIP2=y
CONFIG_INITRAMFS_DECOMPRESS_LZMA=y
-CONFIG_RD_LZO=y
+CONFIG_INITRAMFS_DECOMPRESS_LZO=y
# CONFIG_COMPAT_BRK is not set
CONFIG_PROFILING=y
CONFIG_KPROBES=y
diff --git a/arch/xtensa/configs/cadence_csp_defconfig b/arch/xtensa/configs/cadence_csp_defconfig
index f102ed913e9b..dad9383c6deb 100644
--- a/arch/xtensa/configs/cadence_csp_defconfig
+++ b/arch/xtensa/configs/cadence_csp_defconfig
@@ -17,7 +17,7 @@ CONFIG_INITRAMFS_SOURCE="$$KERNEL_INITRAMFS_SOURCE"
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
-# CONFIG_RD_LZO is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_EXPERT=y
diff --git a/arch/xtensa/configs/nommu_kc705_defconfig b/arch/xtensa/configs/nommu_kc705_defconfig
index d3916408eaf6..0a0e94ae7b1c 100644
--- a/arch/xtensa/configs/nommu_kc705_defconfig
+++ b/arch/xtensa/configs/nommu_kc705_defconfig
@@ -18,7 +18,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
-# CONFIG_RD_LZO is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_EXPERT=y
CONFIG_KALLSYMS_ALL=y
diff --git a/usr/Kconfig b/usr/Kconfig
index 69f95a5a1847..62c978018565 100644
--- a/usr/Kconfig
+++ b/usr/Kconfig
@@ -84,7 +84,7 @@ config INITRAMFS_DECOMPRESS_XZ
Support loading of a XZ encoded initial ramfs.
If unsure, say N.
-config RD_LZO
+config INITRAMFS_DECOMPRESS_LZO
bool "Support initial ramfs compressed using LZO"
default y
select DECOMPRESS_LZO
@@ -183,7 +183,7 @@ config INITRAMFS_COMPRESSION_XZ
config INITRAMFS_COMPRESSION_LZO
bool "LZO"
- depends on RD_LZO
+ depends on INITRAMFS_DECOMPRESS_LZO
help
Its compression ratio is the second poorest amongst the choices. The
kernel size is about 10% bigger than gzip. Despite that, its
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 61/62] init: rename CONFIG_RD_LZ4 to CONFIG_INITRAMFS_DECOMPRESS_LZ4
From: Askar Safin @ 2025-09-14 4:04 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
Initrd support was removed,
and CONFIG_RD_LZ4 has nothing to do with ramdisks.
Update your configs
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
arch/arm/configs/aspeed_g4_defconfig | 2 +-
arch/arm/configs/aspeed_g5_defconfig | 2 +-
arch/arm/configs/lpc18xx_defconfig | 2 +-
arch/arm/configs/sp7021_defconfig | 2 +-
arch/arm/configs/vf610m4_defconfig | 2 +-
arch/mips/configs/ath25_defconfig | 2 +-
arch/mips/configs/bmips_stb_defconfig | 2 +-
arch/openrisc/configs/simple_smp_defconfig | 2 +-
arch/powerpc/configs/44x/fsp2_defconfig | 2 +-
arch/powerpc/configs/skiroot_defconfig | 2 +-
arch/riscv/configs/nommu_k210_defconfig | 2 +-
arch/riscv/configs/nommu_virt_defconfig | 2 +-
arch/xtensa/configs/cadence_csp_defconfig | 2 +-
arch/xtensa/configs/nommu_kc705_defconfig | 2 +-
usr/Kconfig | 4 ++--
15 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/arch/arm/configs/aspeed_g4_defconfig b/arch/arm/configs/aspeed_g4_defconfig
index 2b22ce99e42d..a65bdc6e6c2f 100644
--- a/arch/arm/configs/aspeed_g4_defconfig
+++ b/arch/arm/configs/aspeed_g4_defconfig
@@ -11,7 +11,7 @@ CONFIG_NAMESPACES=y
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
CONFIG_EXPERT=y
# CONFIG_UID16 is not set
# CONFIG_SYSFS_SYSCALL is not set
diff --git a/arch/arm/configs/aspeed_g5_defconfig b/arch/arm/configs/aspeed_g5_defconfig
index 764fde3d416b..24954645c34f 100644
--- a/arch/arm/configs/aspeed_g5_defconfig
+++ b/arch/arm/configs/aspeed_g5_defconfig
@@ -11,7 +11,7 @@ CONFIG_NAMESPACES=y
CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
CONFIG_EXPERT=y
# CONFIG_UID16 is not set
# CONFIG_SYSFS_SYSCALL is not set
diff --git a/arch/arm/configs/lpc18xx_defconfig b/arch/arm/configs/lpc18xx_defconfig
index b14ebbe5b023..4dee6346a6a8 100644
--- a/arch/arm/configs/lpc18xx_defconfig
+++ b/arch/arm/configs/lpc18xx_defconfig
@@ -5,7 +5,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_UID16 is not set
CONFIG_BASE_SMALL=y
diff --git a/arch/arm/configs/sp7021_defconfig b/arch/arm/configs/sp7021_defconfig
index e65c94f24341..6b1166cbf478 100644
--- a/arch/arm/configs/sp7021_defconfig
+++ b/arch/arm/configs/sp7021_defconfig
@@ -10,7 +10,7 @@ CONFIG_LOG_BUF_SHIFT=14
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_PERF_EVENTS=y
CONFIG_ARCH_SUNPLUS=y
diff --git a/arch/arm/configs/vf610m4_defconfig b/arch/arm/configs/vf610m4_defconfig
index 7d457a196dfc..acec039e2f16 100644
--- a/arch/arm/configs/vf610m4_defconfig
+++ b/arch/arm/configs/vf610m4_defconfig
@@ -3,7 +3,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
CONFIG_EXPERT=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_MMU is not set
diff --git a/arch/mips/configs/ath25_defconfig b/arch/mips/configs/ath25_defconfig
index baf32dfe8295..5e84ee24e372 100644
--- a/arch/mips/configs/ath25_defconfig
+++ b/arch/mips/configs/ath25_defconfig
@@ -7,7 +7,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_FHANDLE is not set
# CONFIG_AIO is not set
diff --git a/arch/mips/configs/bmips_stb_defconfig b/arch/mips/configs/bmips_stb_defconfig
index 44830de10527..b5fb138bf237 100644
--- a/arch/mips/configs/bmips_stb_defconfig
+++ b/arch/mips/configs/bmips_stb_defconfig
@@ -19,7 +19,7 @@ CONFIG_MIPS_O32_FP64_SUPPORT=y
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
CONFIG_INITRAMFS_DECOMPRESS_XZ=y
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
CONFIG_PCI=y
CONFIG_PCI_MSI=y
CONFIG_PCIEASPM_POWERSAVE=y
diff --git a/arch/openrisc/configs/simple_smp_defconfig b/arch/openrisc/configs/simple_smp_defconfig
index 9f4bb9d940f0..5265f6f940a5 100644
--- a/arch/openrisc/configs/simple_smp_defconfig
+++ b/arch/openrisc/configs/simple_smp_defconfig
@@ -7,7 +7,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
CONFIG_EXPERT=y
# CONFIG_KALLSYMS is not set
# CONFIG_EPOLL is not set
diff --git a/arch/powerpc/configs/44x/fsp2_defconfig b/arch/powerpc/configs/44x/fsp2_defconfig
index e5e4f6721728..34486aa5155f 100644
--- a/arch/powerpc/configs/44x/fsp2_defconfig
+++ b/arch/powerpc/configs/44x/fsp2_defconfig
@@ -12,7 +12,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
CONFIG_KALLSYMS_ALL=y
CONFIG_BPF_SYSCALL=y
CONFIG_EXPERT=y
diff --git a/arch/powerpc/configs/skiroot_defconfig b/arch/powerpc/configs/skiroot_defconfig
index fc1a718af17a..d159882484f6 100644
--- a/arch/powerpc/configs/skiroot_defconfig
+++ b/arch/powerpc/configs/skiroot_defconfig
@@ -14,7 +14,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_BZIP2 is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_EXPERT=y
# CONFIG_SGETMASK_SYSCALL is not set
diff --git a/arch/riscv/configs/nommu_k210_defconfig b/arch/riscv/configs/nommu_k210_defconfig
index 7507045e9c4a..6e961256a941 100644
--- a/arch/riscv/configs/nommu_k210_defconfig
+++ b/arch/riscv/configs/nommu_k210_defconfig
@@ -6,7 +6,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
# CONFIG_RD_ZSTD is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_SYSFS_SYSCALL is not set
diff --git a/arch/riscv/configs/nommu_virt_defconfig b/arch/riscv/configs/nommu_virt_defconfig
index afa79217f06e..eb289c44dfc3 100644
--- a/arch/riscv/configs/nommu_virt_defconfig
+++ b/arch/riscv/configs/nommu_virt_defconfig
@@ -5,7 +5,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_EXPERT=y
# CONFIG_SYSFS_SYSCALL is not set
diff --git a/arch/xtensa/configs/cadence_csp_defconfig b/arch/xtensa/configs/cadence_csp_defconfig
index dad9383c6deb..26a4a9f3886a 100644
--- a/arch/xtensa/configs/cadence_csp_defconfig
+++ b/arch/xtensa/configs/cadence_csp_defconfig
@@ -18,7 +18,7 @@ CONFIG_INITRAMFS_SOURCE="$$KERNEL_INITRAMFS_SOURCE"
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_EXPERT=y
CONFIG_PROFILING=y
diff --git a/arch/xtensa/configs/nommu_kc705_defconfig b/arch/xtensa/configs/nommu_kc705_defconfig
index 0a0e94ae7b1c..988998806661 100644
--- a/arch/xtensa/configs/nommu_kc705_defconfig
+++ b/arch/xtensa/configs/nommu_kc705_defconfig
@@ -19,7 +19,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_LZMA is not set
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
-# CONFIG_RD_LZ4 is not set
+# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
CONFIG_EXPERT=y
CONFIG_KALLSYMS_ALL=y
CONFIG_PERF_EVENTS=y
diff --git a/usr/Kconfig b/usr/Kconfig
index 62c978018565..3a891a0c9ef4 100644
--- a/usr/Kconfig
+++ b/usr/Kconfig
@@ -92,7 +92,7 @@ config INITRAMFS_DECOMPRESS_LZO
Support loading of a LZO encoded initial ramfs.
If unsure, say N.
-config RD_LZ4
+config INITRAMFS_DECOMPRESS_LZ4
bool "Support initial ramfs compressed using LZ4"
default y
select DECOMPRESS_LZ4
@@ -195,7 +195,7 @@ config INITRAMFS_COMPRESSION_LZO
config INITRAMFS_COMPRESSION_LZ4
bool "LZ4"
- depends on RD_LZ4
+ depends on INITRAMFS_DECOMPRESS_LZ4
help
It's compression ratio is the poorest amongst the choices. The kernel
size is about 15% bigger than gzip; however its decompression speed
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 62/62] init: rename CONFIG_RD_ZSTD to CONFIG_INITRAMFS_DECOMPRESS_ZSTD
From: Askar Safin @ 2025-09-14 4:04 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
Initrd support was removed,
and CONFIG_RD_ZSTD has nothing to do with ramdisks.
Update your configs
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
arch/riscv/configs/nommu_k210_defconfig | 2 +-
usr/Kconfig | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/riscv/configs/nommu_k210_defconfig b/arch/riscv/configs/nommu_k210_defconfig
index 6e961256a941..68cae0496b54 100644
--- a/arch/riscv/configs/nommu_k210_defconfig
+++ b/arch/riscv/configs/nommu_k210_defconfig
@@ -7,7 +7,7 @@ CONFIG_INITRAMFS=y
# CONFIG_INITRAMFS_DECOMPRESS_XZ is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZO is not set
# CONFIG_INITRAMFS_DECOMPRESS_LZ4 is not set
-# CONFIG_RD_ZSTD is not set
+# CONFIG_INITRAMFS_DECOMPRESS_ZSTD is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_SYSFS_SYSCALL is not set
# CONFIG_FHANDLE is not set
diff --git a/usr/Kconfig b/usr/Kconfig
index 3a891a0c9ef4..06e1c1474b68 100644
--- a/usr/Kconfig
+++ b/usr/Kconfig
@@ -100,7 +100,7 @@ config INITRAMFS_DECOMPRESS_LZ4
Support loading of a LZ4 encoded initial ramfs.
If unsure, say N.
-config RD_ZSTD
+config INITRAMFS_DECOMPRESS_ZSTD
bool "Support initial ramfs compressed using ZSTD"
default y
select DECOMPRESS_ZSTD
@@ -206,7 +206,7 @@ config INITRAMFS_COMPRESSION_LZ4
config INITRAMFS_COMPRESSION_ZSTD
bool "ZSTD"
- depends on RD_ZSTD
+ depends on INITRAMFS_DECOMPRESS_ZSTD
help
ZSTD is a compression algorithm targeting intermediate compression
with fast decompression speed. It will compress better than GZIP and
--
2.47.2
^ permalink raw reply related
* Re: [PATCH RESEND 00/62] initrd: remove classic initrd support
From: Askar Safin @ 2025-09-14 4:19 UTC (permalink / raw)
To: safinaskar
Cc: akpm, andy.shevchenko, axboe, brauner, cyphar, devicetree,
ecurtin, email2tema, graf, gregkh, hca, hch, hsiangkao, initramfs,
jack, julian.stecklina, kees, linux-acpi, linux-alpha, linux-api,
linux-arch, linux-arm-kernel, linux-block, linux-csky, linux-doc,
linux-efi, linux-ext4, linux-fsdevel, linux-hexagon, linux-kernel,
linux-m68k, linux-mips, linux-openrisc, linux-parisc, linux-riscv,
linux-s390, linux-sh, linux-snps-arc, linux-um, linuxppc-dev,
loongarch, mcgrof, mingo, monstr, mzxreary, patches, rob,
sparclinux, thomas.weissschuh, thorsten.blum, torvalds, tytso,
viro, x86
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
Gmail banned me after first bunch of letters.
Just now I sent remaining letters.
So now the patchset is ready for review
--
Askar Safin
^ permalink raw reply
* Re: [PATCH RESEND 21/62] init: remove all mentions of root=/dev/ram*
From: Krzysztof Kozlowski @ 2025-09-14 10:06 UTC (permalink / raw)
To: Askar Safin, linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-22-safinaskar@gmail.com>
On 13/09/2025 02:38, Askar Safin wrote:
> Initrd support is removed, so root=/dev/ram* is never correct
For all your other patches (here is correct):
Please wrap commit message according to Linux coding style / submission
process (neither too early nor over the limit):
https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597
>
> Signed-off-by: Askar Safin <safinaskar@gmail.com>
> ---
> Documentation/admin-guide/kernel-parameters.txt | 3 +--
> Documentation/arch/m68k/kernel-options.rst | 9 ++-------
> arch/arm/boot/dts/arm/integratorap.dts | 2 +-
> arch/arm/boot/dts/arm/integratorcp.dts | 2 +-
> arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-cmm.dts | 2 +-
> .../boot/dts/aspeed/aspeed-bmc-facebook-galaxy100.dts | 2 +-
> .../arm/boot/dts/aspeed/aspeed-bmc-facebook-minipack.dts | 2 +-
> .../arm/boot/dts/aspeed/aspeed-bmc-facebook-wedge100.dts | 2 +-
> arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-wedge40.dts | 2 +-
> arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-yamp.dts | 2 +-
> .../boot/dts/aspeed/ast2600-facebook-netbmc-common.dtsi | 2 +-
No, don't do that. DTS is always separate. Don't mix DTS into such huge
patchbom, either.
> arch/arm/boot/dts/hisilicon/hi3620-hi4511.dts | 2 +-
> .../boot/dts/intel/ixp/intel-ixp42x-welltech-epbx100.dts | 2 +-
> arch/arm/boot/dts/nspire/nspire-classic.dtsi | 2 +-
> arch/arm/boot/dts/nspire/nspire-cx.dts | 2 +-
> arch/arm/boot/dts/samsung/exynos4210-origen.dts | 2 +-
> arch/arm/boot/dts/samsung/exynos4210-smdkv310.dts | 2 +-
> arch/arm/boot/dts/samsung/exynos4412-smdk4412.dts | 2 +-
> arch/arm/boot/dts/samsung/exynos5250-smdk5250.dts | 2 +-
> arch/arm/boot/dts/st/ste-nomadik-nhk15.dts | 2 +-
> arch/arm/boot/dts/st/ste-nomadik-s8815.dts | 2 +-
> arch/arm/boot/dts/st/stm32429i-eval.dts | 2 +-
> arch/arm/boot/dts/st/stm32746g-eval.dts | 2 +-
> arch/arm/boot/dts/st/stm32f429-disco.dts | 2 +-
> arch/arm/boot/dts/st/stm32f469-disco.dts | 2 +-
> arch/arm/boot/dts/st/stm32f746-disco.dts | 2 +-
> arch/arm/boot/dts/st/stm32f769-disco.dts | 2 +-
> arch/arm/boot/dts/st/stm32h743i-disco.dts | 2 +-
> arch/arm/boot/dts/st/stm32h743i-eval.dts | 2 +-
> arch/arm/boot/dts/st/stm32h747i-disco.dts | 2 +-
> arch/arm/boot/dts/st/stm32h750i-art-pi.dts | 2 +-
> arch/arm/configs/assabet_defconfig | 2 +-
> arch/arm/configs/at91_dt_defconfig | 2 +-
> arch/arm/configs/exynos_defconfig | 2 +-
To me your patchset is way too big bomb, too difficult to review. You
touch too many subsystems in the same commits. In few cases I saw
dependency, in other cases like here - there is no dependency! So why
grouping independent things together? It only makes it difficult to review.
Anyway, combining here DTS is a no-go for me.
Best regards,
Krzysztof
^ permalink raw reply
* Re: [PATCH RESEND 00/62] initrd: remove classic initrd support
From: Krzysztof Kozlowski @ 2025-09-14 10:08 UTC (permalink / raw)
To: Askar Safin, linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
On 13/09/2025 02:37, Askar Safin wrote:
> Intro
> ====
> This patchset removes classic initrd (initial RAM disk) support,
> which was deprecated in 2020.
> Initramfs still stays, and RAM disk itself (brd) still stays, too.
> init/do_mounts* and init/*initramfs* are listed in VFS entry in
> MAINTAINERS, so I think this patchset should go through VFS tree.
No, DTS cannot go via VFS directory, that's a clear NAK.
For all other arch changes, are you sure you have everywhere actual
dependency so it has to be combined together? Rather please look how to
split it into logical bisectsble chunks, where some cleanups could be
made independent.
> This patchset touchs every subdirectory in arch/, so I tested it
> on 8 (!!!) archs in Qemu (see details below).
> Warning: this patchset renames CONFIG_BLK_DEV_INITRD (!!!) to CONFIG_INITRAMFS
> and CONFIG_RD_* to CONFIG_INITRAMFS_DECOMPRESS_* (for example,
> CONFIG_RD_GZIP to CONFIG_INITRAMFS_DECOMPRESS_GZIP).
> If you still use initrd, see below for workaround.
Best regards,
Krzysztof
^ permalink raw reply
* Re: [PATCH RESEND 21/62] init: remove all mentions of root=/dev/ram*
From: Andrew Morton @ 2025-09-14 20:13 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Askar Safin, linux-fsdevel, linux-kernel, Linus Torvalds,
Greg Kroah-Hartman, Christian Brauner, Al Viro, Jan Kara,
Christoph Hellwig, Jens Axboe, Andy Shevchenko, Aleksa Sarai,
Thomas Weißschuh, Julian Stecklina, Gao Xiang, Art Nikpal,
Eric Curtin, Alexander Graf, Rob Landley, Lennart Poettering,
linux-arch, linux-alpha, linux-snps-arc, linux-arm-kernel,
linux-csky, linux-hexagon, loongarch, linux-m68k, linux-mips,
linux-openrisc, linux-parisc, linuxppc-dev, linux-riscv,
linux-s390, linux-sh, sparclinux, linux-um, x86, Ingo Molnar,
linux-block, initramfs, linux-api, linux-doc, linux-efi,
linux-ext4, Theodore Y . Ts'o, linux-acpi, Michal Simek,
devicetree, Luis Chamberlain, Kees Cook, Thorsten Blum,
Heiko Carstens, patches
In-Reply-To: <a079375f-38c2-4f38-b2be-57737084fde8@kernel.org>
On Sun, 14 Sep 2025 12:06:24 +0200 Krzysztof Kozlowski <krzk@kernel.org> wrote:
> > Documentation/admin-guide/kernel-parameters.txt | 3 +--
> > Documentation/arch/m68k/kernel-options.rst | 9 ++-------
> > arch/arm/boot/dts/arm/integratorap.dts | 2 +-
> > arch/arm/boot/dts/arm/integratorcp.dts | 2 +-
> > arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-cmm.dts | 2 +-
> > .../boot/dts/aspeed/aspeed-bmc-facebook-galaxy100.dts | 2 +-
> > .../arm/boot/dts/aspeed/aspeed-bmc-facebook-minipack.dts | 2 +-
> > .../arm/boot/dts/aspeed/aspeed-bmc-facebook-wedge100.dts | 2 +-
> > arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-wedge40.dts | 2 +-
> > arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-yamp.dts | 2 +-
> > .../boot/dts/aspeed/ast2600-facebook-netbmc-common.dtsi | 2 +-
>
> No, don't do that. DTS is always separate.
Why can't DTS changes be carried in a different tree?
^ permalink raw reply
* Re: [PATCH RESEND 21/62] init: remove all mentions of root=/dev/ram*
From: Krzysztof Kozlowski @ 2025-09-15 4:41 UTC (permalink / raw)
To: Andrew Morton
Cc: Askar Safin, linux-fsdevel, linux-kernel, Linus Torvalds,
Greg Kroah-Hartman, Christian Brauner, Al Viro, Jan Kara,
Christoph Hellwig, Jens Axboe, Andy Shevchenko, Aleksa Sarai,
Thomas Weißschuh, Julian Stecklina, Gao Xiang, Art Nikpal,
Eric Curtin, Alexander Graf, Rob Landley, Lennart Poettering,
linux-arch, linux-alpha, linux-snps-arc, linux-arm-kernel,
linux-csky, linux-hexagon, loongarch, linux-m68k, linux-mips,
linux-openrisc, linux-parisc, linuxppc-dev, linux-riscv,
linux-s390, linux-sh, sparclinux, linux-um, x86, Ingo Molnar,
linux-block, initramfs, linux-api, linux-doc, linux-efi,
linux-ext4, Theodore Y . Ts'o, linux-acpi, Michal Simek,
devicetree, Luis Chamberlain, Kees Cook, Thorsten Blum,
Heiko Carstens, patches
In-Reply-To: <20250914131321.df00dfc835be48c10f4cce4b@linux-foundation.org>
On 14/09/2025 22:13, Andrew Morton wrote:
> On Sun, 14 Sep 2025 12:06:24 +0200 Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
>>> Documentation/admin-guide/kernel-parameters.txt | 3 +--
>>> Documentation/arch/m68k/kernel-options.rst | 9 ++-------
>>> arch/arm/boot/dts/arm/integratorap.dts | 2 +-
>>> arch/arm/boot/dts/arm/integratorcp.dts | 2 +-
>>> arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-cmm.dts | 2 +-
>>> .../boot/dts/aspeed/aspeed-bmc-facebook-galaxy100.dts | 2 +-
>>> .../arm/boot/dts/aspeed/aspeed-bmc-facebook-minipack.dts | 2 +-
>>> .../arm/boot/dts/aspeed/aspeed-bmc-facebook-wedge100.dts | 2 +-
>>> arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-wedge40.dts | 2 +-
>>> arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-yamp.dts | 2 +-
>>> .../boot/dts/aspeed/ast2600-facebook-netbmc-common.dtsi | 2 +-
>>
>> No, don't do that. DTS is always separate.
>
> Why can't DTS changes be carried in a different tree?
It must be carried in a different kernel tree and it must be ALWAYS a
separate commit. Embedding it in the middle of this patchset and in the
middle of some other commit breaks these two rules.
If you asked why it cannot be carried by VFS (or by any non-SoC tree in
general), it is because DTS is completely independent hardware
description, so by keeping it on separate tree we enforce that rule of
lack of dependency between DTS and any driver or core code.
If there is a dependency here, then it would be a NAK, because there
cannot be such - it would be a breach of contract for outside users (DTS
is shared with other, non-Linux projects).
Best regards,
Krzysztof
^ permalink raw reply
* Re: [PATCH RESEND 13/62] ext2: remove ext2_image_size and associated code
From: Jan Kara @ 2025-09-15 9:19 UTC (permalink / raw)
To: Askar Safin
Cc: linux-fsdevel, linux-kernel, Linus Torvalds, Greg Kroah-Hartman,
Christian Brauner, Al Viro, Jan Kara, Christoph Hellwig,
Jens Axboe, Andy Shevchenko, Aleksa Sarai, Thomas Weißschuh,
Julian Stecklina, Gao Xiang, Art Nikpal, Andrew Morton,
Eric Curtin, Alexander Graf, Rob Landley, Lennart Poettering,
linux-arch, linux-alpha, linux-snps-arc, linux-arm-kernel,
linux-csky, linux-hexagon, loongarch, linux-m68k, linux-mips,
linux-openrisc, linux-parisc, linuxppc-dev, linux-riscv,
linux-s390, linux-sh, sparclinux, linux-um, x86, Ingo Molnar,
linux-block, initramfs, linux-api, linux-doc, linux-efi,
linux-ext4, Theodore Y . Ts'o, linux-acpi, Michal Simek,
devicetree, Luis Chamberlain, Kees Cook, Thorsten Blum,
Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-14-safinaskar@gmail.com>
On Sat 13-09-25 00:37:52, Askar Safin wrote:
> It is not used anymore
>
> Signed-off-by: Askar Safin <safinaskar@gmail.com>
Looks good.
Acked-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/ext2/ext2.h | 9 ---------
> include/linux/ext2_fs.h | 13 -------------
> 2 files changed, 22 deletions(-)
>
> diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h
> index cf97b76e9fd3..d623a14040d9 100644
> --- a/fs/ext2/ext2.h
> +++ b/fs/ext2/ext2.h
> @@ -608,15 +608,6 @@ struct ext2_dir_entry_2 {
> ~EXT2_DIR_ROUND)
> #define EXT2_MAX_REC_LEN ((1<<16)-1)
>
> -static inline void verify_offsets(void)
> -{
> -#define A(x,y) BUILD_BUG_ON(x != offsetof(struct ext2_super_block, y));
> - A(EXT2_SB_MAGIC_OFFSET, s_magic);
> - A(EXT2_SB_BLOCKS_OFFSET, s_blocks_count);
> - A(EXT2_SB_BSIZE_OFFSET, s_log_block_size);
> -#undef A
> -}
> -
> /*
> * ext2 mount options
> */
> diff --git a/include/linux/ext2_fs.h b/include/linux/ext2_fs.h
> index 1fef88569037..e5ebe6cdf06c 100644
> --- a/include/linux/ext2_fs.h
> +++ b/include/linux/ext2_fs.h
> @@ -27,17 +27,4 @@
> */
> #define EXT2_LINK_MAX 32000
>
> -#define EXT2_SB_MAGIC_OFFSET 0x38
> -#define EXT2_SB_BLOCKS_OFFSET 0x04
> -#define EXT2_SB_BSIZE_OFFSET 0x18
> -
> -static inline u64 ext2_image_size(void *ext2_sb)
> -{
> - __u8 *p = ext2_sb;
> - if (*(__le16 *)(p + EXT2_SB_MAGIC_OFFSET) != cpu_to_le16(EXT2_SUPER_MAGIC))
> - return 0;
> - return (u64)le32_to_cpup((__le32 *)(p + EXT2_SB_BLOCKS_OFFSET)) <<
> - le32_to_cpup((__le32 *)(p + EXT2_SB_BSIZE_OFFSET));
> -}
> -
> #endif /* _LINUX_EXT2_FS_H */
> --
> 2.47.2
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH RESEND 04/62] init: x86, arm, sh, sparc: remove variable rd_image_start, which controls starting block number of initrd
From: Christophe Leroy @ 2025-09-15 11:43 UTC (permalink / raw)
To: Askar Safin, linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-5-safinaskar@gmail.com>
Le 13/09/2025 à 02:37, Askar Safin a écrit :
> [Vous ne recevez pas souvent de courriers de safinaskar@gmail.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
>
> This is preparation for initrd removal
>
> Signed-off-by: Askar Safin <safinaskar@gmail.com>
> ---
> Documentation/arch/x86/boot.rst | 4 ++--
> arch/arm/kernel/atags_parse.c | 2 --
> arch/sh/include/asm/setup.h | 1 -
> arch/sh/kernel/head_32.S | 2 +-
> arch/sh/kernel/setup.c | 9 +--------
> arch/sparc/boot/piggyback.c | 4 ++--
> arch/sparc/kernel/head_32.S | 4 ++--
> arch/sparc/kernel/head_64.S | 6 ++++--
> arch/sparc/kernel/setup_32.c | 5 -----
> arch/sparc/kernel/setup_64.c | 5 -----
> arch/x86/boot/header.S | 2 +-
> arch/x86/include/uapi/asm/bootparam.h | 5 +----
> arch/x86/kernel/setup.c | 5 -----
> include/linux/initrd.h | 3 ---
> init/do_mounts_rd.c | 8 +++-----
> 15 files changed, 17 insertions(+), 48 deletions(-)
>
> diff --git a/Documentation/arch/x86/boot.rst b/Documentation/arch/x86/boot.rst
> index 77e6163288db..118aa7b69667 100644
> --- a/Documentation/arch/x86/boot.rst
> +++ b/Documentation/arch/x86/boot.rst
> @@ -189,7 +189,7 @@ Offset/Size Proto Name Meaning
> 01F1/1 ALL(1) setup_sects The size of the setup in sectors
> 01F2/2 ALL root_flags If set, the root is mounted readonly
> 01F4/4 2.04+(2) syssize The size of the 32-bit code in 16-byte paras
> -01F8/2 ALL ram_size DO NOT USE - for bootsect.S use only
> +01F8/2 ALL ram_size DO NOT USE - for bootsect.S use only - used to control initrd, which was removed from Linux in 2025
Is this change really needed/usefull. Here people can think it shall not
be used because it is removed in 2025. But it reality it was already
DO-NOT-USE 20 years old.
> 01FA/2 ALL vid_mode Video mode control
> 01FC/2 ALL root_dev Default root device number
> 01FE/2 ALL boot_flag 0xAA55 magic number
> @@ -308,7 +308,7 @@ Offset/size: 0x1f8/2
> Protocol: ALL
> ============ ===============
>
> - This field is obsolete.
> + This field is obsolete. Used to control initrd, which was removed from Linux in 2025.
Same comment, this field has been obsolete long before the removal of
initrd in 2025 so that new comment bring confusion.
>
> ============ ===================
> Field name: vid_mode
> diff --git a/arch/arm/kernel/atags_parse.c b/arch/arm/kernel/atags_parse.c
> index 4ec591bde3df..a3f0a4f84e04 100644
> --- a/arch/arm/kernel/atags_parse.c
> +++ b/arch/arm/kernel/atags_parse.c
> @@ -90,8 +90,6 @@ __tagtable(ATAG_VIDEOTEXT, parse_tag_videotext);
> #ifdef CONFIG_BLK_DEV_RAM
> static int __init parse_tag_ramdisk(const struct tag *tag)
> {
> - rd_image_start = tag->u.ramdisk.start;
> -
> if (tag->u.ramdisk.size)
> rd_size = tag->u.ramdisk.size;
>
> diff --git a/arch/sh/include/asm/setup.h b/arch/sh/include/asm/setup.h
> index 84bb23a771f3..d1b97c5726e4 100644
> --- a/arch/sh/include/asm/setup.h
> +++ b/arch/sh/include/asm/setup.h
> @@ -10,7 +10,6 @@
> #define PARAM ((unsigned char *)empty_zero_page)
>
> #define MOUNT_ROOT_RDONLY (*(unsigned long *) (PARAM+0x000))
> -#define RAMDISK_FLAGS (*(unsigned long *) (PARAM+0x004))
> #define ORIG_ROOT_DEV (*(unsigned long *) (PARAM+0x008))
> #define LOADER_TYPE (*(unsigned long *) (PARAM+0x00c))
> #define INITRD_START (*(unsigned long *) (PARAM+0x010))
> diff --git a/arch/sh/kernel/head_32.S b/arch/sh/kernel/head_32.S
> index b603b7968b38..4382c0f058c8 100644
> --- a/arch/sh/kernel/head_32.S
> +++ b/arch/sh/kernel/head_32.S
> @@ -28,7 +28,7 @@
> .section .empty_zero_page, "aw"
> ENTRY(empty_zero_page)
> .long 1 /* MOUNT_ROOT_RDONLY */
> - .long 0 /* RAMDISK_FLAGS */
> + .long 0 /* RAMDISK_FLAGS - used to control initrd, which was removed from Linux in 2025 */
> .long 0x0200 /* ORIG_ROOT_DEV */
> .long 1 /* LOADER_TYPE */
> .long 0x00000000 /* INITRD_START */
> diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
> index d66f098e9e9f..50f1d39fe34f 100644
> --- a/arch/sh/kernel/setup.c
> +++ b/arch/sh/kernel/setup.c
> @@ -70,8 +70,6 @@ EXPORT_SYMBOL(sh_mv);
>
> extern int root_mountflags;
>
> -#define RAMDISK_IMAGE_START_MASK 0x07FF
> -
> static char __initdata command_line[COMMAND_LINE_SIZE] = { 0, };
>
> static struct resource code_resource = {
> @@ -273,19 +271,14 @@ void __init setup_arch(char **cmdline_p)
>
> printk(KERN_NOTICE "Boot params:\n"
> "... MOUNT_ROOT_RDONLY - %08lx\n"
> - "... RAMDISK_FLAGS - %08lx\n"
> "... ORIG_ROOT_DEV - %08lx\n"
> "... LOADER_TYPE - %08lx\n"
> "... INITRD_START - %08lx\n"
> "... INITRD_SIZE - %08lx\n",
> - MOUNT_ROOT_RDONLY, RAMDISK_FLAGS,
> + MOUNT_ROOT_RDONLY,
> ORIG_ROOT_DEV, LOADER_TYPE,
> INITRD_START, INITRD_SIZE);
>
> -#ifdef CONFIG_BLK_DEV_RAM
> - rd_image_start = RAMDISK_FLAGS & RAMDISK_IMAGE_START_MASK;
> -#endif
> -
> if (!MOUNT_ROOT_RDONLY)
> root_mountflags &= ~MS_RDONLY;
> setup_initial_init_mm(_text, _etext, _edata, _end);
> diff --git a/arch/sparc/boot/piggyback.c b/arch/sparc/boot/piggyback.c
> index 6d74064add0a..a9cc55254ff8 100644
> --- a/arch/sparc/boot/piggyback.c
> +++ b/arch/sparc/boot/piggyback.c
> @@ -220,8 +220,8 @@ int main(int argc,char **argv)
>
> /*
> * root_flags = 0
> - * root_dev = 1 (RAMDISK_MAJOR)
> - * ram_flags = 0
> + * root_dev = 1 (1 used to mean RAMDISK_MAJOR, i. e. initrd, which was removed from Linux)
At the end of your series RAMDISK_MAJOR still exists so this comment is
wrong.
> + * ram_flags = 0 (used to control initrd, which was removed from Linux in 2025)
> * sparc_ramdisk_image = "PAGE aligned address after _end")
> * sparc_ramdisk_size = size of image
> */
Shouldn't this block be droped entirely ?
> diff --git a/arch/sparc/kernel/head_32.S b/arch/sparc/kernel/head_32.S
> index 38345460d542..46f0e39b9037 100644
> --- a/arch/sparc/kernel/head_32.S
> +++ b/arch/sparc/kernel/head_32.S
> @@ -65,7 +65,7 @@ empty_zero_page: .skip PAGE_SIZE
> EXPORT_SYMBOL(empty_zero_page)
>
> .global root_flags
> - .global ram_flags
> + .global ram_flags /* used to control initrd, which was removed from Linux in 2025 */
Can we remove this line completely instead of adding a comment ?
> .global root_dev
> .global sparc_ramdisk_image
> .global sparc_ramdisk_size
> @@ -81,7 +81,7 @@ root_flags:
> .half 1
> root_dev:
> .half 0
> -ram_flags:
> +ram_flags: /* used to control initrd, which was removed from Linux in 2025 */
Same, why not remove this object completely ?
> .half 0
> sparc_ramdisk_image:
> .word 0
> diff --git a/arch/sparc/kernel/head_64.S b/arch/sparc/kernel/head_64.S
> index cf0549134234..4480c0532fe9 100644
> --- a/arch/sparc/kernel/head_64.S
> +++ b/arch/sparc/kernel/head_64.S
> @@ -52,7 +52,9 @@ stext:
> * Fields should be kept upward compatible and whenever any change is made,
> * HdrS version should be incremented.
> */
> - .global root_flags, ram_flags, root_dev
> + .global root_flags
> + .global ram_flags /* used to control initrd, which was removed from Linux in 2025 */
Same, can you remove them ?
Such comments in the code are generaly pointless, you can recover
history with 'git log'.
> + .global root_dev
> .global sparc_ramdisk_image, sparc_ramdisk_size
> .global sparc_ramdisk_image64
>
> @@ -71,7 +73,7 @@ root_flags:
> .half 1
> root_dev:
> .half 0
> -ram_flags:
> +ram_flags: /* used to control initrd, which was removed from Linux in 2025 */
Same, remove.
> .half 0
> sparc_ramdisk_image:
> .word 0
> diff --git a/arch/sparc/kernel/setup_32.c b/arch/sparc/kernel/setup_32.c
> index eb60be31127f..fb46fb3acf54 100644
> --- a/arch/sparc/kernel/setup_32.c
> +++ b/arch/sparc/kernel/setup_32.c
> @@ -170,8 +170,6 @@ static void __init boot_flags_init(char *commands)
>
> extern unsigned short root_flags;
> extern unsigned short root_dev;
> -extern unsigned short ram_flags;
> -#define RAMDISK_IMAGE_START_MASK 0x07FF
>
> extern int root_mountflags;
>
> @@ -335,9 +333,6 @@ void __init setup_arch(char **cmdline_p)
> if (!root_flags)
> root_mountflags &= ~MS_RDONLY;
> ROOT_DEV = old_decode_dev(root_dev);
> -#ifdef CONFIG_BLK_DEV_RAM
> - rd_image_start = ram_flags & RAMDISK_IMAGE_START_MASK;
> -#endif
>
> prom_setsync(prom_sync_me);
>
> diff --git a/arch/sparc/kernel/setup_64.c b/arch/sparc/kernel/setup_64.c
> index f728f1b00aca..79b56613c6d8 100644
> --- a/arch/sparc/kernel/setup_64.c
> +++ b/arch/sparc/kernel/setup_64.c
> @@ -143,8 +143,6 @@ static void __init boot_flags_init(char *commands)
>
> extern unsigned short root_flags;
> extern unsigned short root_dev;
> -extern unsigned short ram_flags;
> -#define RAMDISK_IMAGE_START_MASK 0x07FF
>
> extern int root_mountflags;
>
> @@ -640,9 +638,6 @@ void __init setup_arch(char **cmdline_p)
> if (!root_flags)
> root_mountflags &= ~MS_RDONLY;
> ROOT_DEV = old_decode_dev(root_dev);
> -#ifdef CONFIG_BLK_DEV_RAM
> - rd_image_start = ram_flags & RAMDISK_IMAGE_START_MASK;
> -#endif
>
> #ifdef CONFIG_IP_PNP
> if (!ic_set_manually) {
> diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S
> index 9bea5a1e2c52..0ced2e9f100e 100644
> --- a/arch/x86/boot/header.S
> +++ b/arch/x86/boot/header.S
> @@ -235,7 +235,7 @@ hdr:
> .byte setup_sects - 1
> root_flags: .word ROOT_RDONLY
> syssize: .long ZO__edata / 16
> -ram_size: .word 0 /* Obsolete */
> +ram_size: .word 0 /* Used to control initrd, which was removed from Linux in 2025 */
Same, just remove, or make 'reserved' if you need to keep the space.
> vid_mode: .word SVGA_MODE
> root_dev: .word 0 /* Default to major/minor 0/0 */
> boot_flag: .word 0xAA55
> diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h
> index f53dd3f319ba..bf56549f79bb 100644
> --- a/arch/x86/include/uapi/asm/bootparam.h
> +++ b/arch/x86/include/uapi/asm/bootparam.h
> @@ -4,9 +4,6 @@
>
> #include <asm/setup_data.h>
>
> -/* ram_size flags */
> -#define RAMDISK_IMAGE_START_MASK 0x07FF
> -
> /* loadflags */
> #define LOADED_HIGH (1<<0)
> #define KASLR_FLAG (1<<1)
> @@ -37,7 +34,7 @@ struct setup_header {
> __u8 setup_sects;
> __u16 root_flags;
> __u32 syssize;
> - __u16 ram_size;
> + __u16 ram_size; /* used to control initrd, which was removed from Linux in 2025 */
Rename it to 'reserved'.
> __u16 vid_mode;
> __u16 root_dev;
> __u16 boot_flag;
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 6409e766fb17..797c3c9fc75e 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -222,8 +222,6 @@ extern int root_mountflags;
>
> unsigned long saved_video_mode;
>
> -#define RAMDISK_IMAGE_START_MASK 0x07FF
> -
> static char __initdata command_line[COMMAND_LINE_SIZE];
> #ifdef CONFIG_CMDLINE_BOOL
> char builtin_cmdline[COMMAND_LINE_SIZE] = CONFIG_CMDLINE;
> @@ -541,9 +539,6 @@ static void __init parse_boot_params(void)
> bootloader_version = bootloader_type & 0xf;
> bootloader_version |= boot_params.hdr.ext_loader_ver << 4;
>
> -#ifdef CONFIG_BLK_DEV_RAM
> - rd_image_start = boot_params.hdr.ram_size & RAMDISK_IMAGE_START_MASK;
> -#endif
> #ifdef CONFIG_EFI
> if (!strncmp((char *)&boot_params.efi_info.efi_loader_signature,
> EFI32_LOADER_SIGNATURE, 4)) {
> diff --git a/include/linux/initrd.h b/include/linux/initrd.h
> index f1a1f4c92ded..6320a9cb6686 100644
> --- a/include/linux/initrd.h
> +++ b/include/linux/initrd.h
> @@ -5,9 +5,6 @@
>
> #define INITRD_MINOR 250 /* shouldn't collide with /dev/ram* too soon ... */
>
> -/* starting block # of image */
> -extern int rd_image_start;
> -
> /* size of a single RAM disk */
> extern unsigned long rd_size;
>
> diff --git a/init/do_mounts_rd.c b/init/do_mounts_rd.c
> index f7d53bc21e41..8e0a774a9c6f 100644
> --- a/init/do_mounts_rd.c
> +++ b/init/do_mounts_rd.c
> @@ -17,11 +17,9 @@
> static struct file *in_file, *out_file;
> static loff_t in_pos, out_pos;
>
> -int __initdata rd_image_start; /* starting block # of image */
Why do you need to change this really ? In any case this entire file
goes away in a later patch so you shouldn't bother to update that.
> -
> static int __init ramdisk_start_setup(char *str)
> {
> - rd_image_start = simple_strtol(str,NULL,0);
> + /* will be removed in next commit */
Useless comment, don't add such burden.
> return 1;
> }
> __setup("ramdisk_start=", ramdisk_start_setup);
> @@ -60,7 +58,7 @@ identify_ramdisk_image(struct file *file, loff_t pos,
> unsigned char *buf;
> const char *compress_name;
> unsigned long n;
> - int start_block = rd_image_start;
> + int start_block = 0;
Don't change, it is removed later.
>
> buf = kmalloc(size, GFP_KERNEL);
> if (!buf)
> @@ -196,7 +194,7 @@ int __init rd_load_image(char *from)
> if (IS_ERR(in_file))
> goto noclose_input;
>
> - in_pos = rd_image_start * BLOCK_SIZE;
> + in_pos = 0;
Same
> nblocks = identify_ramdisk_image(in_file, in_pos, &decompressor);
> if (nblocks < 0)
> goto done;
> --
> 2.47.2
>
>
^ permalink raw reply
* Re: [PATCH RESEND 03/62] init: sh, sparc, x86: remove unused constants RAMDISK_PROMPT_FLAG and RAMDISK_LOAD_FLAG
From: Christophe Leroy @ 2025-09-15 11:19 UTC (permalink / raw)
To: Askar Safin, linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches, stable+noautosel
In-Reply-To: <20250913003842.41944-4-safinaskar@gmail.com>
Le 13/09/2025 à 02:37, Askar Safin a écrit :
> [Vous ne recevez pas souvent de courriers de safinaskar@gmail.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
>
> They were used for initrd before c8376994c86.
>
> c8376994c86c made them unused and forgot to remove them
>
> Fixes: c8376994c86c ("initrd: remove support for multiple floppies")
> Cc: <stable+noautosel@kernel.org> # because changes uapi headers
> Signed-off-by: Askar Safin <safinaskar@gmail.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
> ---
> arch/sh/kernel/setup.c | 2 --
> arch/sparc/kernel/setup_32.c | 2 --
> arch/sparc/kernel/setup_64.c | 2 --
> arch/x86/include/uapi/asm/bootparam.h | 2 --
> arch/x86/kernel/setup.c | 2 --
> 5 files changed, 10 deletions(-)
>
> diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
> index 039a51291002..d66f098e9e9f 100644
> --- a/arch/sh/kernel/setup.c
> +++ b/arch/sh/kernel/setup.c
> @@ -71,8 +71,6 @@ EXPORT_SYMBOL(sh_mv);
> extern int root_mountflags;
>
> #define RAMDISK_IMAGE_START_MASK 0x07FF
> -#define RAMDISK_PROMPT_FLAG 0x8000
> -#define RAMDISK_LOAD_FLAG 0x4000
>
> static char __initdata command_line[COMMAND_LINE_SIZE] = { 0, };
>
> diff --git a/arch/sparc/kernel/setup_32.c b/arch/sparc/kernel/setup_32.c
> index 704375c061e7..eb60be31127f 100644
> --- a/arch/sparc/kernel/setup_32.c
> +++ b/arch/sparc/kernel/setup_32.c
> @@ -172,8 +172,6 @@ extern unsigned short root_flags;
> extern unsigned short root_dev;
> extern unsigned short ram_flags;
> #define RAMDISK_IMAGE_START_MASK 0x07FF
> -#define RAMDISK_PROMPT_FLAG 0x8000
> -#define RAMDISK_LOAD_FLAG 0x4000
>
> extern int root_mountflags;
>
> diff --git a/arch/sparc/kernel/setup_64.c b/arch/sparc/kernel/setup_64.c
> index 63615f5c99b4..f728f1b00aca 100644
> --- a/arch/sparc/kernel/setup_64.c
> +++ b/arch/sparc/kernel/setup_64.c
> @@ -145,8 +145,6 @@ extern unsigned short root_flags;
> extern unsigned short root_dev;
> extern unsigned short ram_flags;
> #define RAMDISK_IMAGE_START_MASK 0x07FF
> -#define RAMDISK_PROMPT_FLAG 0x8000
> -#define RAMDISK_LOAD_FLAG 0x4000
>
> extern int root_mountflags;
>
> diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h
> index dafbf581c515..f53dd3f319ba 100644
> --- a/arch/x86/include/uapi/asm/bootparam.h
> +++ b/arch/x86/include/uapi/asm/bootparam.h
> @@ -6,8 +6,6 @@
>
> /* ram_size flags */
> #define RAMDISK_IMAGE_START_MASK 0x07FF
> -#define RAMDISK_PROMPT_FLAG 0x8000
> -#define RAMDISK_LOAD_FLAG 0x4000
>
> /* loadflags */
> #define LOADED_HIGH (1<<0)
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 1b2edd07a3e1..6409e766fb17 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -223,8 +223,6 @@ extern int root_mountflags;
> unsigned long saved_video_mode;
>
> #define RAMDISK_IMAGE_START_MASK 0x07FF
> -#define RAMDISK_PROMPT_FLAG 0x8000
> -#define RAMDISK_LOAD_FLAG 0x4000
>
> static char __initdata command_line[COMMAND_LINE_SIZE];
> #ifdef CONFIG_CMDLINE_BOOL
> --
> 2.47.2
>
>
^ permalink raw reply
* Re: [PATCH RESEND 01/62] init: remove deprecated "load_ramdisk" command line parameter, which does nothing
From: Christophe Leroy @ 2025-09-15 11:17 UTC (permalink / raw)
To: Askar Safin, linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-2-safinaskar@gmail.com>
Le 13/09/2025 à 02:37, Askar Safin a écrit :
> [Vous ne recevez pas souvent de courriers de safinaskar@gmail.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
>
> This is preparation for initrd removal
Squash patch 1 and patch 2 together and say this is cleanup of two
options deprecated by commit c8376994c86c ("initrd: remove support for
multiple floppies") with the documentation by commit 6b99e6e6aa62
("Documentation/admin-guide: blockdev/ramdisk: remove use of "rdev"")
Christophe
>
> Signed-off-by: Askar Safin <safinaskar@gmail.com>
> ---
> Documentation/admin-guide/kernel-parameters.txt | 2 --
> arch/arm/configs/neponset_defconfig | 2 +-
> init/do_mounts.c | 7 -------
> 3 files changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index 747a55abf494..d3b05ce249ff 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -3275,8 +3275,6 @@
> If there are multiple matching configurations changing
> the same attribute, the last one is used.
>
> - load_ramdisk= [RAM] [Deprecated]
> -
> lockd.nlm_grace_period=P [NFS] Assign grace period.
> Format: <integer>
>
> diff --git a/arch/arm/configs/neponset_defconfig b/arch/arm/configs/neponset_defconfig
> index 2227f86100ad..16f7300239da 100644
> --- a/arch/arm/configs/neponset_defconfig
> +++ b/arch/arm/configs/neponset_defconfig
> @@ -9,7 +9,7 @@ CONFIG_ASSABET_NEPONSET=y
> CONFIG_ZBOOT_ROM_TEXT=0x80000
> CONFIG_ZBOOT_ROM_BSS=0xc1000000
> CONFIG_ZBOOT_ROM=y
> -CONFIG_CMDLINE="console=ttySA0,38400n8 cpufreq=221200 rw root=/dev/mtdblock2 mtdparts=sa1100:512K(boot),1M(kernel),2560K(initrd),4M(root) load_ramdisk=1 prompt_ramdisk=0 mem=32M noinitrd initrd=0xc0800000,3M"
> +CONFIG_CMDLINE="console=ttySA0,38400n8 cpufreq=221200 rw root=/dev/mtdblock2 mtdparts=sa1100:512K(boot),1M(kernel),2560K(initrd),4M(root) prompt_ramdisk=0 mem=32M noinitrd initrd=0xc0800000,3M"
> CONFIG_FPE_NWFPE=y
> CONFIG_PM=y
> CONFIG_MODULES=y
> diff --git a/init/do_mounts.c b/init/do_mounts.c
> index 6af29da8889e..0f2f44e6250c 100644
> --- a/init/do_mounts.c
> +++ b/init/do_mounts.c
> @@ -34,13 +34,6 @@ static int root_wait;
>
> dev_t ROOT_DEV;
>
> -static int __init load_ramdisk(char *str)
> -{
> - pr_warn("ignoring the deprecated load_ramdisk= option\n");
> - return 1;
> -}
> -__setup("load_ramdisk=", load_ramdisk);
> -
> static int __init readonly(char *str)
> {
> if (*str)
> --
> 2.47.2
>
>
^ permalink raw reply
* Re: [PATCH RESEND 02/62] init: remove deprecated "prompt_ramdisk" command line parameter, which does nothing
From: Christophe Leroy @ 2025-09-15 11:16 UTC (permalink / raw)
To: Askar Safin, linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-3-safinaskar@gmail.com>
Le 13/09/2025 à 02:37, Askar Safin a écrit :
> [Vous ne recevez pas souvent de courriers de safinaskar@gmail.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
>
> This is preparation for initrd removal
Squash patch 1 and patch 2 together and say this is cleanup of two
options deprecated by commit c8376994c86c ("initrd: remove support for
multiple floppies") with the documentation by commit 6b99e6e6aa62
("Documentation/admin-guide: blockdev/ramdisk: remove use of "rdev"")
Christophe
>
> Signed-off-by: Askar Safin <safinaskar@gmail.com>
> ---
> Documentation/admin-guide/kernel-parameters.txt | 2 --
> arch/arm/configs/neponset_defconfig | 2 +-
> init/do_mounts_rd.c | 7 -------
> 3 files changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index d3b05ce249ff..f940c1184912 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -5229,8 +5229,6 @@
> Param: <number> - step/bucket size as a power of 2 for
> statistical time based profiling.
>
> - prompt_ramdisk= [RAM] [Deprecated]
> -
> prot_virt= [S390] enable hosting protected virtual machines
> isolated from the hypervisor (if hardware supports
> that). If enabled, the default kernel base address
> diff --git a/arch/arm/configs/neponset_defconfig b/arch/arm/configs/neponset_defconfig
> index 16f7300239da..4d720001c12e 100644
> --- a/arch/arm/configs/neponset_defconfig
> +++ b/arch/arm/configs/neponset_defconfig
> @@ -9,7 +9,7 @@ CONFIG_ASSABET_NEPONSET=y
> CONFIG_ZBOOT_ROM_TEXT=0x80000
> CONFIG_ZBOOT_ROM_BSS=0xc1000000
> CONFIG_ZBOOT_ROM=y
> -CONFIG_CMDLINE="console=ttySA0,38400n8 cpufreq=221200 rw root=/dev/mtdblock2 mtdparts=sa1100:512K(boot),1M(kernel),2560K(initrd),4M(root) prompt_ramdisk=0 mem=32M noinitrd initrd=0xc0800000,3M"
> +CONFIG_CMDLINE="console=ttySA0,38400n8 cpufreq=221200 rw root=/dev/mtdblock2 mtdparts=sa1100:512K(boot),1M(kernel),2560K(initrd),4M(root) mem=32M noinitrd initrd=0xc0800000,3M"
> CONFIG_FPE_NWFPE=y
> CONFIG_PM=y
> CONFIG_MODULES=y
> diff --git a/init/do_mounts_rd.c b/init/do_mounts_rd.c
> index ac021ae6e6fa..f7d53bc21e41 100644
> --- a/init/do_mounts_rd.c
> +++ b/init/do_mounts_rd.c
> @@ -17,13 +17,6 @@
> static struct file *in_file, *out_file;
> static loff_t in_pos, out_pos;
>
> -static int __init prompt_ramdisk(char *str)
> -{
> - pr_warn("ignoring the deprecated prompt_ramdisk= option\n");
> - return 1;
> -}
> -__setup("prompt_ramdisk=", prompt_ramdisk);
> -
> int __initdata rd_image_start; /* starting block # of image */
>
> static int __init ramdisk_start_setup(char *str)
> --
> 2.47.2
>
>
^ permalink raw reply
* Re: [PATCH v4 0/4] procfs: make reference pidns more user-visible
From: Christian Brauner @ 2025-09-15 11:54 UTC (permalink / raw)
To: Aleksa Sarai
Cc: Alexander Viro, Jan Kara, Jonathan Corbet, Shuah Khan,
Andy Lutomirski, linux-kernel, linux-fsdevel, linux-api,
linux-doc, linux-kselftest
In-Reply-To: <2025-09-05-kinky-napping-auction-creeks-pbN1Vi@cyphar.com>
> The main issues are:
>
> 1. pid1 can often be non-dumpable, which can block you from doing that.
> In principle, because the dumpable flag is reset on execve, it is
> theoretically possible to get access to /proc/$pid/ns/pid if you win
> the race in a pid namespace with lots of process activity, but this
> kind of sucks.
>
> 2. This approach doesn't work for empty pid namesapces.
> pidns_for_children doesn't let you get a handle to an empty pid
> namespace either (I briefly looked at the history and it seems this
> was silently changed in v2 of the patchset based on some feedback
> that I'm not sure was entirely correct).
>
> 3. Now that you can configure the procfs mount, it seems like a
> half-baked interface to not provide diagnostic information about the
> namespace. (I suspect the criu folks would be happy to have this too
> ;).)
I think the easiest would be to add an ioctl that returns a pid
namespace based on a procfs root if the caller is located in the pid
namespace of the procfs instance (like
current_in_namespace(proc->pid_ns) or if the caller is privileged over
the owning ns. That would be simple and doesn't need to involve any
ptrace.
^ permalink raw reply
* Re: [PATCH RESEND 06/62] arm: init: remove special logic for setting brd.rd_size
From: Christophe Leroy @ 2025-09-15 11:53 UTC (permalink / raw)
To: Askar Safin, linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-7-safinaskar@gmail.com>
Le 13/09/2025 à 02:37, Askar Safin a écrit :
> [Vous ne recevez pas souvent de courriers de safinaskar@gmail.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
>
> There is no any reason for having special mechanism
> for setting ramdisk size.
That's you opinion.
You should explain why.
>
> Also this allows us to change rd_size variable to static
>
> Signed-off-by: Askar Safin <safinaskar@gmail.com>
> ---
> arch/arm/kernel/atags_parse.c | 12 ------------
> drivers/block/brd.c | 8 ++++----
> include/linux/initrd.h | 3 ---
What about:
arch/mips/kernel/setup.c:early_param("rd_size", rd_size_early);
Is it unrelated ?
> 3 files changed, 4 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/kernel/atags_parse.c b/arch/arm/kernel/atags_parse.c
> index a3f0a4f84e04..615d9e83c9b5 100644
> --- a/arch/arm/kernel/atags_parse.c
> +++ b/arch/arm/kernel/atags_parse.c
> @@ -87,18 +87,6 @@ static int __init parse_tag_videotext(const struct tag *tag)
> __tagtable(ATAG_VIDEOTEXT, parse_tag_videotext);
> #endif
>
> -#ifdef CONFIG_BLK_DEV_RAM
> -static int __init parse_tag_ramdisk(const struct tag *tag)
> -{
> - if (tag->u.ramdisk.size)
> - rd_size = tag->u.ramdisk.size;
> -
> - return 0;
> -}
> -
> -__tagtable(ATAG_RAMDISK, parse_tag_ramdisk);
> -#endif
> -
> static int __init parse_tag_serialnr(const struct tag *tag)
> {
> system_serial_low = tag->u.serialnr.low;
> diff --git a/drivers/block/brd.c b/drivers/block/brd.c
> index 0c2eabe14af3..72f02d2b8a99 100644
> --- a/drivers/block/brd.c
> +++ b/drivers/block/brd.c
> @@ -27,6 +27,10 @@
>
> #include <linux/uaccess.h>
>
> +static unsigned long rd_size = CONFIG_BLK_DEV_RAM_SIZE;
> +module_param(rd_size, ulong, 0444);
> +MODULE_PARM_DESC(rd_size, "Size of each RAM disk in kbytes.");
> +
> /*
> * Each block ramdisk device has a xarray brd_pages of pages that stores
> * the pages containing the block device's contents.
> @@ -209,10 +213,6 @@ static int rd_nr = CONFIG_BLK_DEV_RAM_COUNT;
> module_param(rd_nr, int, 0444);
> MODULE_PARM_DESC(rd_nr, "Maximum number of brd devices");
>
> -unsigned long rd_size = CONFIG_BLK_DEV_RAM_SIZE;
> -module_param(rd_size, ulong, 0444);
> -MODULE_PARM_DESC(rd_size, "Size of each RAM disk in kbytes.");
> -
> static int max_part = 1;
> module_param(max_part, int, 0444);
> MODULE_PARM_DESC(max_part, "Num Minors to reserve between devices");
> diff --git a/include/linux/initrd.h b/include/linux/initrd.h
> index 6320a9cb6686..b42235c21444 100644
> --- a/include/linux/initrd.h
> +++ b/include/linux/initrd.h
> @@ -5,9 +5,6 @@
>
> #define INITRD_MINOR 250 /* shouldn't collide with /dev/ram* too soon ... */
>
> -/* size of a single RAM disk */
> -extern unsigned long rd_size;
> -
> /* 1 if it is not an error if initrd_start < memory_start */
> extern int initrd_below_start_ok;
>
> --
> 2.47.2
>
>
^ permalink raw reply
* Re: [PATCH RESEND 08/62] arm: init: remove FLAG_RDLOAD and FLAG_RDPROMPT
From: Christophe Leroy @ 2025-09-15 11:54 UTC (permalink / raw)
To: Askar Safin, linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-9-safinaskar@gmail.com>
Le 13/09/2025 à 02:37, Askar Safin a écrit :
> [Vous ne recevez pas souvent de courriers de safinaskar@gmail.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
>
> They are unused since previous commit
Since which commit ?
>
> Signed-off-by: Askar Safin <safinaskar@gmail.com>
> ---
> Documentation/arch/arm/setup.rst | 4 ++--
> arch/arm/kernel/atags_compat.c | 2 --
> 2 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/arch/arm/setup.rst b/Documentation/arch/arm/setup.rst
> index 8e12ef3fb9a7..be77d4b2aac1 100644
> --- a/Documentation/arch/arm/setup.rst
> +++ b/Documentation/arch/arm/setup.rst
> @@ -35,8 +35,8 @@ below:
> ===== ========================
> bit 0 1 = mount root read only
> bit 1 unused
> - bit 2 0 = load ramdisk
> - bit 3 0 = prompt for ramdisk
> + bit 2 unused
> + bit 3 unused
> ===== ========================
>
> rootdev
> diff --git a/arch/arm/kernel/atags_compat.c b/arch/arm/kernel/atags_compat.c
> index b9747061fa97..8d04edee3066 100644
> --- a/arch/arm/kernel/atags_compat.c
> +++ b/arch/arm/kernel/atags_compat.c
> @@ -44,8 +44,6 @@ struct param_struct {
> unsigned long ramdisk_size; /* 8 */
> unsigned long flags; /* 12 */
> #define FLAG_READONLY 1
> -#define FLAG_RDLOAD 4
> -#define FLAG_RDPROMPT 8
> unsigned long rootdev; /* 16 */
> unsigned long video_num_cols; /* 20 */
> unsigned long video_num_rows; /* 24 */
> --
> 2.47.2
>
>
^ permalink raw reply
* Re: [PATCH RESEND 16/62] brd: remove "ramdisk_size" command line parameter
From: Christophe Leroy @ 2025-09-15 11:48 UTC (permalink / raw)
To: Askar Safin, linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-17-safinaskar@gmail.com>
Le 13/09/2025 à 02:37, Askar Safin a écrit :
> [Vous ne recevez pas souvent de courriers de safinaskar@gmail.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
>
> It was used mostly for initrd. It could be used only if
> brd is built-in. Use "brd.rd_size" instead
For me it would make more sense to remove ramdisk_start and ramdisk_size
at the same time.
>
> Signed-off-by: Askar Safin <safinaskar@gmail.com>
> ---
> .../admin-guide/kernel-parameters.txt | 3 ---
> Documentation/arch/m68k/kernel-options.rst | 20 ++-----------------
> arch/arm/configs/s3c6400_defconfig | 2 +-
> drivers/block/brd.c | 10 ----------
> 4 files changed, 3 insertions(+), 32 deletions(-)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index ad52e3d26014..e862a7b1d2ec 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -5279,9 +5279,6 @@
> raid= [HW,RAID]
> See Documentation/admin-guide/md.rst.
>
> - ramdisk_size= [RAM] Sizes of RAM disks in kilobytes
> - See Documentation/admin-guide/blockdev/ramdisk.rst.
> -
> random.trust_cpu=off
> [KNL,EARLY] Disable trusting the use of the CPU's
> random number generator (if available) to
> diff --git a/Documentation/arch/m68k/kernel-options.rst b/Documentation/arch/m68k/kernel-options.rst
> index 2008a20b4329..f6469ebeb2c7 100644
> --- a/Documentation/arch/m68k/kernel-options.rst
> +++ b/Documentation/arch/m68k/kernel-options.rst
> @@ -215,27 +215,11 @@ Devices possible for Atari:
> seconds.
>
>
> -2.6) ramdisk_size=
> -------------------
> -
> -:Syntax: ramdisk_size=<size>
> -
> -This option instructs the kernel to set up a ramdisk of the given
> -size in KBytes. Do not use this option if the ramdisk contents are
> -passed by bootstrap! In this case, the size is selected automatically
> -and should not be overwritten.
> -
> -The only application is for root filesystems on floppy disks, that
> -should be loaded into memory. To do that, select the corresponding
> -size of the disk as ramdisk size, and set the root device to the disk
> -drive (with "root=").
> -
> -
> -2.7) swap=
> +2.5) swap=
>
> I can't find any sign of this option in 2.2.6.
>
> -2.8) buff=
> +2.6) buff=
> -----------
>
> I can't find any sign of this option in 2.2.6.
> diff --git a/arch/arm/configs/s3c6400_defconfig b/arch/arm/configs/s3c6400_defconfig
> index a37e6ac40825..23635d5b9322 100644
> --- a/arch/arm/configs/s3c6400_defconfig
> +++ b/arch/arm/configs/s3c6400_defconfig
> @@ -4,7 +4,7 @@ CONFIG_ARCH_MULTI_V6=y
> # CONFIG_ARCH_MULTI_V7 is not set
> CONFIG_ARCH_S3C64XX=y
> CONFIG_MACH_WLF_CRAGG_6410=y
> -CONFIG_CMDLINE="console=ttySAC0,115200 root=/dev/ram init=/linuxrc initrd=0x51000000,6M ramdisk_size=6144"
> +CONFIG_CMDLINE="console=ttySAC0,115200 root=/dev/ram init=/linuxrc initrd=0x51000000,6M"
> CONFIG_VFP=y
> CONFIG_MODULES=y
> CONFIG_MODULE_UNLOAD=y
> diff --git a/drivers/block/brd.c b/drivers/block/brd.c
> index 72f02d2b8a99..05c4325904d2 100644
> --- a/drivers/block/brd.c
> +++ b/drivers/block/brd.c
> @@ -222,16 +222,6 @@ MODULE_LICENSE("GPL");
> MODULE_ALIAS_BLOCKDEV_MAJOR(RAMDISK_MAJOR);
> MODULE_ALIAS("rd");
>
> -#ifndef MODULE
> -/* Legacy boot options - nonmodular */
> -static int __init ramdisk_size(char *str)
> -{
> - rd_size = simple_strtol(str, NULL, 0);
> - return 1;
> -}
> -__setup("ramdisk_size=", ramdisk_size);
> -#endif
> -
> /*
> * The device scheme is derived from loop.c. Keep them in synch where possible
> * (should share code eventually).
> --
> 2.47.2
>
>
^ permalink raw reply
* Re: [PATCH RESEND 05/62] init: remove "ramdisk_start" command line parameter, which controls starting block number of initrd
From: Christophe Leroy @ 2025-09-15 11:48 UTC (permalink / raw)
To: Askar Safin, linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-6-safinaskar@gmail.com>
Have a simpler subject,
Le 13/09/2025 à 02:37, Askar Safin a écrit :
> [Vous ne recevez pas souvent de courriers de safinaskar@gmail.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
>
> This is preparation for initrd removal
and make a more interesting message.
For me it would make more sense to remove ramdisk_start and ramdisk_size
at the same time.
Christophe
>
> Signed-off-by: Askar Safin <safinaskar@gmail.com>
> ---
> Documentation/admin-guide/blockdev/ramdisk.rst | 3 +--
> Documentation/admin-guide/kernel-parameters.txt | 2 --
> init/do_mounts_rd.c | 7 -------
> 3 files changed, 1 insertion(+), 11 deletions(-)
>
> diff --git a/Documentation/admin-guide/blockdev/ramdisk.rst b/Documentation/admin-guide/blockdev/ramdisk.rst
> index 9ce6101e8dd9..e57c61108dbc 100644
> --- a/Documentation/admin-guide/blockdev/ramdisk.rst
> +++ b/Documentation/admin-guide/blockdev/ramdisk.rst
> @@ -74,12 +74,11 @@ arch/x86/boot/Makefile.
>
> Some of the kernel command line boot options that may apply here are::
>
> - ramdisk_start=N
> ramdisk_size=M
>
> If you make a boot disk that has LILO, then for the above, you would use::
>
> - append = "ramdisk_start=N ramdisk_size=M"
> + append = "ramdisk_size=M"
>
> 4) An Example of Creating a Compressed RAM Disk
> -----------------------------------------------
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index f940c1184912..07e8878f1e13 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -5285,8 +5285,6 @@
> ramdisk_size= [RAM] Sizes of RAM disks in kilobytes
> See Documentation/admin-guide/blockdev/ramdisk.rst.
>
> - ramdisk_start= [RAM] RAM disk image start address
> -
> random.trust_cpu=off
> [KNL,EARLY] Disable trusting the use of the CPU's
> random number generator (if available) to
> diff --git a/init/do_mounts_rd.c b/init/do_mounts_rd.c
> index 8e0a774a9c6f..864fa88d9f89 100644
> --- a/init/do_mounts_rd.c
> +++ b/init/do_mounts_rd.c
> @@ -17,13 +17,6 @@
> static struct file *in_file, *out_file;
> static loff_t in_pos, out_pos;
>
> -static int __init ramdisk_start_setup(char *str)
> -{
> - /* will be removed in next commit */
> - return 1;
> -}
> -__setup("ramdisk_start=", ramdisk_start_setup);
> -
> static int __init crd_load(decompress_fn deco);
>
> /*
> --
> 2.47.2
>
>
^ permalink raw reply
* Re: [PATCH RESEND 06/62] arm: init: remove special logic for setting brd.rd_size
From: Christophe Leroy @ 2025-09-15 11:57 UTC (permalink / raw)
To: Askar Safin, linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-7-safinaskar@gmail.com>
Le 13/09/2025 à 02:37, Askar Safin a écrit :
> [Vous ne recevez pas souvent de courriers de safinaskar@gmail.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
>
> There is no any reason for having special mechanism
> for setting ramdisk size.
>
> Also this allows us to change rd_size variable to static
Can you squash patches 6 to 9 all together ?
>
> Signed-off-by: Askar Safin <safinaskar@gmail.com>
> ---
> arch/arm/kernel/atags_parse.c | 12 ------------
> drivers/block/brd.c | 8 ++++----
> include/linux/initrd.h | 3 ---
> 3 files changed, 4 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/kernel/atags_parse.c b/arch/arm/kernel/atags_parse.c
> index a3f0a4f84e04..615d9e83c9b5 100644
> --- a/arch/arm/kernel/atags_parse.c
> +++ b/arch/arm/kernel/atags_parse.c
> @@ -87,18 +87,6 @@ static int __init parse_tag_videotext(const struct tag *tag)
> __tagtable(ATAG_VIDEOTEXT, parse_tag_videotext);
> #endif
>
> -#ifdef CONFIG_BLK_DEV_RAM
> -static int __init parse_tag_ramdisk(const struct tag *tag)
> -{
> - if (tag->u.ramdisk.size)
> - rd_size = tag->u.ramdisk.size;
> -
> - return 0;
> -}
> -
> -__tagtable(ATAG_RAMDISK, parse_tag_ramdisk);
> -#endif
> -
> static int __init parse_tag_serialnr(const struct tag *tag)
> {
> system_serial_low = tag->u.serialnr.low;
> diff --git a/drivers/block/brd.c b/drivers/block/brd.c
> index 0c2eabe14af3..72f02d2b8a99 100644
> --- a/drivers/block/brd.c
> +++ b/drivers/block/brd.c
> @@ -27,6 +27,10 @@
>
> #include <linux/uaccess.h>
>
> +static unsigned long rd_size = CONFIG_BLK_DEV_RAM_SIZE;
> +module_param(rd_size, ulong, 0444);
> +MODULE_PARM_DESC(rd_size, "Size of each RAM disk in kbytes.");
> +
> /*
> * Each block ramdisk device has a xarray brd_pages of pages that stores
> * the pages containing the block device's contents.
> @@ -209,10 +213,6 @@ static int rd_nr = CONFIG_BLK_DEV_RAM_COUNT;
> module_param(rd_nr, int, 0444);
> MODULE_PARM_DESC(rd_nr, "Maximum number of brd devices");
>
> -unsigned long rd_size = CONFIG_BLK_DEV_RAM_SIZE;
> -module_param(rd_size, ulong, 0444);
> -MODULE_PARM_DESC(rd_size, "Size of each RAM disk in kbytes.");
> -
> static int max_part = 1;
> module_param(max_part, int, 0444);
> MODULE_PARM_DESC(max_part, "Num Minors to reserve between devices");
> diff --git a/include/linux/initrd.h b/include/linux/initrd.h
> index 6320a9cb6686..b42235c21444 100644
> --- a/include/linux/initrd.h
> +++ b/include/linux/initrd.h
> @@ -5,9 +5,6 @@
>
> #define INITRD_MINOR 250 /* shouldn't collide with /dev/ram* too soon ... */
>
> -/* size of a single RAM disk */
> -extern unsigned long rd_size;
> -
> /* 1 if it is not an error if initrd_start < memory_start */
> extern int initrd_below_start_ok;
>
> --
> 2.47.2
>
>
^ permalink raw reply
* Re: [PATCH RESEND 00/62] initrd: remove classic initrd support
From: Christian Brauner @ 2025-09-15 13:34 UTC (permalink / raw)
To: Askar Safin
Cc: linux-fsdevel, linux-kernel, Linus Torvalds, Greg Kroah-Hartman,
Al Viro, Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
On Sat, Sep 13, 2025 at 12:37:39AM +0000, Askar Safin wrote:
> Intro
> ====
> This patchset removes classic initrd (initial RAM disk) support,
> which was deprecated in 2020.
This is a good idea but the patchset does a bit too much and it's pretty
convoluted and mixes cleanups with the removal of initrd support and so
it's not that great to review let alone merge especially considering
that a revert might be needed.
Split it up into multiple patch series. Send a first series that
focusses only on removing the generic infrastructure keeping it as
contained as possible. Only do non-generic cleanups that are absolutely
essential for the removal. Then the cleanups can go in separate series
later.
As usual I'm happy to try to shed old code but I wouldn't be too
optimistic that we'll get away with this and if so it needs to be
surgical.
^ permalink raw reply
* Re: [PATCH v20 4/8] fork: Add shadow stack support to clone3()
From: Christian Brauner @ 2025-09-15 14:29 UTC (permalink / raw)
To: Mark Brown
Cc: Kees Cook, Rick P. Edgecombe, Deepak Gupta, Szabolcs Nagy,
H.J. Lu, Florian Weimer, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Peter Zijlstra,
Juri Lelli, Vincent Guittot, Dietmar Eggemann, Steven Rostedt,
Ben Segall, Mel Gorman, Valentin Schneider, Shuah Khan,
linux-kernel, Catalin Marinas, Will Deacon, jannh, Andrew Morton,
Yury Khrustalev, Wilco Dijkstra, linux-kselftest, linux-api
In-Reply-To: <8caf310a-7179-4d4f-be73-2e25496a915f@sirena.org.uk>
On Fri, Sep 05, 2025 at 05:02:33PM +0100, Mark Brown wrote:
> On Fri, Sep 05, 2025 at 09:00:51AM -0700, Kees Cook wrote:
> > On Fri, Sep 05, 2025 at 04:43:22PM +0100, Mark Brown wrote:
>
> > > discover the problem fairly rapidly in testing. ss_token would shorter
> > > but the abbreviation is less clear, whatever name you prefer is fine by
> > > me.
>
> > Bike shed: shstk_token?
>
> That also works and is fine by me, probably better than my idea.
Can you do a quick resend based on kernel-6.18.clone3?
https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git/log/?h=kernel-6.18.clone3
^ permalink raw reply
* Re: [PATCH v20 4/8] fork: Add shadow stack support to clone3()
From: Mark Brown @ 2025-09-15 14:38 UTC (permalink / raw)
To: Christian Brauner
Cc: Kees Cook, Rick P. Edgecombe, Deepak Gupta, Szabolcs Nagy,
H.J. Lu, Florian Weimer, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Peter Zijlstra,
Juri Lelli, Vincent Guittot, Dietmar Eggemann, Steven Rostedt,
Ben Segall, Mel Gorman, Valentin Schneider, Shuah Khan,
linux-kernel, Catalin Marinas, Will Deacon, jannh, Andrew Morton,
Yury Khrustalev, Wilco Dijkstra, linux-kselftest, linux-api
In-Reply-To: <20250915-aneignen-notdienst-c901d4b6df24@brauner>
[-- Attachment #1: Type: text/plain, Size: 485 bytes --]
On Mon, Sep 15, 2025 at 04:29:41PM +0200, Christian Brauner wrote:
> On Fri, Sep 05, 2025 at 05:02:33PM +0100, Mark Brown wrote:
> > On Fri, Sep 05, 2025 at 09:00:51AM -0700, Kees Cook wrote:
> > > Bike shed: shstk_token?
> > That also works and is fine by me, probably better than my idea.
> Can you do a quick resend based on kernel-6.18.clone3?
> https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git/log/?h=kernel-6.18.clone3
No problem, should be something later today.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply
* Re: [PATCH 00/62] initrd: remove classic initrd support
From: Rob Landley @ 2025-09-15 16:43 UTC (permalink / raw)
To: Askar Safin, linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Lennart Poettering, linux-arch, linux-alpha, linux-snps-arc,
linux-arm-kernel, linux-csky, linux-hexagon, loongarch,
linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250912223937.3735076-1-safinaskar@zohomail.com>
On 9/12/25 17:38, Askar Safin wrote:
> Intro
> ====
> This patchset removes classic initrd (initial RAM disk) support,
> which was deprecated in 2020.
Still useful for embedded systems that can memory map flash, but it's
getting harder to find embedded developers who consider new kernels an
improvement over older ones...
> Initramfs still stays, and RAM disk itself (brd) still stays, too.
While you're at it, could you fix static/builtin initramfs so PID 1 has
a valid stdin/stdout/stderr?
A static initramfs won't create /dev/console if the embedded initramfs
image doesn't contain it, which a non-root build can't mknod, so the
kernel plumbing won't see it dev in the directory we point it at unless
we build with root access. This means the open("/dev/console") fails, so
init starts with no error reporting and we have to get far enough to
mount our own devtmpfs or similar and open our own stdout/stderr before
we can see any error output from init, which is kinda brittle.
I posted various patches to make CONFIG_DEVTMPFS_MOUNT work for initmpfs
repeatedly since 2017, which also addressed it, but the kernel
community's been hermetically sealed against outside intrusion for a
while now...
https://lkml.iu.edu/hypermail/linux/kernel/2005.1/09399.html
https://lkml.iu.edu/2302.2/05597.html
> init/do_mounts* and init/*initramfs* are listed in VFS entry in
> MAINTAINERS, so I think this patchset should go through VFS tree.
> This patchset touchs every subdirectory in arch/, so I tested it
> on 8 (!!!) archs in Qemu (see details below).
Oh hey, somebody using mkroot. Cool. :)
My current "passes basic automated smoketests" list for 6.16 is:
aarch64 armv4l armv5l armv7l i486 i686 m68k mips64 mipsel mips powerpc
powerpc64le powerpc64 riscv32 riscv64 s390x sh4 x86_64
I'm assuming that's your 8: arm, x86, m68k, mips, ppc, riscv, s390x,
superh. (The variants are mostly 32/64 bit and bit/little endian, couple
architecture generations in there. The old ones go out of patent first,
you can always tell patents are about to expire and get generic clones
when corporate shills start insisting that support for something REALLY
NEEDS TO GO AWAY RIGHT NOW...)
The or1k, microblaze, and sh4eb targets mostly work: sh4eb has broken
eithernet (never tracked down whether it's kernel or qemu that's wrong I
just know they disagree), or1k doesn't know how to exit ala
https://lists.gnu.org/archive/html/qemu-devel/2024-11/msg04522.html and
microblaze never wired up -hda to their hard drive emulation
https://lists.nongnu.org/archive/html/qemu-devel/2025-01/msg01149.html
but I haven't had the spoons to argue with IBM Hat developers about
procedure compliance auditing.
I need to track down a decent qemu emulation for armv7m, last time I
tried with vanilla was https://landley.net/notes-2023.html#23-02-2023
which was not promising, I downloaded a pic32 qemu fork last week, but
haven't had the spoons to follow up on that either. Or to ship a new
toybox/mkroot release: I've had 6.16 kernel patches since the week it
came out, unbreaking powerpc and adding fdpic support to sh4-mmu, but
hobbyist friendly this community ain't. Sigh, I should get back on the
(beating a dead) horse...
I had hexagon userspace working for a while ("qemu-hexagon ls -l") but
no kernel for it: Taylor Simpson said he was going to post a
qemu-system-hexagon patchset with a comet board emulation, but that
architecture has no gcc support (there was a gcc fork on code aurora but
they abandoned it when the FSF went gplv3) so it needs an llvm-only
toolchain build with a non-vanilla musl libc fork... Honestly the
problem is compiler-rt sucks rocks: I should cycle back around to
https://landley.net/notes-2021.html#28-07-2021 but just haven't.
(Although part of the "Just haven't" is that I posted a patch to lkml
making generic $CROSS_COMPILE prefixes automatically work whether your
toolchain was gcc or llvm, and the response was literally "we decided to
manually specify LLVM= on the command line so you must always do that
and we're refusing your two line fix to NOT need to do that". No really:
https://lkml.iu.edu/2302.2/08170.html
> Warning: this patchset renames CONFIG_BLK_DEV_INITRD (!!!) to CONFIG_INITRAMFS
> and CONFIG_RD_* to CONFIG_INITRAMFS_DECOMPRESS_* (for example,
> CONFIG_RD_GZIP to CONFIG_INITRAMFS_DECOMPRESS_GZIP).
> If you still use initrd, see below for workaround.
Which will break existing configs for what benefit?
I'm not convinced the churn improves matters. Presumably the kernel
command line paremeter is still rdinit= and grub still uses the "initrd"
command to load an external cpio.gz.
But I bisect to find breakage like that every release so I assume the
other embedded linux developers... are mostly shipping 10+ year old
kernels that use half the memory of today's.
> Details
> ====
> I not only removed initrd, I also removed a lot of code, which
> became dead, including a lot of code in arch/.
>
> Still I think the only two architectures I touched in non-trivial
> way are sh and 32-bit arm.
>
> Also I renamed some files, functions and variables (which became misnomers) to proper names,
> moved some code around, removed a lot of mentions of initrd
> in code and comments. Also I cleaned up some docs.
Now that lkml.iu.edu is back up (yay!) all the links in
ramfs-rootfs-initramfs.txt can theoretically be fixed just by switching
the domain name.
> For example, I renamed the following global variables:
>
> __initramfs_start
> __initramfs_size
That already said initramfs, and you renamed it.
> phys_initrd_start
> phys_initrd_size
> initrd_start
> initrd_end
Which is data delivered through grub's "initrd" command. Here's how I've
been explaining it to people for years:
1) initrd is the external blob from the bootloader's initrd= option.
2) initramfs is the extractor plumbing, _init code that gets discarded.
3) rootfs is (for some reason) the name of the mounted filesystem in
/proc/mounts (because letting it say "ramfs" or "tmpfs" like normal in
/proc/mounts would be consistent and immediately understandable, so they
couldn't have that).
(No I don't know why it's called rootfs. Having things like df not show
overmounted filesystems isn't special case logic, why...? The argument
to special case this because you can't unmount it is like saying PID 1
shouldn't have a number because it can't exit. I would happily call the
whole thing initramfs... but it's already not.)
> to:
>
> __builtin_initramfs_start
> __builtin_initramfs_size
> phys_external_initramfs_start
> phys_external_initramfs_size
> virt_external_initramfs_start
> virt_external_initramfs_end
Do you believe people will understand what the slightly longer names are
without looking them up?
I'm all for removing obsolete code, but a partial cleanup that still
leaves various sharp edges around isn't necessarily a net improvement.
Did you remove the NFS mount code from init/do_mounts.c? Part of the
initramfs justification back in 2005 was "you can have a tiny initramfs
set up our root filesystem so most of the init special casing can go"...
and then they added CONFIG_DEVTMPFS_MOUNT but made it ONLY apply to the
fallback root after the system has decided NOT to stay on rootfs, and
ignored my patches to at least make it consistent.
The one config symbol that really seems to bite people in this area is
BLK_DEV_INITRD because a common thing people running from initramfs want
to do is yank the block layer entirely (CONFIG_BLOCK=n) and use
initramfs instead, and needing to enable CONFIG_BLK_DEV_INITRD while
And the INSANE part is they generally want a static initrd to do it so
they're not using the external loader, but Kconfig has INITRAMFS_SOURCE
under CONFIG_BLK_DEV_INITRD and it's a mess. Renaming THAT symbol would
be good.
But then, CONFIG_BLOCK is hidden under CONFIG_EXPERT which selects
DEBUG_KERNEL (INCREASING KERNEL SIZE!!!) and thus everybody who does
this patches the kconfig plumbing to be less stupid anyway. So the
problem isn't JUST renaming the symbol...
(Oh CONFIG_EXPERT is SO STUPID. It's got a menu under it, but
CONFIG_BLOCK isn't in that menu, it's at the top of menuconfig between
loadable module support and executable file formats, just invisible
unless you go down into a menu and switch on a setting and then back out
to go find it. WHY WOULD YOU DO THAT?)
> New names precisely capture meaning of these variables.
To you. I'm not entirely sure what virt_external means. (Yes I could go
read the code. No I don't want to. I EXPECT to need context and
refreshing stuff, but having it change out from under me since the LAST
time I did that is annoying when it's "same thing, new name, because".)
It makes more sense to YOU because you changed it to smell like you.
Meanwhile 35 years of installed base expertise in other people's heads
has been discarded and developed version skew for anyone maintaining an
existing system. (That's not a "never do this", that's a "be aware
humans consistently have the wrong weightings in our heads for this".)
Personally I usually have to look it up either way. And am spending more
and more of my time poking at older kernels rather because newer stuff
has either removed support for things I need or grown dependencies. (And
because there's 20 years of installed base still in various stages of
use, I'm personally likely to spend more time looking at the old names
than the new ones.)
> This will break all configs out there (update your configs!).
> Still I think this is okay,
Because you don't have to clean up after it.
> because config names never were part of stable API.
I can forward everyone who asks me questions to you, or just agree when
they tell me it's yet another reason not to upgrade.
> Other user-visible changes:
>
> - Removed kernel command line parameters "load_ramdisk" and
> "prompt_ramdisk", which did nothing and were deprecated
Sure.
> - Removed kernel command line parameter "ramdisk_start",
> which was used for initrd only (not for initramfs)
Some bootloaders appended that to the kernel command line to specify
where in memory they've loaded the initrd image, which could be a
cpio.gz once upon a time. No idea what regressions happened since though.
(Last new bootloader I was involved with that had to make it work used
some horrible hack editing a dtb at a fixed offset, like the old "rdev"
trick but more brittle. Because "device tree better" than human readable
textual mechanism. Fixing ramdisk_start to work right sounded like a
more sane approach to me, but...)
> I tested my patchset on many architectures in Qemu using my Rust
> program, heavily based on mkroot [1].
You rewrote a 400 line bash script in rust.
Yeah, that's a rust developer. (And it smells like you now...)
> I used the following cross-compilers:
>
> aarch64-linux-musleabi
> armv4l-linux-musleabihf
> armv5l-linux-musleabihf
> armv7l-linux-musleabihf
> i486-linux-musl
> i686-linux-musl
> mips-linux-musl
> mips64-linux-musl
> mipsel-linux-musl
> powerpc-linux-musl
> powerpc64-linux-musl
> powerpc64le-linux-musl
> riscv32-linux-musl
> riscv64-linux-musl
> s390x-linux-musl
> sh4-linux-musl
> sh4eb-linux-musl
> x86_64-linux-musl
or1k and microblaze work, they just don't pass the full smoketest for
reasons that shouldn't affect initramfs testing.
I'm still waiting for Rich to ship the next musl release to do new
toolchains...
https://www.openwall.com/lists/musl/2025/08/04/1
> Workaround
> ====
> If "retain_initrd" is passed to kernel, then initramfs/initrd,
> passed by bootloader, is retained and becomes available after boot
> as read-only magic file /sys/firmware/initrd [3].
Common use case for eg romfs is memory mapped flash or rom, so the
address range in question isn't actually ram anyway. Mostly on mmu
systems you just don't want the mapping to go away, so the kernel can
still reach out and read it.
> This is even better than classic initrd, because:
> - You can use fs not supported by classic initrd, for example erofs
Network block device was the most recent one I saw used, but it had a
tiny initramfs to set up and switch_root into it...
(Network block device != network filesystem. I have a todo item to
integrate nbd-server into mkroot/testroot.sh but "-hda works" is one of
the things it's testing...)
> - One copy is involved (from /sys/firmware/initrd to some file in /)
> as opposed to two when using classic initrd
Embedded developers have always been reaching out and using mappable
flash directly. Vitaly Wool's ELC talk in 2015 (about running Linux in
256k of sram, yes one quarter of one megabyte) described the process:
https://elinux.org/images/9/90/Linux_for_Microcontrollers-_From_Marginal_to_Mainstream.pdf
Rob
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox