[PATCH RFC] changes.rst: introduce 'Required for'-column

From: Manuel Ebner

Date: Wed Oct 07 2026 - 12:38:27 EST


The optional tag isn't obvious nor defined. Therefore remove the tag and
add column 'Required for' to make it easier to define the need for the tools.

CC: Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx>
CC: Nicolas Schier <n.schier@xxxxxxxxx>
---
If anybody has info to add to or refine the new column I would appreciate it a lot.
Please forward this to list or people which can contribute to this patch.

There's also the option to remove the 'Command to check the version'-column
and refer to scripts/ver_linux - and with this also removing the duplicated
information-issue.

[v3]
Rearange column space of the table in order to add column instead of replacing column
add some requirements to the table

[v2]
Ditch footnotes in favor of a column
Replace 'Check Version Command'-column with optional-column
https://lore.kernel.org/all/20260831152523.638881-1-manuelebnerli@xxxxxxxxxxx/

[v1]
https://lore.kernel.org/all/20260812122426.1636227-2-manuelebnerli@xxxxxxxxxxx/
---
Documentation/process/changes.rst | 97 ++++++++++++++++---------------
1 file changed, 51 insertions(+), 46 deletions(-)

diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst
index 28f2ca633..dafe0530f 100644
--- a/Documentation/process/changes.rst
+++ b/Documentation/process/changes.rst
@@ -1,13 +1,14 @@
.. _changes:

-Minimal requirements to compile the Kernel
-++++++++++++++++++++++++++++++++++++++++++
+Minimal requirements to interact with the Kernel
+++++++++++++++++++++++++++++++++++++++++++++++++

Intro
=====

-This document is designed to provide a list of the minimum levels of
-software necessary to run the current kernel version.
+This document is designed to provide a list of the minimum versions of
+software necessary to change code, compile, install and boot the current
+kernel version.

This document is originally based on my "Changes" file for 2.0.x kernels
and therefore owes credit to the same people as that file (Jared Mauch,
@@ -27,48 +28,52 @@ running a Linux kernel. Also, not all tools are necessary on all
systems; obviously, if you don't have any PC Card hardware, for example,
you probably do not need to concern yourself with pcmciautils.

-====================== =============== ========================================
- Program Minimal version Command to check the version
-====================== =============== ========================================
-bash 4.2 bash --version
-bc 1.06.95 bc --version
-bindgen (optional) 0.71.1 bindgen --version
-binutils 2.30 ld -v
-bison 2.0 bison --version
-btrfs-progs 0.18 btrfs --version
-Clang/LLVM (optional) 17.0.1 clang --version
-e2fsprogs 1.41.4 e2fsck -V
-flex 2.5.35 flex --version
-gdb 7.2 gdb --version
-GNU awk (optional) 5.1.0 gawk --version
-GNU C 8.1 gcc --version
-GNU make 4.0 make --version
-GNU tar 1.28 tar --version
-GRUB 0.93 grub --version || grub-install --version
-gtags (optional) 6.6.5 gtags --version
-iptables 1.4.2 iptables -V
-jfsutils 1.1.3 fsck.jfs -V
-kmod 13 kmod -V
-mcelog 0.6 mcelog --version
-mkimage (optional) 2017.01 mkimage --version
-nfs-utils 1.0.5 showmount --version
-openssl & libcrypto 1.0.0 openssl version
-pahole 1.26 pahole --version
-pcmciautils 004 pccardctl -V
-pigz (optional) 2.4 pigz --version
-PPP 2.4.0 pppd --version
-procps 3.2.0 ps --version
-Python 3.9.x python3 --version
-quota-tools 3.09 quota -V
-Rust (optional) 1.85.0 rustc --version
-Sphinx\ [#f1]_ 3.4.3 sphinx-build --version
-squashfs-tools 4.0 mksquashfs -version
-udev 081 udevadm --version
-util-linux 2.10o mount --version
-xfsprogs 2.6.0 xfs_db -V
-====================== =============== ========================================
-
-.. [#f1] Sphinx is needed only to build the Kernel documentation
+============== ======== ======================= ========================================
+ Program Minimal Command to check Required for
+ version the version
+============== ======== ======================= ========================================
+bash 4.2 bash --version general requirement
+bc 1.06.95 bc --version Kbuild (
+bindgen 0.71.1 bindgen --version CONFIG_RUST=y
+binutils 2.30 ld -v
+bison 2.0 bison --version Kbuild (.config)
+btrfs-progs 0.18 btrfs --version
+Clang/LLVM 17.0.1 clang --version alternative to GNU C (gcc)
+e2fsprogs 1.41.4 e2fsck -V ext4
+flex 2.5.35 flex --version Kbuild (.config)
+gdb 7.2 gdb --version Debugging
+GNU awk 5.1.0 gawk --version objtool, CONFIG_SYSTEM_BLACKLIST_HASH_LIST=y
+GNU C 8.1 gcc --version alternative to Clang/LLVM (clang)
+GNU make 4.0 make --version
+GNU tar 1.28 tar --version
+GRUB 0.93 grub --version ||
+ grub-install --version
+gtags 6.6.5 gtags --version to generate tag files through ``make gtags``
+iptables 1.4.2 iptables -V
+jfsutils 1.1.3 fsck.jfs -V
+kmod 13 kmod -V
+mcelog 0.6 mcelog --version
+mkimage 2017.01 mkimage --version Flat Image Tree (FIT) or ARCH=arc, arm or powerpc
+nfs-utils 1.0.5 showmount --version
+openssl 1.0.0 openssl version
+pahole 1.26 pahole --version
+pcmciautils 004 pccardctl -V
+pigz 2.4 pigz --version Compile and boot with KPGZIP=y
+PPP 2.4.0 pppd --version
+procps 3.2.0 ps --version
+Python 3.9.x python3 --version
+quota-tools 3.09 quota -V
+Rust 1.85.0 rustc --version CONFIG_RUST=y
+Sphinx 3.4.3 sphinx-build --version build kernel documentation
+squashfs-tools 4.0 mksquashfs -version
+udev 081 udevadm --version
+util-linux 2.10o mount --version
+xfsprogs 2.6.0 xfs_db -V
+============== ======== ======================= ========================================
+ Program Minimal Command to check Required for
+ version check the version
+============== ======== ======================= ========================================
+

Kernel compilation
******************
--
2.55.0