Installation sur une station SGI O2

Article écrit par Pierre Chignac - novembre 2004

Description

Cet article décrit comment installer une distribution debian GNU/Linux 3.1 (sarge) sur une station de travail O2 (IP32) de chez Silicon Graphics équipée d'un processeur R5000, R5200 ou R7000.

sgi O2

Pré-requis

Théorique

Les stations de travail sgi O2 ne permettent pas de s'amorcer sur un cdrom de manière aisée. Il est donc plus simple d'utiliser la méthode qui consiste à utiliser tftpd pour s'amorcer sur une image distante sur un réseau.

Il faut alors configurer une machine serveur qui servira d'hôte et qui devra répondre aux requêtes de l'O2, à savoir :

  • Lui attribuer une adresse IP avec dhcp.
  • Lui envoyer une image amorçable avec tftpd.

Lisez attentivement l'ensemble des documents qui sont cités en bas de la page dans la section Ressources, il vous aideront sûrement à identifier les problèmes que vous pourriez rencontrer lors de l'installation.

Matériel

Il vous faut :

  • Un serveur hôte équipé d'un système GNU/Linux. L'installation a été faite à partir d'une Debian Sid.
  • Une station sgi O2 équipée d'un processeur R5000 , R5200 ou R7000. Voici le résultat de la commande hinv dans la PROM de la station sur laquelle a été faite l'installation :
               System: IP32
            Processor: 180 Mhz R5000, with FPU
 Primary I-cache size: 32 Kbytes
 Primary D-cache size: 32 Kbytes
 Secondary cache size: 32 Kbytes
          Memory size: 128 Mbytes
             Graphics: CRM, Rev C
                Audio: A3 version1
            SCSI Disk: scsi(0)disk(1)
           SCSI CDROM: scsi(0)cdrom(4)

Logiciels

Téléchargez une image de la version debian-installer de sarge, disponible ici.

Créez un répertoire /tftpboot, placez-y l'image et renommez-la tftpboot.img.

# wget http://www.cyrius.com/debian/o2/o2-boot.img
# mkdir /tftpboot
# mv o2-boot.img /tftpboot/tftpboot.img

Configuration du serveur

Configuration de dhcp

Si vous ne l'avez pas encore fait, installez un serveur dhcp :

# apt-get install dhcp

Convention Nous supposerons ici que le serveur a l'adresse IP 192.168.0.51 et que la station O2 aura l'adresse IP 192.168.0.52. Adaptez les commandes et paramétrages de ce document à votre configuration.

Maintenant, il faut paramétrer le serveur dhcp pour qu'il attribue l'adresse 192.168.0.52 de manière fixe à l'O2. adaptez votre fichier /etc/dhcpd.conf pour qu'il ressemble à ça :

default-lease-time 600;
max-lease-time 7200;
subnet 192.168.0.0 netmask 255.255.255.0 {}
host sgio2 {
    hardware ethernet 08:00:69:0c:92:be;
    fixed-address 192.168.0.52;
    filename "/tftpboot/tftpboot.img";
}

Pour connaître l'adresse MAC de la carte ethernet de l'O2 (hardware ethernet), utilisez la commande printenv de la PROM de la station. Vous devez obtenir une ligne du style :

eaddr=08:00:69:0c:92:be

De cette manière le serveur dhcp reconnaîtra l'O2 d'après son adresse mac et lui attribuera toujours la même IP.

La ligne filename ”/tftpboot/tftpboot.img”; signifie que le fichier tftpboot.img sera envoyé à l'O2.

Vous pouvez modifier le fichier /etc/init.d/dhcp pour indiquer sur quelle carte ethernet de l'hôte le serveur dhcp doit chercher la station :

INTERFACES="eth0"

Relancez le serveur :

/etc/init.d/dhcp restart

Configurer tftpd, inetd, portmap

D'abord il faut les installer :

# apt-get install tftpd portmap inetd

Dans le fichier /etc/inetd.conf rajoutez:

tftp  dgram  udp  wait  root /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot

Dans /etc/hosts.allow ajoutez:

portmap:ALL
tftpd:ALL

Dans /etc/sysctl.conf ajoutez:

net.ipv4.ip_no_pmtu_disc = 1

Puis redémarrez ces services :

# /etc/init.d/inetd restart
# /etc/init.d/portmap restart

Nous verrons plus tard quels journaux du système hôte observer pour vérifier si les serveurs sont correctement configurés.

Configurer la station de travail

Accédez maintenant à l'EPROM de l'O2. À l'invite, entrez la commande :

bootp()tftpboot.img

En retour, vous devez obenir :

Setting $netaddr to 192.168.0.52 (from server)
Obtaining from server
Un_nombre

L'installeur doit se lancer, vous pouvez poursuivre de manière classique sur Debian en utilisant cet outil.

Dans le fichier /var/log/syslog, vous pouvez surveiller sur l'hôte que dhcpd et tftpd sont bien configurés d'après ces lignes :

dhcpd: BOOTREQUEST from 08:00:69:0c:92:be via eth0 (non-rfc1048)
dhcpd: BOOTREPLY for 192.168.0.52 to sgio2 (08:00:69:0c:92:be) via eth0
in.tftpd[4233]: connect from 192.168.0.52 (192.168.0.52)
tftpd[4234]: tftpd: trying to get file: /tftpboot/tftpboot.img

Elles confirment que la station a été prise en charge par dhcp et qu'il lui a attribué l'adresse 192.168.0.52.

Le fichier /var/log/messages ou la commande dmesg peuvent vous aider également.

Configuration du gestionnaire d'amorçage (bootloader) : arcboot

Une fois l'installation de base terminée, il faut installer un gestionnaire d'amorçage qui lancera systématiquement linux au démarrage de la machine. Installez arcboot :

# apt-get install arcboot

Éditez le fichier de configuration /etc/arcboot.conf

label=linux
  image=/boot/vmlinux
  append="root=/dev/sda1"

Ajoutez éventuellement un lien vers l'initrd dans le “append” ou d'autres paramètres de chargement. Puis installez-le sur le disque :

# arcboot /dev/sda

Redémarrez. Au démarrage de la PROM modifiez ces variables d'environnement :

setenv OSLoader arcboot
setenv SystemPartition scsi(0)disk(1)rdisk(0)partition(8)
setenv OSLoadPartition scsi(0)disk(1)rdisk(0)partition(1)
setenv OSLoadFilename linux

C'est terminé, la machine fonctionne désormais sur Debian. De là les premières choses que j'ai faites :

  • Configurer le réseau, modifier /etc/apt/source.list en ajoutant la source :
deb ftp://ftp.fr.debian.org/debian/ sarge main
  • Installer emacs (ou votre éditeur préféré), pour les emacsiens en attendant il y a editor.
  • Installer locales. Pour avoir un mappage azerty du clavier:
    dpkg-reconfigure console-data

En ce moment j'essaie de lancer X, le support du framebuffer n'est vraiment pas stable mais j'ai vu des captures d'écran de X fonctionnant sur une SGI o2, donc c'est possible, voir http://www.tal.org/~milang/o2/. Utilisez certains patchs applicables au noyau (voir la section Ressources de cet article).

Annexe : Installation avec un noyau et un export nfs pour la partition root

Lorsque j'ai fait l'installation, je ne disposais pas de suffisamment de mémoire vive (128MO) pour démarrer sur l'image qui est fournie actuellement. Comme cette méthode d'installation peut-être faite sur des types de machines qui peuvent démarrer de la même manière que l'O2, je livre rapidement la méthode que j'ai utilisé :

Booter sur un noyau GNU/Linux via tftpd

Suivre la méthode ci-dessus en utilisant un noyau linux pour tftp.img. Beaucoup de noyaux pré-compilés sont disponibles sur le net, j'ai utilisé celui-ci.

Monter la partition root avec nfs et mountd

Il s'agit ici de monter une partition racine hébergée par le serveur hôte lors du démarrage du noyau. Installons un seveur NFS :

# apt-get install nfs-kernel-server nfs-common

Téléchargez une archive chroot d'une debian sarge et installez la dans le répertoire /sgifs/ :

# wget http://www.csv.ica.uni-stuttgart.de/homes/ths/linux-mips/debian-chroots/mips-sarge-2004-07-31.tar.gz
# mkdir /sgifs
# mv mips-sarge-2004-07-31.tar.gz /sgifs
# cd /sgifs
# tar -xvzf mips-sarge-2004-07-31.tar.gz

Dans /etc/exports ajoutez :

/sgifs 192.168.0.52(rw,no_root_squash,sync)

Dans /etc/hosts.allow ajoutez:

mountd:ALL

Puis redémarrez le serveur :

# /etc/init.d/nfs-kernel-server restart

Le système doit vous répondre :

Stopping NFS kernel daemon: mountd nfsd.
Unexporting directories for NFS kernel daemon...done.
Exporting directories for NFS kernel daemon...done.
Starting NFS kernel daemon: nfsd mountd.

Démarrer la station O2

A cette étape, vous devez pouvoir démarrer l'O2. Nous allons passer au noyau les paramètres nécessaires pour pouvoir utiliser le répertoire /sgifs/ de l'hôte comme partition racine. A l'invite de la PROM, tapez :

bootp()tftpboot.img root=/dev/nfs nfsroot=192.168.0.51:/sgifs ip=192.168.0.52:192.168.0.51

Et le système doit démarrer. Dans /var/log/user.log vous devriez voir :

rpc.mountd: authenticated mount request from 192.168.0.52:800 for /sgifs (/sgifs)

Configurez votre réseau.

Formater le disque de l'O2

Utilisez la commande fdisk pour partitionner le disque de l'O2. Supposons que /dev/sda1 hébergera le futur système. Enfin, formatez la partition :

# mkfs -t ext2 /dev/sda1

Monter la future partition racine et y déposer une arborescence de base

Montons la partition et copions-y une image de la racine actuelle :

# mount -t ext2 /dev/sda1 /mnt
# tar clf - / | (cd /mnt; tar xf -)

Copiez le noyau dans /boot. Il faut mettre certains fichiers à jour comme /etc/fstab puis installez arcboot sur le nfsroot (/dev/sda). Redémarrez :

# sync && reboot

Suivez les étapes ci-dessus pour bien configurer arcboot et la PROM de la station. C'est terminé !

Ressources

 
installation/installation-sur-une-station-sgi-o2.txt · Dernière modification: 18/02/2008 22:56 (modification externe)