On 2014-01-06 18:36, Larry Finger wrote:
> To do this, you need to build your own kernel with EVERY driver that
> the system will need before the root file system (/) is mounted built
> into the kernel, not as a module. That list includes the file system,
> the disk drivers (there are several layers), any drivers needed for
> keyboard, the rudimentary graphics driver, and some that I have probably
> forgotten. The only way to be sure is to run the command ‘make
> allyesconfig’ before you build the kernel.
And do that for every kernel upgrade, so you can not do automatic upgrades.
> It will be a lot of work, and as noted above, the devs won’t help. Are
> you sure you really want to do that? If your reason is to save space in
> /boot, all you are doing is transferring code from initrd to the kernel
> image. Little or no space will be saved.
And there are more things, not only kernel modules. There are some boot
scripts, even copies of fstab, and copies of the fsck modules for
checking the filesysytems prior to mounting them. Plus, to support
things like having a separate partition for “/usr”, programs and
libraries have to be copied. Then there are the modules for graphical
login, like plymouth…
Many of these can be read from the root partition instead, mounted read
only. But to do this, the boot process has to be modified.
Me, with years of expertise, would have a hard time pulling this off.
Not worth my effort.
Possible? Yes, it is possible to do. Easy it ain’t.
Cheers / Saludos,
Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)