uml did not work for me. Saying con=xterm caused the kernel to stop
after saying it initialized the stdio layer. So I dug a little and
found that the code is not devfs clean!
Attached is a prototype patch to make at least the xterm code use
openpty instead, which is an abstraction invented to make the kind of
pty nightmare obsolete that uml uses. I may have missed something, but
at least it opens an xterm for me. openpty also works if devfs is not
used, by the way, so this should not break compatibility.