This is a slight expansion of this thread, but I think it's relevant to the discussion. I'd be very glad for a flexible mechanism for loading different collections of extensions at boot time. Such a mechanism could also be made to specify which extensions get loaded to ramdisk and which get mounted as a loop file. This could kill multiple birds with one stone and really help those who use their tinycore installs for different purposes, or on different machines with different memory amounts and hardware requirements.
Imagine a plain text config file in which you can list 'modules'---user created collections of extensions. You can have any number of such modules, and each can have any number of .tcz's (assuming that we settle on a single extension type each of which can be either be loaded to ramdis or mounted). For each tcz, you also optionally specify if you want it loaded to ramdisk. By default it gets mounted and symlinked tcz-style.
For example, I have one setup on a low ram computer where I need everything possible mounted as a loop file, but don't need development files or my gtk2 stuff. I'll call this 'skinny.'
Sometimes I'm on a newer machine. If I find that it speeds things up, I'd be glad to load more core functionality to RAM. So I have my basic set of modules, including the gtk2 stuf, with some critical parts loaded to ramdisk. I call this 'fat'.
In either case I might want some functionality which I rarely use, provided by extension X and its dependencies. I set up a new module with those extensions, call it wizbang. And another collection, with, say the wireless drivers, programs and utilities, which I call 'wireless.' I also would have modules called 'devel+x' 'mediaplayer' etc.
Then at boot time, I can specify any number of 'modules' to load with a boot option that takes a comma-separated list
tce=sda1 modules=fat,wireless,wizbang,mediaplayer OR: modules=skinny,somemodule
Later, if I discover I need a module that I didn't load at boot time, that should be possible as well. If I need a group of extensions I haven't yet set up, I can edit the modules configuration file and create the module. Then load it. Ideally of course there should be a script that checks for dependencies. Even more ideally it would let me download dependencies if a connection is available and prompt me to add them to my module-configuration file, or let me force-ignore them if I know what I'm doing.
This should allow all extensions to be kept in a single directory (even the optional ones), and be of a single type. It could allow on-demand use of pre-defined groups of extensions (keeping memory free if you don't need those extensions). It would also minimize the current difficulties associated with keeping different configurations available. Currently I either keep a copy of an extension for each configuration I want (easier, since dependencies are managed, but wastes bandwidth and it's harder to keep multiple configurations up-to-date), or else I create symliked collections from a central repository. I have to manage dependencies manually, which is error-prone.
Thanks for entertaining this rather long-winded idea. It would have some issues to be worked out, but it could be a huge leap forward in usability and flexiblity, and simplify extension provision as well.