My two cents:
1) Remaster core.gz (it's horribly simple) by merging the apps/extensions into the new core.gz
2) Update either tc-config or bootsync.sh to launch X
Mind you, this builds a larger core.gz considering the number of extensions you're adding (mc itself adds quite a few!) but in my opinion, it's the best you're going to get when you PXE boot and you don't want to utilize a mirror or build a mirror of your own. My CoreI.gz file is about 25MB which includes Xvesa, IceWM, MC and a few others including tc-install which is pretty good considering what's needed and it only takes about a minute to do. I have an automation script... but it does so many things you're not likely to do that it would be overkill.
To get started, first pull in a copy of core.gz and vmlinuz from your preferred TC version. Then...
1) Extract core.gz (then delete the original)
2) Extract the extensions, then copy them on top of the extracted core*
3) Rebuild core.gz
General instructions can be found:
http://wiki.tinycorelinux.net/wiki:remastering* I prefer to loop-mount my extensions and just copy the mounted files instead of using SquashFS to extract... fewer apps... fewer resources... fewer conflicts IMO.
When you're finished, just rename the new core.gz file into something like coreX.gz and create a PXE menu item and alter the APPEND such as:
APPEND initrd=/path/to/coreX.gz ...
Hope this helps!
EDIT: I forgot to add one vital piece of information... When merging extensions into CORE, there are scripts found in /usr/local/tce.installed that will need to be executed for many of the extensions to function correctly. Add this to your bootsync.sh file to do so:
for file in /usr/local/tce.installed
do
sh $file
done
If memory serves, this is also where
startx is also created/launched from.