Here are the minimum steps necessary to install Xen Hypervisor 4.x on Debian Squeeze.
Installing the hypervisor and tools related
aptitude install xen-linux-system-2.6-xen-amd64 xen-hypervisor-4.0-amd64 linux-image-xen-amd64 xen-qemu-dm-4.0
Change some system configuration
Edit /etc/modules and add the following entry. To make sure the module ‘loop’ can create 64 loop connections.
The entry ‘loop’ might already be there, then just add its parameters.
# Making sure enough free loop devices are created
loop max_loop=64

To make sure the ’4gb seg fixup errors’ message don’t flood the syslog
echo 'hwcap 0 nosegneg' > /etc/ld.so.conf.d/libc6-xen.conf && ldconfig
Create the forgotten Xen script file in scripts directory.
touch /etc/xen/scripts/hotplugpath.sh
chmod 755 /etc/xen/scripts/hotplugpath.sh
Content of /etc/xen/scripts/hotplugpath.sh
SBINDIR="/usr/sbin"
BINDIR="/usr/bin"
LIBEXEC="/usr/lib/xen/bin"
LIBDIR="/usr/lib"
SHAREDIR="/usr/share"
PRIVATE_BINDIR="/usr/lib/xen/bin"
XENFIRMWAREDIR="/usr/lib/xen/boot"
XEN_CONFIG_DIR="/etc/xen"
XEN_SCRIPT_DIR="/etc/xen/scripts"

If you are installing Xen in a Hetzner server it is recommended to do the following changes in kernel options to insure a proper reboot:
Edit the file /etc/default/grub and replace the line:
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"With:
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 acpi=ht"

Making sure the system starts with the hypervisor (normally not the case and xend can’t start)
mv /etc/grub.d/10_linux /etc/grub.d/50_linux
update-grub2

Making sure xend doesn’t start too early, otherwise it doesn’t create its necessary bridge(s) (peth0…)
mv /etc/rc2.d/S01xend /etc/rc2.d/S20xend
reboot

NOTE: In the DOMUs you can delete the following init symlinks:
(They are not needed and only brings errors at boot time)
/etc/rc2.d/S12acpid
/etc/rcS.d/S08hwclockfirst.sh