OpenBSD sur Thinkpad A20

Disposant d'un modèle A20 du portable Thinkpad IBM, cette page vous aidera à installer et configurer cette machine sous OpenBSD (actuellement sous version 2.9).

Dernière modification : 6 octobre 2001
Copyright (c) 2001 Gilbert Fernandes ; ce document est placé sous licence BSD.


Plutôt que de présenter la machine en détails je vais couvrir l'installation du point de vue de l'utilisateur installant le système, ce qui vous permettra d'imprimer ce document et de l'utiliser, pas à pas, pour votre propre installation si vous disposez de ce modèle ou d'un modèle similaire. Je couvre ici toute l'installation et la configuration. J'ai aussi ajouté un article sur l'application des patches (regardez la page d'index du site) et un autre sur la compilation de son propre noyau (c'est surtout requis à cause des différents patches qui portent sur le noyau) mais ce n'est pas inutile sur une machine qui ne dispose à l'origine que de 64 Mo de mémoire ;-)


1. La machine dans sa configuration de base

La machine se trouve livrée soit avec Windows 98 SE, soit un Linux Caldera eDesktop. Celle dont je disposais contenait un Windows, couvrant la totalité du disque. Ne souhaitant pas réinstaller le premier système (son usage étant déjà pénible..) j'ai réduit la taille de la partition. Vous pouvez ici soit utiliser la même technique, soit réinstaller Windows sur une partition plus petite ou recouvrir à l'excellent Partition Magic qui permet de modifier et répartir les partitions depuis Windows. J'explique ici comment procéder à l'aide d'un programme libre d'usage : FIPS. Il se trouve au sein du premier CD d'OpenBSD, dans le dossier tools (dans le dossier 2.9).


La préparation

Pour réduire la taille de la partition, ce programme réduit dans la table de partitions la taille, mais il faut pour cela que la zone libérée en fin de partition soit libre de données. Il faut donc commencer par défragmenter le disque dur depuis Windows, puis désactiver la mémoire virtuelle. Ainsi, on parvient généralement à libérer assez d'espace disque pour réduire la partition. La défragmentation se lance en clic-droit sur le disque dur, sur le même onglet qui donne accès au "Scandisk". Vous pourrez y accéder depuis ce menu :

[ image perdue ]

Pour désactiver la mémoire virtuelle (ignorez les avertissements de Windows) vous devrez faire un clic droit sur l'icône de votre ordinateur sur le bureau puis le dernier bouton "mémoire virtuelle" vous permettra de désactiver la mémoire virtuelle avant de passer à l'étape suivante :

[ image perdue ]

La disquette avec FIPS

Vous devez créer une disquette "bootable" puis ne laisser sur cette disquette que le fichier "command.com". Vous devez ensuite y copier les fichier suivants :

Afin de pouvoir démarrer sur la disquette et réduire la taille de la partition. L'opération est techniquement sans risque, mais si vous ne maîtrisez pas ces outils et tous les concepts techniques en rapport avec le partitionnement, vous devriez effectuer une sauvegarde préventive des données éventuelles de votre partition Windows au préalable. Après avoir démarré sur cette disquette vous devrez lancer le programme. Ce dernier vérifiera le bon état de la table de partitions, fera une sauvegarde de l'actuelle table sur la disquette (ce qui permet d'annuler la modification par la suite, au cas où car ce programme n'altère que la table de partitions). Ce programme est très simple d'emploi et son manuel vous expliquera comment procéder.


Après avoir réduit la taille de la partition

Comme l'indique le manuel de FIPS, vous devez redémarrer sous Windows puis en réactiver la mémoire virtuelle. Un redémarrage (sic) plus tard, vous devez utiliser "Scandisk" afin de vous assurer de la bonne santé du système de fichier puis continuer dans l'installation d'OpenBSD.


2. Une note importante sur la "barrière des 8 Go"

Cette barrière est due aux BIOS de la plupart de nos machines. Lorsque votre machine démarre, son BIOS prend en charge ce que l'on nomme les tests "POST" qui permettent de s'assurer du bon fonctionnement de la machine avant même que le moindre système d'exploitation ne soit chargé. Afin de pouvoir charger en mémoire un secteur de démarrage, un "bootstrap" il faut donc que le BIOS soit capable de détecter un support de masse, comme un disque dur, mais également capable d'en lire un secteur (soit 512 octets) et de faire en langage machine un "jump" vers le code de ce secteur. La plupart des BIOS chargent donc à une zone définie de la mémoire le secteur de démarrage et lui donnent le contrôle. La difficulté ici réside dans l'implémentation dans le BIOS de la fonction de lecture auprès du disque. Historiquement, on parle de l'interruption 13h qui correspondait, sous le DOS, à la fonction de lecture/écriture accessible en chargeant dans les registres (ah, cx..) du processeur la valeur 13h (dans Ah) et dans d'autres registres la localisation du secteur à lire, déterminé en cylindre, tête et secteur (le "CHS"). Or, les BIOS par manque d'espace de stockage de leurs routines auront utilisé moins de bits que ceux possibles en registre (11 bits, de mémoire) ce qui signifie que les valeurs maximales du CHS ne permettent d'adresser qu'environ 8 Go des capacités actuelles de nos disques dur.


Que se passe-t-il en pratique ?

En pratique, cela signifie que les BIOS (sauf les BIOS récents) ne sont capables de charger des données que dans les premiers 8 Go des disques. Si votre noyau OpenBSD se trouve, par exemple, dans une partition qui commence au Go 9 du disque, la routine chargée en mémoire (avant même qu'OpenBSD ne soit chargé) va demander au BIOS d'effectuer une lecture mais comme les valeurs maximales en CHS (Cylindre - Tête - Secteur) de la routine 13h implémentée dans le BIOS ne peuvent adresser une zone aussi distante, le chargement échouera. C'est pourquoi aussi bien sous les systèmes BSD que Linux on recommande en règle générale de ne placer la partition contenant le noyau du système qu'en dessous des 8 premiers Go du disque. Bien entendu, beaucoup de BIOS sur les machines récentes n'ont plus ce problème aujourd'hui mais il faut également modifier les programmes en charge du lancement des noyaux, et comme nous essayons de conserver une compatibilité pour ceux et celles dont les machines ne disposent pas de ces nouveaux BIOS, on assume par défaut que tous les BIOS ont cette limitation. Lorsque vous réduisez votre partition Windows afin de libérer assez d'espace pour l'installation d'OpenBSD vous devez faire en sorte que cette première partition cèsse au bout de, par exemple, 7 Go ou 7,5 Go afin que le noyau d'OpenBSD se trouve adressable avant ces 8 Go (il fait environ 2-3 Mo donc on peut pousser jusqu'à 7,7 ou 7,8 Go facilement).


3. Combien dois-je libérer d'espace disque ?!

OpenBSD ne demande qu'une faible quantité d'espace disque. Sans interface graphique une partition de 500 Mo par exemple vous laissera assez d'espace libre pour apprendre à utiliser le système, le fonctionnement des "Ports" et d'autres choses passionnantes :-) En allouant 1 Go à OpenBSD vous aurez bien assez d'espace et si vous souhaitez attribuer plus d'espace au système vous pouvez agir selon votre discrétion. Disons qu'une valeur de 1 Go semble, au vu des capacités actuelles de nos disques durs, une valeur raisonnable et qui vous laisse plusieurs Go pour un autre système d'exploitation.


4. Démarrage sur le CD d'OpenBSD

Avec le CD-Rom d'OpenBSD dans votre lecteur de CD-Rom et votre BIOS configuré pour démarrer sur ce dernier, vous pouvez démarrer sous OpenBSD. Le chargeur va afficher une invîte "boot>" et vous pouvez soit appuyer sur entrée, soit attendre quelques secondes. Si votre machine ne semble pas capable de démarrer depuis un CD, vous devez créer la disquette de démarrage à l'aide des outils présents sur le CD et une image de disquette, comme "floppy29.fs" qui se trouve sur le CD. Si vous disposez de certains matériels, d'autres disquettes sont également disponibles (voir la FAQ d'OpenBSD sur www.openbsd.org pour plus d'information à ce sujet). Après le chargement du noyau, le système va vous afficher une invîte permettant d'installer, de mettre à jour ou bien d'accéder à un "shell" auprès du système :

Enter pathname of shell or RETURN for sh:
erase ^?, werase ^W, kill ^U, intr ^C
(I)nstall, (U)grade or (S)hell ?

Pour installer OpenBSD, nous choisissons "I". Après vous avoir souhaité la bienvenue, le programme d'installation donne quelques informations puis vous demande le type de terminal :

You can run a shell command at any prompt via "!foo"
or escape to a shell by simply typing "!".

Specify terminal type [pct25]:

Vous pouvez accepter l'option par défaut en appuyant sur entrée. Le programme d'installation demande maintenant la localisation du disque qui recevra l'installation. Dans le cadre du Thinkpad, nous ne disposons que du disque interne nommé wd0. Le terme "wd" est un terme historique qui renvoie au fabricant de disques dur "Western Digital" et le numéro note la position du disque sur le contrôleur (E)IDE. Le programme détecte le disque interne et il suffit encore une fois d'appuyer sur entrée pour passer à la première des deux étapes de partitionnement : le partitionnement MBR :

Available disks are :

wd0

Which disk is the root disk? [wd0]:

Après avoir spécifié le disque interne, le programme d'installation vous demande si vous souhaitez utiliser l'intégralité du disque pour l'installation d'OpenBSD. Nous utilisons le choix par défaut qui est "non" afin de procéder au partitionnement :

Do you want to use the *entire* disk for OpenBSD [no]


5. Partitionnement MBR du disque interne wd0

Le programme d'installation va afficher la table de partitions, en utilisant la notation typique du DOS soit quatre entrées possibles. Notre machine ne comporte qu'un Windows n'occupant que quelques Go ce qui se retrouve dans la première entrée de la table de partitions. Nous allons utiliser les commandes du programme d'installation afin de rajouter une seconde partition qui recevra l'installation d'OpenBSD. Ce qui est intéressant, par rapport à Linux par exemple, c'est que même si nous souhaitons disposer de (par exemple) cinq partitions sous OpenBSD, nous n'avons besoin que d'une seule partition OpenBSD sur le disque dur. OpenBSD va ensuite vous proposer un "disk label" qui réalise une seconde découpe de la partition OpenBSD primaire en autant de partitions que vous le souhaiterez. Une installation d'OpenBSD contenant cinq partitions sur un disque ne demandera, du point de vue de la table de partition et des autres systèmes d'exploitation, qu'une et une seule entrée dans la table de partitions ! Cela permet donc une installation facile, et une organisation plus simple du disque dur et cela ne vous enlève pas des entrées de la table de partition comme Linux où chaque partition créé est une partition de moins disponible (et vous ne pouvez disposer pour conserver une compatibilité avec les systèmes Windows que trois partitions primaires dont une étendue au maximum, cette dernière ne pouvant recevoir plus de 10 partitions logiques). Voici la table de partitions de mon propre disque avant l'installation d'OpenBSD :

[ image perdue ]

J'ai utilisé la commande "a" pour ajouter une partition. Vous devez indiquer un type "A6" pour obtenir une partition OpenBSD. Vous pouvez au choix éditer la table en utilisant une notation CHS (Cylindre - Tête - Secteur) ou bien par secteurs. La notation par secteurs me semble plus simple mais vous pouvez agir selon vos goûts. L'offset demandé correspond au premier secteur qui sera utilisé par OpenBSD et il s'agit donc, pour mon disque dur, de 63 (l'offset de la première partition) et de la taille de la première partition, soit donc au total 63 + 1229249. Pour la taille j'ai indiqué la valeur maximale affichée entre crochets ce qui me permet d'obtenir un disque contenant deux partitions : Windows puis OpenBSD, avec la partition OpenBSD débutant avant les 8 Go du disque (qui en comporte environ 11,5 sur ce modèle). Voici ce que représente la table de partitions après la création, sur mon disque, de la partition OpenBSD :

[ image perdue ]

Cette première étape correspond à l'installation d'une partition de type OpenBSD en adoptant le type de partitionnement de type DOS. Ceci permet de faire cohabiter OpenBSD avec d'autres systèmes d'exploitation mais en réalité OpenBSD (comme nombre de BSD) ne requiert pas ce type de partitionnement. Si vous installez un jour OpenBSD en utilisant l'intégralité d'un disque, plutôt que de procéder par une table de partitions de type DOS, le système sera placé sur le disque avec une découpe directe selon OpenBSD, ce qui implique qu'il ne sera pas possible, par la suite, de rajouter une partition avec un schéma du type DOS. Quelques utilisateurs considèrent avec effroi l'installation d'un OpenBSD sur un disque en utilisant un premier partitionnement DOS. Dans notre cas, nous pouvons continuer avec le "disk label" ;-)


6. Partitionnement Disk Label du disque interne

Au cours de cette étape, vous pouvez diviser votre partition OpenBSD selon vos besoins. Mon propre disque ne comporte que deux partitions :

Si vous souhaitez pouvoir conserver plus facilement vos données, il serait plus avisé de procéder autrement que moi et de créer au moins trois partitions : En isolant la partition /home, en cas de réinstallation ou mise à jour par écrasement de votre système, vous conservez vos documents et vos préférences. En cas de mise à jour je réaliser un tar de mes documents et je met à jour le système par écrasement ce qui simplifie la procédure et ne demande que deux étapes supplémentaires. Adoptez la méthode qui vous semble la plus simple.

Le fonctionnement de Disk Label est somme toute très proche de celui du partitionnement MBR. Une notation particulière se trouve toutefois utilisée. Le terme "wd0" désigne le disque dur et une lettre permet de situer les partitions. Si vous ne créez que deux partitions comme moi vous obtiendrez un wd0a et wd0b. La partition "wd0c" n'est pas une partition à proprement parler mais elle représente l'intégralité du disque. Cette partition sera donc toujours présente, et égale à la taille maximale du disque dur. Cette lettre se retrouve également pour d'autres périphériques et permet d'adresser directement le contenu du disque sans considération de son nombre de partitions. La partition Windows devrait apparaître avec la lettre "i" indiquant la première partition non-OpenBSD du disque. Vous pourrez ainsi utiliser un "mount -t msdos /dev/wd0i /mnt" pour monter la partition Windows depuis OpenBSD. Une aide est disponible dans ce programme, sous une forme simple et une forme plus étendue. Les commandes sont proches de celles du premier partitionnement : la commande "a" permet d'ajouter une partition, "d" d'effacer une partition. Lorsque vous créez une partition le programme d'installation ce dernier vous posera plusieurs questions, dont le point de montage. Ce dernier permet d'indiquer dans le partitionnement à quoi la partition est dédiée. Dans mon disque, j'ai indiqué "/" comme point de montage de la partition wd0a ce qui signifie que cette partition correspond à la racine de mon disque OpenBSD. Lors de la création de la seconde partition le type "swap" sera automatiquement choisi par le programme d'installation. Si vous souhaitez rajouter une partition /home il faut donc commencer par supprimer la partition "a", en créer une nouvelle plus petite, puis de créer une seconde partition (wd0b) où le programme d'installation vous proposera automatiquement un type "swap". Vous aurez bien entendu indiqué "/" comme point de montage pour la première partition. Pour créer une partition /home il suffit de rajouter une dernière partition dont le point de montage sera "/home" ce qui permettra au système de savoir qu'après avoir monté la partition racine, il lui faut monter la partition "/home" et la rattacher, au sein du système de fichiers, à l'inode correspondant à /home. Sur une machine serveur avec de nombreux utilisateurs, afin de protéger le fonctionnement du système il est d'usage de séparer certaines partitions comme /tmp ou bien /var (le courrier électronique s'y trouve déposé lorsque les utilisateurs disposent d'un compte sur la machine bien que ceci soit variable). Si vous débutez sous OpenBSD, optez pour un partitionnement simple avec une partition "/" et un swap, voire avec un /home pour vos données.


Le Disk Label

Ce dernier comporte une particularité : les offset qui sont définis au cours du Disk Label sont basés sur le début du disque et non par rapport au début de la partition OpenBSD. On parle ici d'adressage absolu. Le programme Disk Label va afficher une information sur le disque dont les dernières lignes seront assez utiles. Voici ce que j'obtiens sur le Thinkpad :

# using MBR partition 1: type A6 off 12292560 (0xbb91d0) size 3160080 (0x303810)
type: ESDI
disk: ESDI/IDE disk
label: HITACHI_DK23AA-1
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 15
sectors/cylinder: 945
cylinders: 16383
total sectors: 23572080
...

La commande "p" permet de faire afficher le disk label en cours. Tout se passe en mémoire donc les erreurs ne sont pas très importantes tant que vous n'écrivez rien sur le disque (la commande "w" pour écrire). Lorsque j'ai fait le disk label de mon disque, la partition "a" occupait tout l'espace disponible. J'ai donc supprimé cette partition afin de créer deux partitions : une partition / et une partition de swap. Vous pouvez utiliser la commande "?" pour afficher les différentes options disponibles. J'ai utilisé un swap de 128 Mo ce qui correspond à un peu plus de 260 000 secteurs. Il vous suffit de prendre note de l'offset et du nombre de secteurs disponibles et de retrancher l'espace voué au swap de la partition racine. La commande "d a" permet d'effacer la partition. Puis j'ai créé la nouvelle partition "/" réduite de 261765 secteurs (128 Mo) :

a a
offset: [0] 12292569
size: [11279520] 11017755
FS Type: [4.2BSD]
mount point : /

La première commande (a a) permet de demander l'ajout d'une partition "a". Le programme demande l'offset et je dois indiquer le premier secteur de la partition OpenBSD afin de ne pas écraser ou toucher la partition Windows. La taille que j'ai indiqué est plus petite de 261765 secteurs (que je veux consacrer au swap). Le type de système de fichier proposé par défaut convient parfaitement et il faut donc appuyer sur entrée. A la question suivante, "mount point" il faut indiquer /. Il ne nous reste alors plus qu'à créer la partition de swap :

a b
offset: [23310315]
size: [261765]
FS Type: [swap]

Comme il s'agit tout simplement du reste de la partition, c'est très simple. L'offset affiché est correct, ainsi que la taille qui correspond au reste donc il suffit d'appuyer sur entrée à chaque fois. La seconde partition reçoit par défaut un type "swap" et il suffit de confirmer. La partition de swap est prête. Avant d'écrire le disk label il faut l'afficher afin de vérifier que tout est parfait. Voici ce que renvoie le disque du Thinkpad :

[ image perdue ]

J'ai bien la partition "a" qui correspond à mon "/" et le swap de 128 Mo. La partition "c" représente l'intégralité du disque, il n'y a donc rien à toucher. Et enfin la partition "i" qui est celle de Windows (type "MSDOS"). Pour terminer l'opération nous utilisons les commandes "w" et "q" pour inscrire le disk label sur le disque et quitter. Le système vous demande alors de confirmer vos choix afin qu'il puisse procéder au formatage du système de fichier, ce qui demande un peu de temps (mais si l'on compare à un formatage comme sous Windows, c'est beaucoup plus rapide) :

The next step will overwrite any existing data on:
wd0a

Are you really sure that you're ready to proceed? [n] y
Creating filesystems...

Par défaut le programme d'installation ne procédera pas au formatage, il vous faut confirmer par "y" pour poursuivre. Vous verrez également le message suivant (pas toujours) :

Warning : 64 sector(s) in last cylinder unallocated


Pourquoi le dernier cylindre n'est pas alloué en fin de disque ?

Il est souvent d'usage de ne pas utiliser les fins de disque. C'est surtout un fait historique puisque les anciens disques durs ne disposaient pas de capacité de "parquage" des têtes. Ces dernières sont maintenues à une très courte distance de la surface des disques, la rotation produisant un effet de coussin d'air (fabriquer un système qui pourrait maintenir les têtes à une distance suffisante serait trop complexe là où un simple coussin d'air fonctionne parfaitement) et les anciennes machines n'utilisaient jamais les secteurs en fin de disque afin de pouvoir y déplacer la tête avant que la machine ne soit éteinte. La tête se posait alors doucement à mesure que la rotation du disque cesssait. Par contre, lors de l'allumage de la machine le temps d'obtenir le coussin d'air la tête (ou les têtes plutôt) frottaient contre la surface du disque ce qui, à long terme, abîmait les secteurs concernés. Même Windows NT procède de la même manière et si vous installez Windows NT 4 sur un disque vous découvrirez (cela semble être également le cas avec Windows 2000) que la fin du disque n'est jamais allouée (généralement le dernier cylindre).


7. La configuration du réseau

Comme la machine utilise des composants "Win modem" sur une carte combo comprenant la carte réseau et le modem, ces éléments ne sont pas utilisables sous OpenBSD. Je n'ai donc pas configuré le réseau à l'installation de la machine, mais par la suite manuellement après l'installation d'une carte 3Com (un modèle qui fonctionne bien : 3C3EC656C en 10/100 avec modem V.90 56.6 intégré). Par la suite le programme d'installation vous demande si vous souhaitez accéder à un "shell" mais cela n'est pas vraiment requis sauf pour quelques configurations manuelles requises :

Escape to shell? [n]


8. Le mot de passe du compte "root"

Le programme d'installation vous demande alors d'entrer le mot de passe du compte "root". Comme le clavier est en qwerty il vaut mieux utiliser un mot de passe très simple, que nous pourrons modifier une fois le clavier installé sous un keymap français. Entrez un mot de passe (vous pourrez le modifier par la suite de toute façon) afin de pouvoir continuer:

Please enter the initial password that the root account will have:
Password (with no echo):
Password (again):


9. Avec ou sans interface graphique ?

OpenBSD est un système d'exploitation développé pour intégrer une cryptographie forte mais également un fort niveau de sécurité "par défaut". Cette question permet de configurer un paramètre en rapport avec "APERTURE" qui doit être modifié selon que vous souhaitez ou non disposer de X Free. La valeur dépend également de la version du serveur utilisée (X Free 4 requiert un APERTURE égal à 2, et la version 3.3.6 demandait un APERTURE de 1). Comme j'utilise X Free pour pouvoir utiliser KDE 2.1.1 je réponds oui à cette question :

Do you expect to run the X Window System? [y]


10. Installation des paquetages du système

Plusieurs méthodes d'installation sont disponibles, du simple CD-Rom au téléchargement par FTP depuis une autre machine, par NFS (partage de fichiers par défaut), etc. Ayant utilisé le CD-Rom pour procéder à l'installation j'ai donc indiqué "C" pour demander une installation par CD-Rom. Le chemin par défaut proposé par le programme d'installation ("2.9/i386") correspond à celui des fichiers du CD-Rom, je confirme à chaque fois par un appui sur entrée. Le programme d'installation affiche alors la liste des paquetages disponibles, du kernel (le paquetage bsd) aux paquetages composant le système X. Comme le système ne demande que peu d'espace disque, j'ai demandé l'installation de tous les paquetages ("all" puis "done"). Après avoir confirmé mes choix le programme d'installation procède à l'installation des paquetages du système, ce qui demande environ 3 minutes (la totalité de l'installation n'aura demandé que dix minutes à peine). Il ne reste plus qu'à spécifier son fuseau horaire à la question suivante ("Europe/Paris"). Le programme d'installation termine alors l'installation avec les touches finales (le MAKEDEV, l'installation du "boot block" et le réglage d'APERTURE). Vous pouvez maintenant éteindre ou redémarrer la machine pour procéder au premier démarrage sous OpenBSD afin de configurer le clavier et quelques autres paramètres.


11. Installation de booteasy

Si vous utilisez un double-système sur votre portable, il faut installer un chargeur qui permettra de choisir son système au démarrage. Le CD-Rom d'OpenBSD propose plusieurs outils. Si un Windows est installé comme sur ma configuration, le programme d'installation ne touche pas au secteur de démarrage du disque. Le premier redémarrage se passe donc sous Windows. Là, il faut prendre sa disquette bootable (utilisée pour FIPS) afin de copier les fichiers composant "booteasy" et redémarrer sur la disquette. Le programme requiert juste quelques fichiers sur la disquette : son programme d'installation, et un fichier contenant le secteur à installer :

  1. BOOTINST.EXE
  2. BOOT.BIN
Après avoir démarré sur la disquette, il suffit de lancer le programme "BOOTINST" qui va étudier le disque, vous afficher la liste des partitions que l'on peut faire démarrer et vous propose l'installation d'easyboot sur le disque. Lorsque vous démarrez votre machine, la touche F1 permettra de faire démarrer Windows, et la touche F2 lancera OpenBSD. Si vous installez OpenBSD sur l'intégralité du disque le programme d'installation met en place automatiquement tout ce qui est requis pour prendre en charge le lancement du système.


12. Le premier démarrage sous OpenBSD

Le premier démarrage sous OpenBSD est un peu plus long car lors du premier lancement les clefs de la machine hôte (RSA et DSA) sont créées. Lorsque l'on provient à l'invîte du login on peut se connecter en root. La première chose à faire c'est de passer en clavier français, et de rendre cette modification permanente :

kbd fr
echo "kbd fr" >> /etc/rc.local


Configuration générale

Comme OpenBSD n'utilise qu'un simple fichier rc.conf cette étape est simple, rapide et unifiée. Il suffit d'éditer le fichier /etc/rc.conf à l'aide de vi et de choisir ses options. Par défaut, je désactive :

  1. portmap
  2. ssh
  3. sendmail
  4. inet
Et j'active l'APM avec l'option "-a". Cette option indique au daemon apmd qu'il ne doit pas accepter les demandes du BIOS d'entrée en veille lorsque la machine ne se trouve pas en fonctionnement sur batterie. Ceci permet toutefois de lancer une mise en veille manuellement (apm -z par exemple) mais permet de maintenir la machine allumée tant qu'elle se trouve branchée sur l'adaptateur secteur.


L'ajout d'un utilisateur

Il ne reste plus pour terminer cette étape que de créer un compte d'utilisateur, de l'insérer au sein du groupe wheel et de lui donner la capacité d'utilisation de sudo ce qui permettra de monter des volumes et d'entrer des commandes sans jamais devoir se loguer en root sur le système. Il s'agit donc d'un compte d'utilisateur privilégié.

Je commence par modifier le mot de passe du compte root puisque désormais le clavier français est actif, ce qui permet d'entrer tout un ensemble de caractères spécifiques au claviers français. Ensuite, on crée un compte d'utilisateur avec son répertoire utilisateur :

useradd -m gilb passwd gilb

Pour ajouter l'utilisateur au groupe wheel il faut éditer le fichier /etc/group et ajouter le nom de l'utilisateur en fin de première ligne avec celui de "root". Enfin, la commande "visudo" permet de spécifier que cet utilisateur peut taper toute commande "root" sans restriction :

gilb ALL=ALL

Il ne reste plus qu'à redémarrer. En fait, ce n'est pas vraiment nécessaire puisque nous pouvons faire quitter les daemon qui ne sont pas désirés, de lancer le daemon apmd et de se reloguer en utilisateur. En fait, on ne devraît jamais faire redémarrer un système Unix mais il s'agit pour nous de vérifier la bonne configuration au démarrage de la machine portable ce qui n'est pas une machine serveur :-) Mais il vaut mieux s'assurer que chaque lancement effectue bien toutes les opérations requises et que la configuration voulue est belle et bien obtenue.


13. Installation et configuration du serveur X

La machine dispose d'une carte graphique tout à fait honorable et rapide puisqu'il s'agit d'une ATI Mobility de 128 bits avec 8 Mo de mémoire, ce qui permet un affichage 24/32 bits en 1024x768 à l'écran et jusqu'à 1600x1200 sur un écran externe. La fréquence de l'écran à cristaux liquide est fixe à 50 Hz. Pour procéder à la configuration il suffit de se loguer en root puis d'aller dans le répertoire /usr/X11R6/bin et de lancer le programme de configuration : "xf86cfg". Ce dernier détecte automatiquement la carte et nous n'avons plus qu'à configurer l'écran et le clavier. Pour l'écran il faut sélectionner dans la liste un affichage en 1024x768 et d'indiquer avec les intervalles en-dessous une place de fréquence verticale comprenant la valeur 50 : ce qui correspond en fait à la première plage affichée. Ensuite, nous configurons le clavier en tant que clavier PC 105 touches étendu et nous sélectionner "French" comme mappage clavier. Le bouton "Quit" fait apparaître les deux demandes de confirmation permettant de créer dans le répertoire /root le fichier de Configuration XF86Config.new. Vous devez copier ce fichier dans /etc/X11 en renommant ce dernier :

cp ~/XF86Config.new /etc/X11/XF86Config

Pour disposer d'un affichage de meilleure qualité il faut toutefois éditer ce fichier manuellement afin de parfaire la configuration. Par défaut le nombre de couleurs laisse à désirer et repose sur un affichage 8 bits. La carte ne supporte pas 32 bits mais seulement le mode 24 bits (c'est également le cas sous Windows, mais ce dernier affecte également la palette lors des changements de profondeur d'écran). Editez le fichier XF86Config et modifiez la section "Screen" reproduite en partie ci-dessous :

Section "Screen"
  Identifier "Screen0"
  Device "Card0"
  Monitor "Monitor0"
  DefaultDepth 24

La ligne en gras est celle que vous devez ajouter. D'autre part, si vous utilisez une souris avec la machine qui dispose d'une molette, vous pouvez l'activer puisque cette fonctionnalité est supportée par X Free 4. Il vous suffit de modifier la section "InputDevice" comme visible ici :

Section "InputDevice"
  Identifier "Mouse0"
  Driver "mouse"
  Option "Protocol" "wsmouse"
  Option "Device" "/dev/wsmouse0"
  Option "ZAxisMapping" "4 5"
EndSection

Ces deux options modifiées, il nous reste à installer un meilleur environnement (à mon goût) que fvwm2 qui correspond plus à un usage sur serveur pour disposer de multiples xterm de contrôle sur un écran. Nous allons donc installer et configurer KDE 2.1.1


14. Installation de KDE 1.2.2

Le CD-Rom #1 d'OpenBSD 2.9 contient les paquetages requis pour installer KDE. Après avoir monté le CD-Rom (mount /dev/cd0c /mnt) il faut commencer par installer les libraires de KDE.


Installation des paquetages de KDE

sudo pkg_add kdelibs-2.1.1.tgz

Je suppose ici que vous utilisez également sudo et que vous n'êtes pas connecté en tant que root. Dans ce cas, le préfixe de commande "sudo" ne sera pas requis. Après avoir installé les librairies de KDE, ignorez les messages concernant les sh_libs (les librairies partagées) et continuez en installant le reste des paquetages ; nous procéderons à la configuration des sh_lib plus tard :

sudo pkg_add kdebase-2.1.1.tgz sudo pkg_add kdegraphics-2.1.1.tgz


Configuration des librairies partagées

Pour fonctionner KDE requiert des libraires qui lui sont propres, composées par les fichiers de Qt et de KDE2. Comme le système est très restrictif sur les librairies accessibles, nous devons éditer le fichier /etc/rc.conf afin d'indiquer ces libraires comme utilisables. Vous devez modifier la ligne en question de la manière suivante :

shlib_dirs=/usr/local/lib/{qt2,kde2}

Cette ligne est assez simple à comprendre. Nous ajoutons deux répertoires aux libraires partagées ce qui permettra au programme ldconfig de trouver les libraires requises par KDE2. Les symboles "{" et "}" permettent de créer une distributivité des paramètres qu'ils entourent avec les caractères qui précèdent. Lorsque cette ligne est traitée par le shell nous obtenons donc les deux lignes suivantes :

shlib_dirs=/usr/local/lib/qt2
shlib_dirs=/usr/local/lib/kde2

On obtient un bureau KDE 2 de toute beauté, auquel on peut rajouter Gimp (il faudra rajouter "pth" aux "qt2,kde2" dans les sh_libs) mais aussi KOffice.

[ image perdue ]


En conclusion

Selon l'usage de votre machine, en particulier l'accès au réseau, vous devrez procéder à quelques autres configurations. La machine peut être configurée avec un script afin d'adopter automatiquement une configuration en réseau local, et depuis une connexion par modem. On peut également intégrer la machine dans un réseau de type "SMB" Windows à l'aide de Samba afin d'accéder aux différents partages réseau, directement depuis KDE. La lecture de DVD/Div-X ;-) égalemement puisque la machine dispose d'un lecteur et que VideoLAN offre de bons résultats (j'obtiens un peu plus de 20 images par seconde en permanence pour 19,5 % de temps processeur et 2,6 Mo de mémoire requis).