Anything necessary to mount drives and any non-removable devices should be compiled into the kernel.
Which would make for a pretty big generic kernel if it has to handle every possible bus through which bootable storage can be accessed, and through which the decryption password can be entered, on every PC since the Pentium II.
For a smaller flash-based system
This kind of machine is more likely to be something purpose-built
I was sort of referring to tablets and tablet-laptops, which are likely to come with an internal SSD as small as 16 to 32 GB, or to bootable USB flash drives.
Just compile the drivers into the kernel, rather than producing any modules.
The drivers for which system? Or are you referring to abandoning the concept of a binary "generic kernel" in favor of recompiling the kernel for each machine on which it will be used, every time it is installed or updated?