1-Installation sur Soekris net4801-50 via Qemu

Le but de la manipulation est d'installer un système OpenBSD 3.9 sur une appliance Soekris net4801-50 munie d'un port CompactFlash interne mais démuni de lecteur CD, disquette, écran...

Il existe deux possibilités:

  • booter sur le réseau ce qui nécessite la mise en place d'un serveur DHCP et TFTP correctement configurés. Cette méthode est largement documentée un peu partout.
  • pré-installer le système depuis une autre machine. C'est ce que je propose de faire grâce à Qemu, un émulateur d'ordinateur libre.

Le système virtuel - Qemu

  1. CD OpenBSD dans lecteur (sans le monter) => /dev/cdrom
  2. Carte CF dans le lecteur (sans la monter non plus) => /dev/sdd (voir dans dmesg pour le nom exact des périphériques)

Ensuite, dans une console

# qemu -boot d -m 128 -hda /dev/sdd -cdrom /dev/cdrom -localtime

Une nouvelle fenêtre apparaît: OpenBSD démarre dans une machine virtuelle émuler par Qemu avec les caractéristique suivante:

  • processeur de la famille des x86
  • RAM: 128 Mo
  • Disque dur: carte compact flash en accès direct (/dev/sdd) qui sera identifiée par le système virtuel comme le disque maître sur le port IDE primaire (/dev/hda sous Linux, /dev/wd0 sous OpenBSD).
  • lecteur CD-ROM sur port IDE

Note: Vous pouvez récupérer le clavier et la souris sur le système "normal" en tapant Ctrl+Alt et revenir au système émulé en cliquat dans la fenêtre de Qemu.

Début de l'installation

Après la séquence de boot, surlignée en bleu, on la première question:

erase ^?, werase ^W, kill ^U, intr ^C, status ^T
(I)nstall, (U)pgrade or (S)hell? _

Réponse on installe, donc I

Terminal type? [vt220]

Le type de terminal, vt220 par défaut est pas mal => il suffit de taper [Entrée]

kbd(8) mapping? ('L' for list) [none]

A priori, il faut répondre "fr" pour un clavier français. Taper L pour avoir la liste des clavier les plus courants

Le clavier étant configurer, l'installer donne un dernier message d'avertissement:
Vérifiez que vos éventuelles données de la carte CF sont bien sauvegarder, car tout vas être effacer lors du formatage!

Répondre "yes" à la question "Proceed with install ?"

Partitionnement et formatage

L'installer annonce que la prochaine étape va être la configuration des disques et donne la liste des disques disponibles.
Il conseille aussi de créer des partitions séparées pour /, /tmp, /var, /usr et /home par sécurité.

Available disks are: wd0.
Which one is the root disk? (or 'done') [wd0]

Pas moyen de se tromper il n'y en a qu'un: wd0! Il suffit de taper [Entrée]
Et à la question suivant, la réponse est "yes" (on va utiliser toute la carte CF pour OpenBSD)

On passe à l'étape du partitionnement!
Voilà le plan de partitionnement prévu pour la carte CF de 1Go.
- / : 700Mo
- swap: 32 Mo
- /var : 200 Mo
- /tmp : 100 Mo environ

Mon objectif étant d'en faire un mini serveur/routeur/firewall, j'ai surtout besoin d'isoler /var (remplissage des log) et de /tmp. Il n'y a pas besoin de /home et /usr sera sur la même partition que la racine.
Je n'ai pas non plus vraiment besoin de swap, mais c'est toujours utile (d'autant que swapper sur de la mémoire flash, caylemal).
Je ne détaillerais pas le partitionnement et le nommage des partitions, une petite recherche sur Google suffit.

Pour avoir le détail des informations du disque et de ces partitions, il suffit d'entrée "p"

> p
device: /dev/rwd0c
type: ESDI
disk: ESDI/IDE disk
label: QEMU HARDDISK
bytes/sectors: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 1987
total sectors: 2002896
free sectors: 2001825
rpm: 3600
16 partitions:
# size offset fstype [fsize bsize cpg]
c: 2002896 0 unused 0 0
> _

Pour créer une partition, taper "a" à l'invite ("d" pour en supprimer une), puis les caractéristiques demandées:
> a
partition: [a]
offset: [63]
size [2001825] 700M
Rounding to nearest cylinder: 1433313
FS type: [4.2BSD]
mount point: [none] /
> a
.
.
.
> _

Remarques:

  • les partition sont "numérotées" par des lettres minuscules. Le "c" représente le disque entier et ne pas être utilisé.
  • des valeurs par défauts sont données entre crochets, si elles sont bonnes, il suffit d'appuyer sur entrée. Attention au type de système de fichier proposé par défaut! Il y a des pièges ;-)
  • la taille est exprimée en secteurs. Pour la donner avec d'autres unités, ajoutez b pour octet (bytes), k pour ko, M pour Mo ou G pour Go à la fin de la quantité et sans espace.

Une petite vérification des partitions avec "p" et on écrit les partitions avec "q". Quelques questions de vérifications suivent...: "êtes-vous sur ?", "Vous aller tout effacer sur le disque !" ...

Configuration et choix des Sets

Ensuite, quelques questions sur votre système:

  • le nom d'hôte (hostname) de la machine, chez moi "aroserver"
  • si on veut configurer le réseau => non, les interface de la machine finale seront différentes!
  • le mot de passe du super-utilisateur root (à répéter deux fois)
  • la localisation des sets (meta-paquets d'installation d'OpenBSD). La valeur par défaut "cd" convient bien: [Entrée], suivi de la liste des CD disponible: il n'y en a qu'un: [Entrée]
  • le chemin d'accès vers les sets: la valeur par défaut est bonne => [Entrée]

Voilà enfin le choix des sets à installer. Par défaut on a:

[X] bsd
[X] bsd.rd
[ ] bsd.mp
[X] base39.tgz
[X] etc39.tgz
[X] misc39.tgz
[X] comp39.tgz
[X] man39.tgz
[X] game39.tgz
[ ] xgame39.tgz
[ ] xetc39.tgz
[ ] xshare39.tgz
[ ] xfont39.tgz
[ ] xserv39.tgz
Set name? (or 'done') [bsd.mp] _

Je n'ai pas besoin de certains paquet comme game39.tgz ou misc39.tgz. Il suffit de taper "-game39.tgz" pour les déselectionner. Par contre je garde "comp39.tgz" pour installer/compiler des ports plus tard, malgrè que ce ne soit pas très "secure" sur un parefeu.

"done"

Une petite confirmation et l'installation commence... c'est relativement rapide (environ 5 min chez moi).

Ensuite on peut encore ajouter d'autre sets depuis d'autres sources, ou faire "done" pour finir: "done"

Quelques question sur l'utilisation de la machine suivent l'installation:

  • démarrer le démon ssh par défaut: oui
  • démarrer le démon ntpd par défaut: non
  • est-ce qu'on espère faire tourner un serveur X: non
  • faut-il changer la console par défaut vers le port série com0: OUI !!!! très important !!!
  • la vitesse du port série: 19200
  • le fuseau horaire: Europe/Paris

C'est fini! Il n'y a plus qu'a redémarrer Qemu sans le CD pour vérifier que ça démarre bien.

Si ça redemarre correctement, on ne voit pas toute la séquence de boot qui est redirigée vers le port série de Qemu (invisible), mais on obtient l'invite de loggin qui permet de lancer une session normal de root.
Pas de soucis donc... "halt", arrêt de qemu, éjection de la CompactFlash et remontage dans le boîtier Soekris.

Démarrage du boîtier Soekris:

Une fois le Soekris branché sur le PC via un cable NULL-MODEM, on obtient un démarrage normal:

comBIOS ver. 1.28 20050529 Copyright (C) 2000-2005 Soekris Engineering.
.
.
.
OpenBSD/i386 (aroserver) (tty00)
login:

Il n'y plus qu'à configurer le système depuis la console série. Le mieux est de commencer par le réseau et ssh pour avoir ensuite un accès un peu plus souple via ssh.

La Suite: Après l'installation... configuration des périphériques...

1 comment.

Pingback on February 6th, 2007.

[...] Installation sur Soekris net4801-50 grâce à Qemu [...]

Leave a comment

Names and email addresses are required (email addresses aren't displayed), url's are optional.

Comments may contain the following xhtml tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>