Installer Linux pour petits et moyens PC

Présentation…

Ces pages introduiront une tentative de créer une installation légère de Linux pour les petits et moyens PC. Après avoir discuter de la raison d’un tel besoin, et introduit un schéma de solution, nous étudieront une solution détaillée dans des pages suivantes. Il va de soit que lors de la réalisation de cette installation, il nous faudra étudier le fonctionnement de Linux, ou plutôt le fonctionnement « des Linux », tant il est vrai que parler de « Linux » n’a ni signification concrète ni pratique ( il est plus approprié de parler de système inspiré d’UNIX à base de noyau Linux… Linux étant avant tout un noyau, et non-pas un système… c’est-à-dire presque rien du tout au niveau utilisateur-rice ). Les personnes ne souhaitant pas mettre les mains dans la sauce ( ce qui se comprend, c’est une attente légitime ), et désirant une installation clé-en-main, devront attendre sa parution, en s’abonnant par exemple au flux de news RSS, pour êtres informées des nouveautés et des aboutissements de ce produit.

Pour commencer

Avant d’introduire cette proposition d’installation de Linux , une élocution me semble nécessaire, pour ceux/celles qui ont déjà été tenté(e)s par Linux, mais qui furent souvent déçu(e)s. Vous pouvez passer directement passer à la section sur l’installation [ Caractéristiques d’une installation légère et utile ], si vous êtes pressé(e)s ou si vous ne voulez pas entendre dire les « quatres vérités » sur Linux. Les autres peuvent suivre le fil.

Les déçu(e)s de Linux

Cette élocution est nécessaire pour assurer la légitimes demandes d’être entendu(e)s des déçu(e)s de Linux, et et pour déterminer un cahier des charges de ce que doit être une bonne installation de Linux… du moins, une installation qui puisse répondre aux besoins de ceux et celles pour qui l’informatique est avant tout un instrument, et qui ont surtout besoin de pouvoir se servir de leur ordinateur ( par oppositions à d’autres qui son prêt(e)s à dépenser tout leur argent pour changer de matériel tous les six mois ou prêt(e)s à passer toutes leurs journées à configurer et re-configurer un système qu’on n’en fini jamais de configurer ).

Linux comparé à Windows

La plupart des distributions Linux reproduisent malheureusement les travers des dernières versions de Windows®, en exigent généralement énormément de ressource, et d’abord souvent bien plus qu’une installation de Windows 3.1 ou Windows 95 ou 98. C’est certainement un des éléments concrets qui ont été un frein sévère à la diffusion de Linux. Comment en effet prétendre, comme certain(e)s l’ont fait à la « supériorité » de Linux sur Windows, quand on constate qu’au delà des beaux discours, dans les faits, Linux n’est souvent pas à la hauteur de ce que peut faire Windows. Un exemple parmi d’autres : beaucoup de sites annoncent que l’on peut utiliser Linux sur un PC avec 50 MB de disque dur et 3 MB de mémoire, pourtant à l’installation, il ne vous reste que le dépit de constater qu’il vous en faudrait 16 MB ou 32 MB au minimum. Alternativement, d’un autre coté, vous avez un Windows 95 pour lequel Microsoft annonce qu’il faut un minimum de 8 MB de mémoire, et que vous parvenez pourtant à installer et à faire fonctionner, sur un PC équipé de seulement 4 MB. D’un coté, un Linux qui vous dit pouvoir se contenter de 4 MB, mais qui ne fonctionne qu’avec 8 MB, et de l’autre coté un Windows qui vous dit en demander 8 MB, mais qui vous fait l’agréable surprise de fonctionner avec seulement 4M. Ou alors vous pouviez installer Linux avec seulement 4 MB, et le faire fonctionner, mais sans aucune interface graphique, alors que Windows 3.1 en donnait une avec seulement 3 MB de mémoire…

Ce à quoi Linux était censé être le meilleur

Pire encore ! Linux qui est censé être une bonne plate forme de développement, n’assumait même pas la comparaison avec… MS-DOS ! Considérez par exemple l’environnement QBasic ou Turbo Pascal sous MS-DOS, et comparez aussi les environnements Linux, avec des vim ou emac dont l’ergonomie n’arrive pas la cheville du edit de MS-DOS. La question a souvent été soulevée sur certains forum ; la pitoyable réponse a toujours été la même: on on essayait de vous faire croire, pour le justifier, que le confort est un mal… et que le plaisir de la ligne de commande est infiniment plus grand que le confort d’utilisé la souris pour ouvrir un menu déroulant. 100% risible… A moins donc d’avoir les 128 MB de RAM nécessaire à un environnement sous X, impossible d’avoir un environnement correct en mode texte. En conclusion, avec Linux, qui peut le plus semble être incapable du moins, et Linux semblait pouvoir en faire bien moins qu’un simple Windows 3.1 ou même MS-DOS.

Un nouveau pas

Il était donc temps d’avoir un Linux, qui donne accès à une informatique démocratique pour tous(tes), plutôt que seulement démocratique pour quelques nantis qui peuvent se permettre beaucoup de temps et d’argent.

Le monde informatique où a évolué Linux

Pour comprendre la paysage de l’informatique et de Linux, il faut distinguer au moins deux grandes catégories d’utilisateurs(rices) de l’informatique. Et pendant longtemps, le monde de Linux n’en a connu qu’une seule. Contrairement à la plupart des gens, les linuxien(e)s n’ont pas des besoins basiques en informatique. La plupart des gens utilisent leurs ordinateurs pour des raisons utiles ou culturelles, tandis que beaucoup de linuxien(e)s sont surtout des passionné(e)s d’informatique, et sont donc toujours prêt à mettre le prix dans les équipement les plus récents. Ce qui signifie que les contributeurs(rices) de Linux, ont longtemps été des gens équipés d’ordinateurs avec de grands disque durs, de grandes capacité de mémoire, des processeurs rapides, et des cartes graphique digne du rendu d’un écran de cinéma. Et les distributions de Linux ont été trouvant faites pour ce type d’utilisateurs(rices) qui considéraient les autres utilisateurs(rices) avec condescendance. Linux devenait un luxe.

Caractéristiques d’une installation légère et utile

L’installation sera possible à partir d’une disquette, afin de pouvoir cibler même les anciens PC sans lecteur de CD. Étant donné que Windows 3.1 réunissait beaucoup d’applications et une interface graphique, pour 20 MB d’espace disque, l’objectif et de tenter de faire au moins aussi bien que Windows, avec une marge de tolérance de 10 MB ( ce qui est une marge proportionnellement très large ). L’installation de base devra comprendre au moins les applications de base de Windows 3.1 ( si encore Linux en est capable ), et il n’est pas certain que nous allons y arriver. Les applications seront en mode graphique, un traitement de texte minimaliste avec les styles de texte primaires, tableaux, et incorporation d’image. Un logiciel permettant de visionner et d’éditer les fichiers BMP, PNG et JPG ( peut-être GIF ), un gestionnaire de fichiers, un gestionnaire de programmes, une visionneuse PDF, une calculatrice, un compilateur Pascal, un débugger ( avec un IDE digne de ce nom, en mode texte ou graphique ), un interpréteur shell basique, un éditeur de texte en mode console ( pas vi, mais un éditeur digne de ce nom, même basique ), les utilitaires systèmes de base ( formatage, sauvegarde, compression, recherche et comparaison de fichier ). Cette liste n’est pas exhaustive ( une liste plus détaillé sera établie ). Le tout devra tenir sur une dizaine ou une quinzaine de disquette au plus, tout compris ( 7 ou 8 disquette pour le système et les applications de base équivalente de Windows 3.1 ).

Choix du noyau

Le noyau kernel ) sera le premier choix à établir, il est évident qu’on ne devra pas avoir besoin d’un noyau de 1 MB ( pourquoi autant, on se le demande ). Le noyau devra peser un maximum de 500 KB, il devra supporter les systèmes de fichiers FAT16, FAT32, EFS2 et MINIX. Il devra être capable de charger les applications au format ELF. Dans la numérotation des version du noyau, le deuxième chiffre est paire pour les version stable, et impaire pour les version instable. Ce numéro devra donc être paire. Le noyau devra pouvoir charger les pilotes de périphérique sous forme de module ( c’est-à-dire, ils ne seront pas directement intégrés au noyau, pour ne pas avoir à le re-compiler en cas de changement de configuration ). Seul le système de fichier EFS2 sera obligatoirement intégré au noyau, ainsi qu’un pilote disque dure IDE générique, pilote de disquette, pilote VGA et SVGA basique, et pilote de clavier basique. Le pilote de console devrait si possible être un module également. Il est évident que le multiprocesseur sera considéré ici comme un gadget, et que les « correction de bug du processeur qui ne s’exprime jamais » ne seront pas une priorité non-plus Windows 3.1 fonctionnait très bien sans ça, et on demande à Linux d’être capable d’en faire au moins autant et aussi bien… pas de nous alourdir ). La version « 2.6 » est totalement exclus, car elle porte par exemple sur les processeurs 64 bits et autres choses « formidables » qui ne sont l’apanage que des utilisateurs privilégiés. La version « 2.4 » est celle à partir de laquelle fut intégré l’USB, ce qui peut être utile, même s’il peut être possible de le faire prendre en charge par un pilotes sous forme de modules. Le version « 2.2 » a un pilote IDE supportant les vieux PC que ne supportait pas toujours les version précédente de Linux (!). La version « 2.2 » supporte le PCI, et le pilote IDE peut être décharger comme un module. L’interface SCSI sur port parallèle ( comme les lecteurs Zip sur port parallèle ) sont supporté, ce qui signifie qu’en démarrant d’une disquette, il est possible de démarrer un Linux sur un disque Zip. Mais il serait bon d’avoir ce support en module, pour ne pas alourdir le noyau de choses inutiles. La version « 2.2 » est également celle pour laquelle le support de l’actuel standard Atapi-CDROM a été mise en place. Ce seul aspect en lui-même, nous interdit d’utiliser un noyau antérieur à la version « 2.2 ».

Nous emploieront donc un noyau « 2.2 » ou « 2.4 ». Les binaires pour PC pourront être récupéré sur différents sites de distribution, tel que Slackware ou Debian ( qui sont les meilleurs fournisseurs en éléments autonomes pour Linux sur PC ).

Première tentative

Une première tentative de démarrer un noyau « 2.4 » est effectué. Le choix de ce noyau est fait pour son support du système de fichier UMSDOS, qui est un système de fichier venant en sur-couche sur un système FAT16 ou FAT32. Ceci permets d’effectuer des testes sans créer de partition. On peut en effet ainsi démarrer à partir d’un répertoire sur un disque DOS ou Windows. Le problème est que pour créer un système UMSDOS sur un système DOS ou Windows, il faut avoir un Linux fonctionnel. Une disquette spéciale UMSDOS sera conçue à cette effet, et son image sera mise en téléchargement. Pour charger le code du noyau en mémoire et le lancer, nous emploieront LoadLin, qui est un chargeur de noyau pouvant être démarrer sous DOS, mais pas sous Windows. Vous aurez donc besoin d’une disquette de démarrage DOS, ou d’une disquette de dépannage Windows, ou sous Windows, de choisir dans « Démarrer », « Redémarrer en mode MS-DOS »( bien que cette dernière solution échoue fréquemment, probablement dut à un bug de Windows ).

Nous créons donc sur le lecteur « C: », un répertoire nommé « linux », dans lequel nous copions un noyau « 2.4 ». Nous copions également le programme LoadLin. Pour plus de commodité, créons un fichier BAT, nommé « Linux.bat », pour nous permettre de lancer Linux avec le seule commande « linux ». Ce fichier n’aura que cette simple ligne : « LoadLin kernel24 root=/dev/hda1 ». Nous nous placerons dans ce répertoire, en mode MS-DOS, en employant l’une ou l’autre de méthodes indiquées précédemment. Tapons simplement « linux », et nous voyons apparaitre à l’écran des lignes défilantes. Le noyau se charge, et se termine par les messages « unable to open initial console » et « no init found ». La console, sous Linux, est simplement le système d’entrée sortie, c’est à dire l’écran et le clavier le plus souvent. Le rôle de la console initiale n’est pas très claire, et le système semble pouvoir démarrer sans elle. Le cas du init est plus intéressant.