Така и не намерих добра документация за Debian DomU по начина, който аз искам, затова написах следните минимални инструкции. В моята ситуация Dom0 е CentOS 5, затова инструкциите са за него.
За създаване на кореновата директория използвам debootstrap. Не можах да намеря debootstrap за CentOS/RHEL, така че трябва да се използва друг Debian. Използвам 32-битовата архитектура, понеже по мои наблюдения 64-битовите инсталации харчат ~50% повече оперативна памет, което е твърде много. В /etc/inittab трябва да се редактира реда с getty за tty1, което тук е показано чрез sed. Може да се сложат в коментари редовете за tty[2-6]. За име на виртуалната машина е използвано domu.
# apt-get install debootstrap
# debootstrap --arch=i386 squeeze rootdir http://ftp.uni-sofia.bg/debian
# chroot rootdir
rootdir# passwd
rootdir# sed -i s/tty1/hvc0/ /etc/inittab
rootdir# apt-get update
rootdir# apt-get install linux-image-2.6-686-bigmem resolvconf
rootdir# apt-get clean
rootdir# cat > /etc/fstab << EOF
/dev/xvda1 / ext3 defaults 1 1
/dev/xvda2 swap swap defaults 0 0
EOF
rootdir# echo domu > /etc/hostname
rootdir# cat > /etc/network/interfaces << EOF
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address x.x.x.x
netmask x.x.x.x
gateway x.x.x.x
dns-nameservers x.x.x.x
EOF
С това кореновата файлова система е готова. Прехвърляме я в DomU. В примера тук се предполага, че се използва LVM. Трябва да се копират файловете initrd* и vmlinuz* от /boot, така че Dom0 да ги вижда, напр. в /etc/xen. С това всичко е готово и остава да се направи описанието на виртуалната машина, където domu навсякъде трябва да се замени с името на хоста:
name = 'domu'
memory = 512
disk = [
'phy:vg/domu_root,xvda1,w',
'phy:vg/domu_swap,xvda2,w']
vif = [ 'vifname=domu, bridge=xenbr0' ]
kernel = '/etc/xen/vmlinuz-2.6.32-5-686-bigmem'
ramdisk = '/etc/xen/initrd.img-2.6.32-5-686-bigmem'
root = '/dev/xvda1 ro'
ОБНОВЯВАНЕ 2011-06-29: Добавяне на мрежов интерфейс lo
.
- Log in to post comments