Page MenuHomeFreeBSD

Include TMPFS in all the GENERIC kernel configs
ClosedPublic

Authored by arichardson on Jun 17 2020, 11:18 AM.

Details

Summary

Being able to use tmpfs without kernel modules is very useful when building
small MFS_ROOT kernels without a real file system.
Including TMPFS also matches arm/GENERIC and the MIPS std.MALTA configs.

Compiling TMPFS only adds 4 .c files so this should not make much of a
difference to NO_MODULES build times (as we do for our minimal RISC-V
images).

Test Plan

I can now create /tmp as a tmpfs mount on a kernel without modules.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

arichardson created this revision.
This revision is now accepted and ready to land.Jun 18 2020, 9:26 AM
jrtc27 requested changes to this revision.Jun 18 2020, 10:35 AM

Why are we doing this for GENERIC? No other architecture does so, and the only differences between them for GENERIC should be genuinely architecture-specific things, which TMPFS is not. If you want it for MFSROOT kernels, limit it to those. GENERIC is supposed to pick it up as a module just like everything else not required during earlyish boot.

This revision now requires changes to proceed.Jun 18 2020, 10:35 AM

Why are we doing this for GENERIC? No other architecture does so, and the only differences between them for GENERIC should be genuinely architecture-specific things, which TMPFS is not. If you want it for MFSROOT kernels, limit it to those. GENERIC is supposed to pick it up as a module just like everything else not required during earlyish boot.

arm/GENERIC has include "std.armv7" which enables TMPFS

Why are we doing this for GENERIC? No other architecture does so, and the only differences between them for GENERIC should be genuinely architecture-specific things, which TMPFS is not. If you want it for MFSROOT kernels, limit it to those. GENERIC is supposed to pick it up as a module just like everything else not required during earlyish boot.

arm/GENERIC has include "std.armv7" which enables TMPFS

True, and perhaps for similar reasons of being used on (somewhat-)embedded devices. Honestly I don't know why it _isn't_ always compiled in.

Why are we doing this for GENERIC? No other architecture does so, and the only differences between them for GENERIC should be genuinely architecture-specific things, which TMPFS is not. If you want it for MFSROOT kernels, limit it to those. GENERIC is supposed to pick it up as a module just like everything else not required during earlyish boot.

arm/GENERIC has include "std.armv7" which enables TMPFS

True, and perhaps for similar reasons of being used on (somewhat-)embedded devices. Honestly I don't know why it _isn't_ always compiled in.

Yeah it's like 3 .c files. I can try adding it to the other GENERIC kernels, but I'm not sure who to add to that review.

Add TMPFS to all kernel configs instead

arichardson retitled this revision from Include TMPFS in the RISC-V GENERIC kernel to Include TMPFS in all the GENERIC kernel configs.Jul 14 2020, 10:48 AM
arichardson edited the summary of this revision. (Show Details)
arichardson added a reviewer: delphij.
This revision was not accepted when it landed; it landed in state Needs Review.Jul 24 2020, 8:40 AM
This revision was automatically updated to reflect the committed changes.