Guide pratique Linux+Solaris Version française du Linux+Solaris HOWTO Max Berger Adaptation française: Baptiste Mélès Relecture de la version française: Préparation de la publication de la v.f.: Jean-Philippe Guérard Version : 0.8.fr.1.1 3 novembre 2004 +----------------------------------------------------------------+ | Historique des versions | |----------------------------------------------------------------| | Version 0.8.fr.1.0 | 2004-11-03 | BM, XX, JPG | |----------------------------------------------------------------| | Première traduction française | |----------------------------------------------------------------| | Version 0.8 | 2001/04/26 | JS | +----------------------------------------------------------------+ Résumé Décrit comment utiliser Linux (x86) et Solaris (x86) ensemble sur une machine. ------------------------------------------------------------------- Table des matières 1. Introduction 1.1. Pourquoi Solaris ? 1.2. Objectifs de ce HOWTO 1.3. Versions de référence 1.4. Avertissement 2. Préparation de votre disque dur 2.1. Les partitions traditionnelles d'un PC 2.2. Labels des partitions Solaris 2.3. Espace disque 2.4. Rapide inventaire 3. Préparation de Linux 3.1. Construction d'un nouveau noyau 3.2. Préparation de votre gestionnaire de démarrage ( boot loader) 4. Installation de Solaris 4.1. Solaris interactive 4.2. Web-Start 4.3. Acquisition d'outils GNU 5. Gestion du démarrage 5.1. Utilisation du gestionnaire de démarrage Solaris 5.2. Utilisation de lilo 5.3. Utilisation de grub 6. Le partage de données 6.1. Utilisation d'une partition partagée 6.2. Autres méthodes 7. Exécuter des binaires extérieurs 7.1. Les binaires Linux sur Solaris 7.2. Les binaires Solaris sur Linux A. Appendix 1. Informations supplémentaires 2. Remerciements et remarques légales 2.1. Remerciements 2.2. Questions, commentaires, suggestions 2.3. Licence 1. Introduction 1.1. Pourquoi Solaris ? C'est effectivement une bonne question. Pourquoi utiliser Solaris quand vous pouvez avoir Linux ? Solaris est un système commercial, le matériel supporté est rare. Mais si vous lisez ceci, c'est que vous avez probablement déjà décidé d'utiliser Solaris. Dans le cas contraire, voici quelques raisons : o J'ai un emploi à temps partiel comme administrateur système de machines Solaris. Il ne servirait à rien d'apprendre toutes les finesses des paramètres de commande et les astuces chiadées de Linux à la maison, si je ne peux pas les utiliser sur ma station Solaris. o Sun a distribué Solaris pendant quelque temps pour ce qu'ils appelaient « le simple coût du transport et de la manutention ». Il se peut qu'ils le fassent de nouveau. Et du quasi libre de charges, c'est toujours une bonne affaire. o Une autre raison peut être que vous aimez bien CDE (NDT : Common Desktop Environment, le bureau adopté par Solaris depuis la version 2.5). 1.2. Objectifs de ce HOWTO Ce HOWTO essaye de vous aider à installer Solaris 7 ou 8 sur un ordinateur x86 tournant déjà sous Linux. Ses objectifs principaux sont : o de ne pas détruire de données : voir la section Section 2, « Préparation de votre disque dur »; o de faire coexister Linux et Solaris avec un gestionnaire de démarrage ( boot manager) : voir la section Section 5, « Gestion du démarrage »; o de partager des données entre Linux et Solaris de la façon décrite dans la section Section 6, « Le partage de données » 1.3. Versions de référence Les versions de référence utilisées pour la création de ce document furent : o Solaris 7 x86 (= Solaris 2.7 / SunOS 5.7) ; o Solaris 8 x86 (= Solaris 2.8 / SunOS 5.8) ; o Linux 2.2.14, 2.3.99-pre3 ; o fdisk v2.10f. Les informations peuvent aussi bien s'appliquer à d'autres versions de ces logiciels, qu'êtres toutes différentes. 1.4. Avertissement Prière de sauvegarder toutes vos données avant de toucher à votre système ! De nombreuses choses décrites dans ce document peuvent aboutir à d'immenses pertes de données ! Je ne suis responsable d'aucune perte de données ! Voir aussi la section Section 2.3, « Licence » 2. Préparation de votre disque dur Pour préparer votre disque dur pour Solaris, vous devez acquérir quelques connaissances sur les tables de partition PC standard et sur les sections du disque sous Solaris. Dans ce HOWTO je ne parle que de systèmes à un seul disque, mais toutes les informations devraient aussi s'appliquer à un environnement à plusieurs disques. 2.1. Les partitions traditionnelles d'un PC La table de partition standard n'a que quatre entrées. Celles qui nous importent sont les suivantes : Une partition primaire Occupe une entrée, et contient exactement une partition. Un gaspillage de ressources, certes ; mais c'est la seule partition depuis laquelle vous puissiez démarrer ! Une partition étendue Occupe une entrée,mais peut contenir plusieurs partitions DOS, Linux et autres. Une partition Solaris Occupe une entrée, mais peut contenir plusieurs partitions Solaris. Pour déterminer quelles partitions sont présentes sur votre système, utilisez le programme fdisk. Les partitions numérotées de 1 à 4 ( hda1.. 4, sda1.. 4, ...) sont celles qui sont dans votre table de partition. 2.2. Labels des partitions Solaris Solaris a une méthode de partitionnement qui lui est propre. Elle n'utilise qu'une entrée dans la table de partition, et cette entrée est et se comporte comme si cette partition était le disque tout entier. Ce disque virtuel est ensuite divisé jusqu'à 8 sections (en anglais, slices). La troisième, s2, recouvre le disque virtuel tout entier, de sorte que vous avez en fait jusqu'à 7 sections pour Solaris. Malheureusement, l'entrée de la partition Solaris a le même type qu'une partition de Swap Linux (82). Par conséquent, il ne faudrait pas que vous ayez de partition swap Linux comme partition primaire. Cela ne pose pas de problème à Linux, mais qui sait ce que fait Solaris ? Bien que le programme Linux fdisk semble supporter le label de disque Sun, cela ne semble pas d'une grande aide. 2.3. Espace disque Bien sûr, Solaris a besoin d'espace disque. L'installation minimale de Solaris 8 requiert environ 300 MB. Pour les outils normaux on en arrive à 700 MB environ, et à 1 GB environ pour un système destiné à des développeurs. Mais ce n'est que l'espace requis pour l'installation de base. Vous pouvez vouloir ajouter beaucoup d'outils GNU, et d'autres choses encore. Et si vous voulez partager des données entre Solaris et Linux, cela doit avoir lieu sur les partitions Solaris. Il pourrait même vous venir à l'idée de partager vos répertoires personnels entre Solaris et Linux. Au moment où j'écris : N'y pensez plus ! J'ai saboté mon répertoire personnel en faisant cela et j'étais trèscontent d'avoir fait des sauvegardes. Voir aussi la section Section 6, « Le partage de données ». 2.4. Rapide inventaire Voici un rapide inventaire. Assurez-vous que : o vous n'avez pas utilisé plus de 3 entrées dans votre table de partitions ; o vous n'avez pas de partition de swap Linux comme partition primaire ; o vous avez au moins une partition Linux en ext2 comme partition primaire ; o vous avez au moins 1 GB d'espace non partitionné. 3. Préparation de Linux 3.1. Construction d'un nouveau noyau Certaines personnes n'aiment pas construire un noyau personnalisé. Si vous en faites partie : vous êtes obligésde construire votre propre noyau si vous voulez partager des données entre Solaris et Linux sur un même disque dur. Mais si vous ne voulez pas partager de données, vous êtes en sûreté avec votre ancien noyau. Voici les options de noyau nécessaires pour garantir la compatibilité avec Solaris : o Sous le champ code maturity: Prompt for development drivers Hélas, l'écriture en UFS en est encore au stade expérimental. o In file systems: UFS file system support UFS est le système de fichiers de Solaris. UFS file system write support Le seul moyen de transmettre des données vers Solaris. partition types / Solaris (x86) partition table support Nécessaire pour que les sections soient trouvées dans votre partition Solaris. Vous pourrez trouver plus d'informations sur la construction de noyau dans le Kernel-HOWTO. 3.2. Préparation de votre gestionnaire de démarrage ( boot loader) Avant d'endommager votre gestionnaire de démarrage, prière de vous assurer que vous avez à disposition un disque de secours qui vous permette de démarrer votre ancien système. Malheureusement, l'installation de Solaris écrase le secteur d'amorce principal ( master boot record, MBR) et votre ancien gestionnaire de démarrage. Heureusement, le gestionnaire de démarrage de Solaris est capable de lancer un démarrage chaîné (en anglais : chain-boot). Pour qu'il fonctionne, vous devez mettre votre ancien gestionnaire de démarrage (par exemple lilo) dans le secteur de démarrage d'une partition primaire Linux. Pour lilo, cela signifie : regardez votre /etc/lilo.conf. Cherchez la ligne boot=. Si vous y voyez quelque chose comme boot=/dev/hda1, tout est pour le mieux. Mais si vous voyez quelque chose comme boot=/dev/hda, cela pointe vers le MBR. Changez-le donc pour qu'il pointe vers une partition primaire Linux (par exemple boot=/dev/hda1). Un moyen possible pour vérifier si votre gestionnaire de démarrage supporte le chargement chaîné (en anglais : chain-load) est d'installer lilo dans le MBR et d'essayer de charger en chaîne votre autre gestionnaire de démarrage. À cet effet, j'ai utilisé le fichier suivant, intitulé lilo.conf.mbr: #lilo.conf.mbr # Un lilo dans le MBR qui ne fait rien d'autre que de charger en chaîne un ## autre lilo boot=/dev/hda root=/dev/hda5 install=/boot/boot.b map=/boot/map vga=ask delay=50 other=/dev/hda1 label=lilochain Vous pouvez ensuite exécuter lilo -C lilo.conf.mbrpour installer lilo dans votre MBR. Et n'oubliez pas d'exécuter lilopour avoir lilo dans le secteur de démarrage de votre disque dur. Si vous redémarrez maintenant, vous devriez avoir une invite de commande lilo. Quand vous choisissez othercela charge en chaîne l'ancien lilo qui, à son tour, charge Linux. 4. Installation de Solaris 4.1. Solaris interactive Solaris 7 Solaris Interactive est sur le premier CD. Démarrez à partir de celui-ci, choisissez Solaris interactive. Solaris 8 Sur les CD de Solaris 8 le programme d'installation interactif est sur le premier CD de logiciels. Vous n'avez pas besoin de CD d'installation du tout. L'installation de Solaris en elle-même est relativement simple. La seule source de confusion, c'est le partitionnement. Solaris utilisera automatiquement tout l'espace libre sur votre disque dur, et créera son propre disque virtuel dessus. Et lorsqu'il en vient à partitionner votre disque virtuel, n'oubliez pas d'ajouter de l'espace pour l'échange entre Solaris et Linux. Une partition à part nommée /export/shareest un bon emplacement pour cela. N.B : Si vous annulez pendant l'installation de Solaris, le MBR de votre disque dur peut avoir déjà été écrasé et il est possible que vous ne puissiez plus du tout démarrer à partir du disque dur. 4.2. Web-Start Je n'ai pas réussi du tout à faire marcher Web-Start. Prière de m'envoyer un courrier électronique si vous avez des expériences dans ce domaine. Cependant, une fois que Solaris était installé, je n'ai pas eu de problème pour ajouter des paquetages web-start. 4.3. Acquisition d'outils GNU L'installation standard de Solaris n'a même pas de commande less. Certaines personnes recommandent d'acquérir le gestionnaire de paquetages de Redhat (Redhat Package Manager, RPM) pour Solaris, mais l'outil standard de paquetage le fera ordinairement. Vous pouvez trouver de nombreux paquetages sympathiques sur http://www.sunfreeware.com [http://www.sunfreeware.com]Les paquetages standards peuvent être utilisés avec pkgadd , et les paquetages web-start avec java 5. Gestion du démarrage 5.1. Utilisation du gestionnaire de démarrage Solaris Au démarrage, le gestionnaire de démarrage Solaris vous donne les 4 partitions primaires afin que vous puissiez choisir à partir de laquelle démarrer. Si vous avez installé votre chargeur ( boot loader) sur le secteur de démarrage d'une partition primaire, tout devrait aller pour le mieux. Démarrez simplement depuis cette partition, et Linux devrait se charger. 5.2. Utilisation de lilo Vous avez maintenant lilo comme chargeur secondaire, mais vous voulez qu'il redevienne votre chargeur primaire ? Pas de problème. Lilo peut facilement charger Solaris en chaîne. Ajoutez tout simplement les lignes other=appropriées à votre lilo.conf. Pour tester, vous devriez d'abord ajouter le chargement chaîné de Solaris à lilo dans votre secteur de démarrage. Essayez ensuite de charger en chaîne lilo, Solaris, lilo, Solaris, ... jusqu'à ce que vous en ayez assez. Si ça marche, vous devriez être capable de remettre lilo dans le MBR. Cependant, Solaris peut avoir endommagé votre table de partition. C'est ce qui est arrivé à mon système après l'installation de Solaris 8. Lilo n'aime pas la nouvelle partition, et fdisk non plus. Je n'ai pas eu de problème avec Solaris 7 5.3. Utilisation de grub Je n'ai malheureusement aucune expérience avec le démarrage de Solaris par grub. Si vous en avez, envoyez-moi un courrier électronique ! 6. Le partage de données 6.1. Utilisation d'une partition partagée Si vous avez construit votre noyau avec le support du label de disque Sun et le support de l'UFS comme mentionné dans la section Section 3.1, « Construction d'un nouveau noyau », vous êtes maintenant à même de monter vos partitions Solaris. Pendant le démarrage, vous devriez voir quelque chose comme : hda: [PTBL] [523/255/63] hda1 hda2 < hda5 hda6 hda7 hda8 > hda3 Ce qui signifie (dans le cas présent) : la partition 3 ( hda3) est une partition Solaris composée de 6 sections (s0,s1,s2,s3,s6,s7). Elles sont mappées vers les périphériques Linux hda9à hda14. Essayez de monter vos partitions Solaris. Quand vous montez les partitions UFS, il faut toujours ajouter un argument -oufstype=dans le cas présent -oufstype=sunx86. La commande pour monter une partition est donc quelque chose comme : mount -oufstype=sunx86 /dev/hda14 /mnt Testez maintenant votre partition. N.B : le support de l'écriture sur les partitions UFS est très expérimental. Prière de ne pas faire trop confiance aux données que vous écrivez dans vos partitions UFS ! Si vous voulez que vos partitions Solaris soient montées automatiquement au démarrage, vous pouvez ajouter une ligne comme /dev/hda14 /solaris ufs ufstype=sunx86 0 0 à votre /etc/fstab. 6.2. Autres méthodes Et bien sûr, il y a toujours d'autres moyens de partager des fichiers : Disquette Je ne sais pas quels systèmes de fichiers pour disquettes sont supportés par Solaris. Le savez-vous ? Si oui, envoyez-moi un courrier électronique. Réseau Solaris connaît le NFS. Linux connaît le NFS. Ce peut effectivement être le meilleur moyen de partager des données. 7. Exécuter des binaires extérieurs 7.1. Les binaires Linux sur Solaris Ils sont censés fonctionner à l'aide d'un programme appelé lxrun . Je n'ai pas encore réussi à le tester. Voir le site web de Solaris pour plus d'informations. 7.2. Les binaires Solaris sur Linux Autant que je sache, ils ne sont pas supportés. A. Appendix 1. Informations supplémentaires Voici quelques URI qui pourraient vous aider : o Sun Freeware [http://www.sunfreeware.com]La première étape où s'arrêter pour les ressources Solaris. Contient de nombreux outils GNU au format binaire prêts à installer. o Sun Microsystems [http://www.sun.com]Le site officiel de Sun. o Page d'accueil de Solaris [http://www.sun.com/solaris] o Liste de compatibilité matérielle de Solaris [http://soldc.sun.com/support/drivers/hcl/index.html](Solaris Hardware Compatibility List, HCL) o Documentation en ligne de Solaris [http://docs.sun.com] o Mon site personnel [http://www.xslt.de]Vous trouverez toujours la dernière version de ce document quelque part sur cette page. 2. Remerciements et remarques légales 2.1. Remerciements Mes remerciements à Marcel Meyer pour avoir beta-testé ce HOWTO en installant Solaris sur sa machine. 2.2. Questions, commentaires, suggestions Ils sont toujours les bienvenus. Vous pouvez me contacter par courrier électronique à l'adresse max.berger@xslt.de 2.3. Licence Ce document est protégé par copyright : © Max Berger. Vous pouvez l'utiliser et/ou le modifier, conformément à la Licence du Projet de Documentation Linux (LDPL) que l'on peut trouver sur http://www.linuxdoc.org/COPYRIGHT.html [http://www.linuxdoc.org/COPYRIGHT.html]. Conformément à la licence vous n'êtes pas obligé de me le dire, mais je serais très heureux d'être mis au courant quand vous modifiez et/ou republiez ce document. Bien que les informations données dans ce document soient supposées correctes, l'auteur n'acceptera aucune responsabilité sur son contenu. Utilisez les astuces et exemples donnés ici à vos risques et périls.