Installer OpenBSD sur une clé USB
Auteur : Olivier BOYER - oboyer () ajoute ! org
Mots clés
clé usb, usb stick, OpenBSD
Introduction
Ce document présente comment installer un système OpenBSD 4.1 sur une clé USB.
Présentation de la maquette
- Une machine déjà installée sous OpenBSD, dotée d'un port USB
- Une clé USB
Note
Toutes les commandes présentées ici, sont à exécuter, sauf mention contraire, en tant qu'administrateur de la machine déjà installée sous OpenBSD.
Pré-requis
- Une machine déjà installée sous OpenBSD avec un slot USB
- Une clé USB (dans cette maquette, la clé est d'1 Go)
- Une connexion à Internet ou un CDROM d'installation d'OpenBSD 4.1
- un BIOS d'une machine capable de démarrer sur un périphérique USB
Préparer l'installation
La machine déjà installée sous OpenBSD est munie d'un seul disque dur IDE. Qaund une clé USB est branchée, elle est vue par le système comme un disque SCSI. Puisque c'est le seul périphérique SCSI de la machine, la clé est nommée sd0. Il se peut que dans votre configuration, la détection du disque soit différente : si vous avez déjà un disque SCSI ou un disque USB de branché. Pour le reste du document, la clé USB est identifiée comme le périphérique sd0.
Brancher la clé USB
Branchez la clé USB sur un emplacement disponible de la machine, puis vérifiez que la clé est bien détectée par le système. Pour ce faire, exécutez la commande suivante :
# dmesg [...] umass0 at uhub0 port 1 configuration 1 interface 0 umass0: SMI Corporation USB DISK, rev 2.00/11.00, addr 2 umass0: using SCSI over Bulk-Only scsibus1 at umass0: 2 targets sd0 at scsibus1 targ 1 lun 0: <USB, Flash Disk, 1100> SCSI0 0/direct removable sd0: 967MB, 967 cyl, 64 head, 32 sec, 512 bytes/sec, 1981440 sec total
Notez bien la géométrie de la clé ; ces paramètres vont être utiles dans l'étape suivante.
Réinitialiser le MBR de la clé USB
Les clés USB sont prévues pour stocker des fichiers temporaires, pas pour démarrer un système d'exploitation. Elles n'ont donc pas de secteur de démarrage (Master Boot Record) d'initialisé. Si l'on veut pouvoir démarrer un système d'exploitation, il faut créer un MBR. Pour ce faire, exécutez la commande suivante :
# fdisk -i -c 967 -h 64 -s 32 sd0
fdisk: sysctl(machdep.bios.diskinfo): Device not configured
-----------------------------------------------------
------ ATTENTION - UPDATING MASTER BOOT RECORD ------
-----------------------------------------------------
Do you wish to write new MBR and partition table? [n] y
MBR is unchanged
Le MBR est maintenant copié au début de la clé USB.
Partitionner la clé
Maintenant que le secteur de démarrage du disque dur est prêt, il faut partitionner le disque dur (ici la clé USB) pour installer le système OpenBSD. Dans notre exemple, nous allons créé une seule partition, la partition racine /. Nous n'utiliserons pas de swap, ni de partition dédiée aux utilisateurs.
# disklabel -f /tmp/fstab -E sd0 # Inside MBR partition 3: type A6 start 32 size 1980384 disklabel: Can't get bios geometry: Device not configured Treating sectors 32-1980416 as the OpenBSD portion of the disk. You can use the 'b' command to change this. Initial label editor (enter '?' for help at any prompt) > p device: /dev/rsd0c type: SCSI disk: SCSI disk label: Flash Disk bytes/sector: 512 sectors/track: 32 tracks/cylinder: 64 sectors/cylinder: 2048 cylinders: 967 total sectors: 1981440 free sectors: 1980384 rpm: 3600 16 partitions: # size offset fstype [fsize bsize cpg] a: 1980384 32 unused 0 0 # Cyl 0*- 966 c: 1981440 0 unused 0 0 # Cyl 0 - 967* > > d a > a a offset: [32] size: [1980384] FS type: [4.2BSD] mount point: [none] / > p device: /dev/rsd0c type: SCSI disk: SCSI disk label: Flash Disk bytes/sector: 512 sectors/track: 32 tracks/cylinder: 64 sectors/cylinder: 2048 cylinders: 967 total sectors: 1981440 free sectors: 0 rpm: 3600 16 partitions: # size offset fstype [fsize bsize cpg] a: 1980384 32 4.2BSD 2048 16384 16 # / c: 1981440 0 unused 0 0 > w > q
Formater la partition
La partition racine est créée. Il faut maintenant construire un système de fichiers pour recevoir l'installation du système. Procédez comme suit :
# newfs sd0a
Warning: 32 sector(s) in last cylinder unallocated
/dev/rsd0a: 1980384 sectors in 1934 cylinders of 32 tracks, 32 sectors
967.0MB in 6 cyl groups (323 c/g, 161.50MB/g, 20608 i/g)
super-block backups (for fsck -b #) at:
32, 330816, 661600, 992384, 1323168, 1653952,
Monter la clé USB
Exécutez la commande suivante :
# mount /dev/sd0a /mnt
La clé USB est maintenant prête à être installée.
Installer OpenBSD
Télécharger les sets d'installation
Pour obtenir la liste des miroirs FTP OpenBSD, consultez la page http://www.openbsd.org/ftp.html
Pour télécharger les composants d’installation, procédez comme suit :
# cd /tmp # mkdir openbsd # # cd /tmp/openbsd # ncftpget ftp://ftp.openbsd.org/pub/OpenBSD/4.1/i386/bsd # ncftpget ftp://ftp.openbsd.org/pub/OpenBSD/4.1/i386/base41.tgz # ncftpget ftp://ftp.openbsd.org/pub/OpenBSD/4.1/i386/etc41.tgz # ncftpget ftp://ftp.openbsd.org/pub/OpenBSD/4.1/i386/x*41.tgz # ncftpget ftp://ftp.openbsd.org/pub/OpenBSD/4.1/i386/MD5
Après le téléchargement des différents composants, penser à vérifier leur intégrité à l’aide de la commande md5(1) et du fichier MD5.
Installer le noyau
Pour installer le noyau OpenBSD, exécutez la commande suivante :
# cp /tmp/openbsd/bsd /mnt # sync
Décompresser les sets d'installation
Pour décompresser les sets d'installation sur la clé USB, procédez comme suit :
# cd /mnt # for i in /tmp/openbsd/*.tgz ; do tar xpzf $i ; done # sync
Ecrire le Partition Boot Record (PBR)
Exécutez les commandes suivantes :
# cp /mnt/usr/mdec/boot /mnt # # sync # /usr/mdec/installboot /mnt/boot /usr/mdec/biosboot sd0
Créer les périphériques
Pour créer les fichiers de périphériques, exécutez les commandes suivantes :
# cd /mnt/dev # ./MAKEDEV all
L'installation d'OpenBSD sur la clé USB est maintenant terminée. Il ne reste plus qu'à configurer le système client.
Configurer le système sur la clé USB
/etc/myname
Le fichier /etc/myname contient le nom de la machine. Pour le créer, exécutez la commande suivante :
# echo "usb.leaves.org" > /mnt/etc/myname
/etc/fstab
Editez comme suit le fichier /mnt/etc/fstab :
/dev/sd0a / ffs rw,noatime,softdep 1 1
Configurer le réseau
L'adresse IP du client est obtenue par un serveur DHCP. Pour configurer le client, exécutez la commande suivante :
# echo "dhcp NONE NONE NONE" > /mnt/etc/hostname.em0
Configurer l'heure
Par défaut, le fuseau horaire d'un OpenBSD est positionné à Canada/Mountain. Pour configurer le fuseau horaire français, procédez comme suit :
# cd /mnt/etc # rm localtime # ln -s ../usr/share/zoneinfo/Europe/Paris localtime
Configurer le clavier en Français
Pour configurer le clavier en Français, procédez comme suit :
# echo "fr" > /mnt/etc/kbdtype # echo "keyboard.encoding=fr" >> /mnt/etc/wsconsctl.conf
Configurer la carte graphique
Chemin de recherche des librairies
Configurez le chemin de recherche des librairies dynamiques graphiques comme suit :
# chroot /mnt /sbin/ldconfig -m /usr/X11R6/lib # exit
Activer le driver 'aperture'
Sur le serveur, exécutez la commande suivante :
# echo "machdep.allowaperture=2" >> /mnt/etc/sysctl.conf
Attention, si le client est déjà démarré, pour que cette modification soit effective, vous devez le redémarrer.
Configurer le serveur X
Pour configurer le serveur X, démarrez le client, logez-vous en tant qu'utilisateur root, et exécutez la commande suivante :
# /usr/X11R6/bin/xorgcfg
Le serveur X se lance, et affiche un utilitaire graphique de configuration de Xorg.