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.
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
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
- La page de Martin Michlmayr qui annonce ici qu'il a constitué une image du debian-installer.
- La page d'accueil du projet debian/mips : pas forcément à jour.