Can't you just use a ready made kernel with everything rolled into it, and use information like the modules used along with the information provided by hal about how all the parts of your system are connected to one another ?
Just an ignorant guess about how you might investigate your system further, so don't shoot me down to harshly if it's not good advice.
dennis