Hi linic
... I hadn't attempted to boot in the graphical desktop because I thought that would use too much RAM. ...
... Here's what the memory usage looked like with my TCZs loaded: ...
Just for kicks, I exited from the GUI to a prompt and ran free -m:
total used free shared buff/cache available
Mem: 52 20 25 5 8 25
Swap: 999 10 989
... It will be useful for people who don't want to build their own kernel. ...
When it comes to ease of modification, time invested, and predicting
memory savings, I feel modifying core.gz wins hands down.
Core:
Removing drivers does not remove kernel capability. They can quickly be restored.
Removing unneeded drivers is easy as I demonstrated with the network driver.
By editing the script, what gets removed can easily be changed.
The script does all the work consistently and should take under a minute to run.
The file system provided by core.gz resides in RAM. The file sizes you see listed
in those directories is basically what you save in RAM if they are removed. The
same does not apply to extensions that provide drivers. Those get linked to the
RAM file system, not copied to it.
Kernel:
Removing driver support removes capability. Restoring it requires recompiling.
Making changes requires running make menuconfig. Then navigating through
the menus disabling anything
you think you don't want. You should not
edit .config directly. As you enable/disable options, make menuconfig will
enable/disable other options in the background due to changing dependencies.
Depending on hardware, compile time can become extensive. Especially if you
find yourself yourself doing it multiple times.
Predicting memory savings is difficult, more so for the kernel than the drivers.
Kernel size may or may not be affected depending on how an option was implemented.
RAM required may or may not be affected depending on how data structures are affected.