If you wanted to go the UML route, there's only a small number of things that I do to a fresh install to make it work under UML, and none of them are specifically required -- more like Linode-isms.. I wouldn't suggest trying to get installers to run under UML, though, it's a royal PITA.
I mknod /dev/ubd[a-g][0-16] entries using UML's major/minor (98/0 16 per ubd drive) but you can get around this by feeding "ubd=3" to the UML command line. Only thing is, hd uses 32 minors per device.. So suddently your second (uml) drive becomes /dev/hda16.
The other thing I do is just for console access -- setup a getty on tty0 in /etc/inittab, and allow root to log in via tty0 in /etc/securetty.
Honestly -- that's all I can think of at the moment. Pretty easy.
Networking will give you problems.. Here's a great how-to I helped with a little (very little):
http://edeca.net/articles/bridging/
-Chris