Nous allons dans ce billet décrire l'installation d'un système NetBSD 5.0.1 (tout beau tout chaud) sur un serveur de virtualisation XEN (3.0). Pour ceux qui ne suivent pas régulièrement ce blog (c'est pas bien, un ave maria ce soir), vous pouvez lire cet article sur le comment d'une installation d'un serveur XEN (dom0) sous une distribution GNU/Linux Debian.
On télécharge NetBSD
On commence notre aventure par le téléchargement des noyaux xenifiers (jenifer ?):
cd /root
mkdir xen
mkdir netbsd
cd /root/xen/netbsd
wget http://ftp.netbsd.org/pub/NetBSD/NetBSD-5.0.1/i386/binary/kernel/netbsd-INSTALL_XEN3PAE_DOMU.gz
wget http://ftp.netbsd.org/pub/NetBSD/NetBSD-5.0.1/i386/binary/kernel/netbsd-XEN3PAE_DOMU.gz
A noter que mon serveur Xen supporte le mode
PAE (
Physical Address Extension: permet à des processeurs de type x86 de gérer jusqu'à 64 giga-octets de mémoire physique sur des systèmes 32 bits, si le système d'exploitation le supporte), si ce n'est pas le cas, il suffit de récupérer les .gz sans PAE...
On installe le système NetBSD sur notre DomU
Ensuite on passe à la création du fichier de configuration du DomU (/etc/xen/netbsd):
kernel = '/root/xen/netbsd/netbsd-INSTALL-XEN3PAE_DOMU'
memory = '256'
root = '/dev/sda2 ro'
disk = [
'file:/xen/domains/netbsd/disk.img,sda1,w',
]
name = 'netbsddev.alcasat.net'
vif = [ 'ip=192.168.29.172,mac=00:16:3E:8B:F0:9F' ]
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
On génère l'image disque virtuelle (sous la forme d'un fichier de 3 Go) qui permettra de faire l'installation du système BSD.
cd /xen/domains
mkdir netbsd
cd netbsd
dd if=/dev/zero of=disk.img bs=1024k seek=3000 count=1
On lance l'installation de NetBSD:
xm create -c /etc/xen/netbsd
Lors de l'installation, il faut choisir une installation réseau via FTP ou HTTP. L'instraller vous demandera alors de configurer votre interface virtuelle (@IP, masque et touti quanti...).
Une fois l'installation terminé, il faut aller dans le menu
e: Utility menu et exécuter un shell (/bin/sh). Il faut finaliser l'installation en saisissant les commande suivante:
mount /dev/xbd0a /mnt
cd /mnt/dev
cp -pR /dev/rxbd* .
cp -pR /dev/xbd* .
halt -p
A la suite de cette dernière commande et après quelques secondes, vous voici de retour dans votre maison Dom0.
On démarre notre serveur virtuel NetBSD !
On modifie le fichier de configuration du DomU (/etc/xen/netbsd):
kernel = '/root/xen/netbsd/netbsd-XEN3PAE_DOMU'
memory = '256'
root = '/dev/sda2 ro'
disk = [
'file:/xen/domains/netbsd/disk.img,sda1,w',
]
name = 'netbsddev.alcasat.net'
vif = [ 'ip=192.168.29.172,mac=00:16:3E:8B:F0:9F' ]
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
On vérifie que le DomU a bien été lancée:
# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 1503 2 r----- 8270.2
netbsddev 10 256 1 -b---- 32.0
saurondev 2 256 1 -b---- 19132.7
Ouha c'est beau
et si on se connecte dessus en ssh:
# ssh [email protected]
NetBSD/i386 (netbsddev.alcasat.net) (console)
login:
Et voili, bienvenu dans le monde magique de NetBSD.
Vous en voulez plus ?
Coquin va... Vous voulez pouvoir faire mumuse avec le meilleur Firewall open_source (j'ai nommé PF), vous allez un peu déçu car le kernel xenifier n'inclue pas PF par défaut, il va donc falloir recompiler le kernel (mais bon c'est un exercice indispensable pour tout geek *bsd...). Pour vous aider dans cette légère tache, je ne saurais trop vous conseiller la lecture de ce très bon article de GLMF.