Thank you, Rich. You've been tremendously helpful throughout this area.
I'm setting up the white-board for the next remastering system (which is what made me think to check in with TCL) and the sda issue is now just tagged for the moment to be investigated as it's not a vital tid-bit (I'm hoping it's CF flash related due to the IDE->CF reader, but we'll see once it's on some actual, live production machines.) For the moment, though, I'm spending a little too much time in the trenches, so, since I have the majority of the spin-down system operational, this will have to do for the time being until the core itself housing these utilities is properly tested.
One last question (mildly off-topic, but still storage related) if you don't mind my asking - an obstacle that's actually proving to be more of a thorn or maybe I'm just not thinking outside the box enough...
When tc-config is launched and the boot codes are processed... devadm is told to fire up (add/trigger) and IF by chance there was a boot code of usbwait=LABEL=something (or UUID) the system basically loops for "x" seconds or until the device in question is found. This is an awesome concept and works perfectly for everyone... except what I'm in need of.
Scenario:
tce=something is detected in the cmdline... no problem.
tcp=something is an option to override tce/opt/etc. IF DETECTED (tcp=LABEL=blahblah) it overrides tce/opt/home/local/etc. found in the cmdline.
While all of this is going on, usbwait isn't going to do much good for me as there are other detection methods I'm using that are ON the devices where UUID/LABEL information won't be known in advance.
What I need to do is either force devadm to settle or find a way to monitor the device cache from within the boot script, allowing for a hybrid usbwait. Once USB storage is loaded, we move forward and scan the devices we find, test-mounting the devices to see if files exist on a given device which are intended to override the boot codes. The goal here is to have a clean kernel/image boot up and if tcp, nfsmount, cifsmount and the last noted "scan" don't have any success, the persistence falls back to the boot device (if tce= is in the cmdline at all.) If not, we fall back to the memory-only version where TCE is in the /tmp directory.
Example:
/dev/sda1 is an internal storage medium with tce=sda1 opt=sda1 (nothing else listed)
tcp= is not listed; rules are ignored
nfs/cifs mounts also not listed and are ignored
udevadm is launched to start hardware implementation (usb_storage doesn't exist, so I have to find alternatives) and once USB, FireWire and similar storage based drivers are online, we then scan any partitions we find by listing hardware from blkid.
/dev/sdb1 is now detected, a 2GB flash drive plugged into USB. On this device we find a file /mnt/test/.persist
This tells us to revamp the command line and have tce=, opt=, etc. point to this new location instead of the default of sda1.
(I cheated and just bind-mounted on top of /proc/cmdline so that I didn't have to completely rewrite tc-config)
If I add a manual wait=10, this just wastes time if the drivers have already loaded, whereas on slower machines, there's no guarantee we even have the drivers running yet. What's needed is a way where we can baby-sit the system and wait for specific drivers to load, once loaded give a second or two for them to scan by waiting for the kernel to load an unrelated driver and (in theory) we should be ready to move on and let devadm "do it's thing" with everything else in its cache unrelated to storage.
If it's not too much trouble, I'd love an extra brain-storm partner. I'll be the first to admit that I do not know all there is to know either within Linux in general, let alone TC, but I've been tearing things apart ever since I was seven, so it's in the blood... TC won't be any different and compared to many others, the way in which you've responded to the question on this post tells me you're likely the perfect person to ask; knowledgeable... level-headed... and quite considerate.
If it's not possible "as is" I'll delve into the kernel... but I have a motto (in electronics) "If it ain't broke... don't fix break it" so I'm hoping we can conjure up a solution outside.
Thanks again for your time and efforts; it's truly appreciated.