Problem: Ubuntu Xen Guest (DomU) Hangs after EXT3-fs: mounted filesystem with ordered data mode message
Attempting to boot a Xen guest (domU) system on Ubuntu Linux results in the boot process hanging immediately after the "EXT3-fs: mounted filesystem with ordered data mode." message appears. A partial output from a boot attempt is as follows:
[67292.662769] TCP cubic registered
[67292.662866] NET: Registered protocol family 1
[67292.663475] Using IPI No-Shortcut mode
[67292.685096] xen-vbd: registered block device major 3
[67292.686185] blkfront: hda1: barriers enabled
[67292.705112] blkfront: hda2: barriers enabled
[67292.764661] netfront: device eth0 has copying receive path.
[67292.858770] XENBUS: Device with no driver: device/console/0
[67292.868502] Freeing unused kernel memory: 200k freed
[67295.891692] AppArmor: AppArmor initialized<5>audit(1206632734.886:2): type=1505 info="AppArmor initialized" pid=1089
[67295.983233] fuse init (API version 7.8)
[67296.059192] Failure registering capabilities with primary security module.
[67296.190239] thermal: Unknown symbol acpi_processor_set_thermal_limit
[67300.996194] kjournald starting. Commit interval 5 seconds
[67301.000855] EXT3-fs: mounted filesystem with ordered data mode.
This problem is most commonly encountered when using Xen-Tools to generate the configuration and image files for the Xen guest.
Typically the problem is caused by the inability of the guest system to locate an appropriate console device. The problem can easily be resolved by adding the following line to the Xen guest configuration file:
extra = 'xencons=tty'
For example, a complete configuration file with the additional line might read as follows:
# Kernel + memory size
kernel = '/boot/vmlinuz-2.6.22-14-xen'
ramdisk = '/boot/initrd.img-2.6.22-14-xen'
memory = '64'
#extra = 'xencons=tty'
# Disk device(s).
root = '/dev/hda1 ro'
disk = [ 'file:/xen/xen/domains/XenUbuntu/disk.img,hda1,w', 'file:/xen/xen/domains/XenUbuntu/swap.img,hda2,w' ]
name = 'XenUbuntu'
vif = [ 'ip=192.168.2.101' ]
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
With the extra line added the system should boot beyond the point where it previously locked up.