.../filesystems/ramfs-rootfs-initramfs.rst | 4 +-- init/do_mounts.c | 11 ++++++++ init/do_mounts.h | 2 ++ init/initramfs.c | 2 ++ init/main.c | 6 +++- init/noinitramfs.c | 28 +++---------------- usr/Makefile | 2 +- usr/default_cpio_list | 6 +--- 8 files changed, 28 insertions(+), 33 deletions(-)
This patchset is for VFS.
See commit messages for motivation and details.
Askar Safin (2):
init: ensure that /dev/console is (nearly) always available in
initramfs
init: ensure that /dev/null is (nearly) always available in initramfs
.../filesystems/ramfs-rootfs-initramfs.rst | 4 +--
init/do_mounts.c | 11 ++++++++
init/do_mounts.h | 2 ++
init/initramfs.c | 2 ++
init/main.c | 6 +++-
init/noinitramfs.c | 28 +++----------------
usr/Makefile | 2 +-
usr/default_cpio_list | 6 +---
8 files changed, 28 insertions(+), 33 deletions(-)
base-commit: 2961f841b025fb234860bac26dfb7fa7cb0fb122 (mainline)
--
2.47.3
On 2/19/26 15:03, Askar Safin wrote: > This patchset is for VFS. > > See commit messages for motivation and details. FYI I've been using (and occasionally posting) variants of https://landley.net/bin/mkroot/0.8.13/linux-patches/0003-Wire-up-CONFIG_DEVTMPFS_MOUNT-to-initramfs.patch since 2017. What needs /dev/null? I haven't encountered that. The problem with no /dev/console is init launches with no stdin/stdout/stderr (which is what happens for static initramfs made with normal user mode cpio, no easy way to insert /dev nodes into the filesystem you're archiving up and most cpio tools don't offer an easy way to hallucinate nodes). The problem with having no stderr when init launches is if anything goes wrong you can't get debug messages. I have a shell script I run as PID 1 that mounts devtmpfs and then redirects stdin/out/err ala https://codeberg.org/landley/toybox/src/branch/master/mkroot/mkroot.sh#L111 but THAT's fiddly because when the shell is opening the file it _becomes_ stderr (with the script _itself_ usually having been opened as stdin because first available filehandle) so the shell needs plumbing to dup2() them up to a high filehandle and close the original one and that tends not to get regression tested when anything changes because "we ran with no stdin/stdout/stderr is not a common case... Having the kernel auto-mount devtmpfs (which it already has a config option for and all my patch does is make it work for initramfs) fixes this, because /dev/console is then available before launching /init. How is manually editing initramfs _less_ awkward that automounting devtmpfs when the config symbol requests it? Rob
On Mon, Feb 23, 2026 at 3:17 AM Rob Landley <rob@landley.net> wrote: > FYI I've been using (and occasionally posting) variants of > https://landley.net/bin/mkroot/0.8.13/linux-patches/0003-Wire-up-CONFIG_DEVTMPFS_MOUNT-to-initramfs.patch > since 2017. drivers/base/Kconfig says on CONFIG_DEVTMPFS_MOUNT: > This option does not affect initramfs based booting So CONFIG_DEVTMPFS_MOUNT works as documented. (But I am not against your CONFIG_DEVTMPFS_MOUNT approach if it helps you fix your problem.) -- Askar Safin
On 2/23/26 14:58, Askar Safin wrote: > On Mon, Feb 23, 2026 at 3:17 AM Rob Landley <rob@landley.net> wrote: >> FYI I've been using (and occasionally posting) variants of >> https://landley.net/bin/mkroot/0.8.13/linux-patches/0003-Wire-up-CONFIG_DEVTMPFS_MOUNT-to-initramfs.patch >> since 2017. > > drivers/base/Kconfig says on CONFIG_DEVTMPFS_MOUNT: >> This option does not affect initramfs based booting > > So CONFIG_DEVTMPFS_MOUNT works as documented. I.E. they added that instead of merging any of my patches. Doubling down on "initramfs isn't a REAL root filesystem"... *shrug* > (But I am not against your CONFIG_DEVTMPFS_MOUNT approach > if it helps you fix your problem.) Oh I've been patching it locally for years. I'm only replying because I was cc'd. Rob
Rob, I kindly ask you to test this solution to your problems: https://lore.kernel.org/all/CAPnZJGDDonspVK1WxDac2omkLJVX=_1Tybn4ne+sf3KyaAuofA@mail.gmail.com/ -- Askar Safin
On 3/6/26 21:22, Askar Safin wrote: > Rob, I kindly ask you to test this solution to your problems: > > https://lore.kernel.org/all/CAPnZJGDDonspVK1WxDac2omkLJVX=_1Tybn4ne+sf3KyaAuofA@mail.gmail.com/ Your earlier suggestion that at some point they fixed the kernel build so I can go "/path/to/dir /path/to/file.txt" (which didn't _used_ to work, I tested it way back when) would presumably solve my problem without kernel patches. I just haven't been programming much since Gavin "spyware" Newsom passed his stupid "age verification in the OS" bill (https://mstdn.jp/@landley/116194386057190345) where every cloud instance needs to report an "age" to Palantir, implying I'll have to take mkroot down before Jan 1st to avoid $7k/download fines, and I'm looking at maybe getting a job in healthcare or something. Rob
On Tue, Mar 10, 2026 at 3:51 PM Rob Landley <rob@landley.net> wrote: > > On 3/6/26 21:22, Askar Safin wrote: > > Rob, I kindly ask you to test this solution to your problems: > > > > https://lore.kernel.org/all/CAPnZJGDDonspVK1WxDac2omkLJVX=_1Tybn4ne+sf3KyaAuofA@mail.gmail.com/ > > Your earlier suggestion that at some point they fixed the kernel build > so I can go "/path/to/dir /path/to/file.txt" (which didn't _used_ to > work, I tested it way back when) would presumably solve my problem > without kernel patches. Cool! Please, write me when you actually test this. -- Askar Safin
© 2016 - 2026 Red Hat, Inc.