I'd suggest booting into runlevel 3 and sorting it out there. This is easy to do from grub, just add a '3' to the end of the kernel line (press 'e' key at grub splash to edit). e.g.
kernel /vmlinuz26 root=/dev/disk/by-uuid/1c0420f4-1fd9-4355-91a5-38de794a36df ro 3
Having done this try logging in and starting X. If all this works, the problem does indeed lie with xdm (assuming you wanted to use xdm!).