La société OVH propose des serveurs discount préinstallés avec les systèmes d’exploitation Linux ou FreeBSD, OpenBSD n’est pas disponible (ni supporté évidemment). “Yet Another Installer For OpenBSD” (YAIFO) apporte une solution pour remédier à ce handicap.
Le seul prérequis est d’avoir un OpenBSD 4.0 sous la main pour construire l’image du chargeur de démarrage (bootloader).
Cette partie se déroule exclusivement sur un OpenBSD 4.0 existant. Aucun accès au serveur Kimsufi n’est nécessaire pour le moment.
Note de Mike Erdely : wget (un port) peut être remplacé par ftp (base)
La première étape consiste à récuperer les sources d’OpenBSD (src.tar.gz et sys.tar.gz) depuis un mirroir (liste ici) ou depuis le CD-ROM (disponible ici) et de les décompacter dans /usr/src :
# mkdir -p /usr/src && cd /usr/src # wget ftp://ftp.fr.openbsd.org/pub/OpenBSD/4.0/src.tar.gz && wget ftp://ftp.fr.openbsd.org/pub/OpenBSD/4.0/sys.tar.gz # tar xzf src.tar.gz && tar xzf sys.tar.gz
Ensuite il faut récuperer les sources de YAIFO (yaifo-newest.tgz depuis le site original ou le mirroir) et appliquer le patch pour la version 4.0 d’OpenBSD (yaifo-0.2-40p1.patch depuis le site original ou le mirroir) :
# wget http://erdelynet.com/downloads/yaifo-newest.tgz && wget http://erdelynet.com/downloads/yaifo/yaifo-0.2-40p1.patch # tar xzf yaifo-newest.tgz && cd yaifo-0.2 # patch -p0 < ../yaifo-0.2-40p1.patch
Vient ensuite l’étape de configuration. Le fichier “config” doit en effet contenir la configuration réseau du serveur à installer. Ce fichier est par la suite embarqué dans le chargeur de démarrage lors de l’étape de compilation. “config” est bien commenté mais voici quand même un exemple :
TYPE=remote DEVICE= DHCP=off # Serveur DNS OVH (cdns.ovh.net) DNS=213.186.33.99 SEARCH= # IP du serveur Kimsufi qui vous est attribué par OVH IP=91.xxx.xxx.xxx NETMASK=255.255.255.0 # Passerelle du serveur Kimsufi qui vous est attribué par OVH GATEWAY=91.xxx.xxx.254 SPECIAL=0
Il faut également rajouter une paire de clé privée/publique qui vont permettre d’assurer l’authentification lors de la première connexion. La clé publique doit être copiée dans le fichier “authorized_keys”. Le couple peut être généré par puttygen ou par OpenSSH :
# ssh-keygen -t rsa # cp ~/.ssh/id_rsa.pub authorized_keys
(il est également possible de générer des fichiers ssh_host_dsa_key/ssh_host_dsa_key.pub, ssh_host_rsa_key/ssh_host_rsa_key.pub pour pouvoir authentifier la machine à laquelle on va se connecter)
La dernière étape consiste à lancer la compilation du bootloader :
# make obj # make
Après quelques minutes, on obtient un fichier “yaifo.fs” situé dans /usr/obj. C’est ce fichier qui contient le bootloader et l’installeur.
Dans un premier temps, il faut s’assurer que le fichier “yaifo.fs” est accessible depuis Internet en FTP ou HTTP (en le copiant sur un espace d’hébergement mais pas sur le serveur Kimsufi en question). Ensuite, on redémarre le serveur Kimsufi en “netboot-rescue-pro” et une fois loggué, il faut executer :
# wget -O - http://serveur_où_se_trouve_yaifo.fs/yaifo.fs | dd of=/dev/hda && sync # reboot
(pour un OS Linux préinstallé)
# wget -O - http://serveur_où_se_trouve_yaifo.fs/yaifo.fs | dd of=/dev/ad0 && sync # reboot
(pour un OS FreeBSD préinstallé)
Après le redémarrage de la machine, il est possible de se connecter en SSH avec le compte “root” en utilisant la clé privée générée précédemment et de commencer l’installation du système. Pour plus d’infos sur l’installation et la configuration d’OpenBSD, le site officiel fournit toute la documentation nécessaire.
Bonne installation !
Mike Erdely - http://erdelynet.com/