NetBSD/Xen Инсталация



Инсталиране на NetBSD/xen като Domain0
автор: Николай Христов - 08.05.2007

Първо и ней-важното нека отбележим че ако искате да инсталирате NetBSD/xen работещ като
Domain0 с Xen 3.0.x ви трябва или NetBSD-current или NetBSD 4.0_BETAX.
NetBSD 3.0.x/3.1 може да работи само като guest OS тоест DomainU с Xen 3.0.
NetBSD 3.0.x/3.1 като Domain0 работи само с xen 2.0

NetBSD 4.0_BETAX може да изтеглите от тук на имидж: NetBSD-daily - в директория: дата/iso/i386cd.iso

HOWTO на английски има на: http://www.netbsd.org/Ports/xen/howto.html което е писано за Xen 2.0

Преди инсталацията трябва да решите дали виртуалните машини ще се нуждаят до реален достът до
някои дялове или другия вариант е за всяка виртуална машина да бъде създаден имидж файл и монтиран
през vnd(4) устройството (аналогично при линукс е loop device).

След инсталацията на NetBSD-то инсталирайте от pkgsrc/sysutils/xenkernel30, pkgsrc/sysutils/xentools30,
и pkgsrc/sysutils/grub
. Grub е нужен при зареждането на xen ядрото. Както се досещате нужно е
и NetBSD ярдо с подръжка на Xen. Него можете да вземете от инсталационното cd/iso image. Намира
се в i386/binary/kernel/netbsd-XEN3_DOM0.gz. GRUB се изисква за зареждането на xen3 ядрото
.

# mount_cd9660 /dev/cd0a /mnt
# cp /mnt/i386/binary/kernel/netbsd-XEN3_DOM0.gz /
# cp /usr/pkg/xen3-kernel/xen.gz /
# mkdir /grub
# cp /usr/pkg/lib/grub/i386-/* /grub

Примерен файл за зареждане на xen kernel-а. Запишете го като menu.lst и го копирайте в /grub

# Grub config file for NetBSD/xen. Copy as /grub/menu.lst and run
# grub-install /dev/rwd0d (assuming your boot device is wd0).
#
# The default entry to load will be the first one
default=0
# boot after 10s the default entry if the user didn't hit keyboard
timeout=10

# Let the user select which console to use (serial or VGA), default
# to serial after 10s
terminal --timeout=10 serial console

# booting XEN
title Xen 3.0 / NetBSD 4.0_BETA
  root(hd0,a)
  kernel (hd0,a)/xen.gz dom0_mem=512M
  module (hd0,a)/netbsd-XEN3_DOM0.gz root=/dev/hda1 ro console=pc

# Load the NetBSD bootloader in case of some screw up.
title NetBSD chain
  root        (hd0,0)
  chainloader +1

## end of grub config file.

Можете да изтеглите файла от тук: menu.lst

# cp menu.lst /grub
# grub --no-floppy

grub> root (hd0,a)
Filesystem type is ffs, partition type 0xa9
grub> setup (hd0)
.....
.....

Би трябвало да каже success накрая с което се завършва и инсталацията на самия grub.
В случай че нещо се обърка и системата не иска да се зареди изберете от менюто NetBSD chain
което извиква NetBSD boot loader-а.

Следващата стъпка е да създадем специалните устройства с които работи Xen а именно: /dev/xencons
, /dev/xenevt
. Това може да направим с командата:

# cd /dev
# ./MAKEDEV xen
# ls -la /dev/xen*
crw-------  1 root  wheel  143, 0 May  2 19:37 /dev/xencons
crw-------  1 root  wheel  141, 0 May  3 12:33 /dev/xenevt
#

След това копираме rc.d скриптовете в /etc/rc.d/ и добавяме съответните редове в /etc/rc.conf за
да се стартират при зареждане на системата:

# cp /usr/pkg/share/examples/rc.d/xend /etc/rc.d/
# cp /usr/pkg/share/examples/rc.d/xenbackendd /etc/rc.d
# echo "xend=YES" >> /etc/rc.conf
# echo "xenbackendd=YES" >> /etc/rc.conf
#

Сега вече може да рестартираме системата за да се зареди xen + NetBSD като Domain0.
Ако всичко е минало гладко вече трябва да имате заредена система с NetBSD/xen Domain0.
Можем да проверим дали всичко е ок ето така:

# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      512     1 r-----    127.6

Няколко бързи команди: - xm console ime_na_domain - закачане към конзолата на желания домейн
- Ctrl + ] - разкачане от текущия домейн
- xm shutdown ime_na_domain - досещате се какво е ;)

Инсталиране на guest OS (бележки)

Инсталация на Linux като DomainU
Инсталация на FreeBSDкато DomainU
Инсталация на Plan9като DomainU

NetBSD