Thomas “Cakeisalie5” Touhey


Linux sur le Thinkpad 750C

L’année dernière, au travers de la plateforme Le Bon Coin, j’ai dégoté un Thinkpad 750C avec Windows 95 d’installé dessus (bien qu’il ne semblait pas s’agit de l’OS pré-installé, au vu des soucis avec les pilotes) pour une dizaine d’euros.

Thinkpad 750C Le nec plus ultra d’une époque.

Comme je l’avais prévu, il y avait quelques problèmes avec : la batterie était morte (pour allumer le PC, je devais l’enlever), et le rétro-éclairage dysfonctionne (l’écran restait noir). Je pensais à l’origine que l’ordinateur ne fonctionnait plus du tout, mais après avoir tenté plusieurs fois de taper au hasard sur le clavier, j’ai pu entendre le son de Windows 95 qui démarre, et ai compris que c’était l’écran qui avait un problème. Heureusement, cet ordinateur a un port VGA, et j’ai un écran qu’on peut connecter via VGA, et le contenu de l’écran est dupliqué automatiquement quand l’écran est connecté.

Afin d’aller plus loin, j’ai acheté des disquettes et un lecteur de disquettes externe USB, et j’ai essayé d’utiliser ces éléments. Seulement, les utilitaires de l’époque ne marchaient pas avec, puisque le lecteur utilise des commandes SCSI étendues. Heureusement, Internet est au courant. Voici ce que vous devez savoir au sujet de ce lecteur :

  • votre disquette est accessible au travers de l’un des appareils en /dev/sd* ;
  • ufiformat remplace fdformat ; si vous avez l’erreur suivante :

      /dev/sg* family: No such file or directory
    

    Alors tapez sudo modprobe sg et ré-essayez, ça devrait marcher ;

  • pour flasher quelque chose sur la disquette, utilisez dd if=<quelque chose> of=/dev/sd<appareil> ;
  • pour la formatter au format MS-DOS (format courant pour les disquettes), utilisez mkfs.msdos /dev/sd<appareil>.

Après avoir tenté diverses choses avec Windows, et après avoir sauvegardé les données personnelles que j’ai pu trouver (je n’ai pas l’identité de la propriétaire précédente, et j’ai perdu le contact du vendeur sur le Bon Coin), j’ai cherché des OS que je pouvais lancer ou même installer. FreeDOS avait l’air sympathique, mais demandait de l’USB, ou un lecteur de CD-ROM. Les autres OS n’étaient pas à usage général (certains étaient faits pour la sauvegarde, d’autres pour faire de l’ordinateur un simple terminal, et caetera), jusqu’à ce que je trouve Slackware, une distribution Linux qui existait déjà à l’époque où cet ordinateur était utilisé.

Du coup, j’ai choisi Slackware 7.1, sorti en juin 2000, qui offrait toujours le support des ordinateurs avec peu de mémoire (mon 750C a 4MB de RAM et aucune extension).

Avant de faire l’installation, vous devez préparer les disquettes (si vous en avez peu, comme moi, vous pouvez les préparer et les utiliser alternativement, en réutilisant les disquettes aussitôt que l’ordinateur a fini de les utiliser). Premièrement, il faut télécharger tout ce dont vous avez besoin. Pour cela, tapez :

1
rsync -av rsync://ftp.heanet.ie/mirrors/ftp.slackware.com/pub/slackware/slackware-7.1 .

Allez dans slackware-7.1/slakware. Vous trouverez makeflop, un script pour faire les disquettes Slackware. Il fera la disquette de démarrage (boot disk), la disquette racine (root disk), et les disquettes de paquets, qui sont gérées par l’utilitaire d’installation présent sur la disquette racine.

makeflop ne marchait pas dans mon cas, pour plusieurs raisons (je me demande souvent si ça marchait à l’époque). Après les avoir corrigées, et après avoir ajouté le support des lecteurs de disquettes SCSI, j’ai pu utiliser cet outil pour créer les disquettes. Vous pouvez télécharger le script modifié ici. Remplacez slackware-7.1/slakware/makeflop par mon script, et lancez-le (si vous êtes obsédé par la sécurité, n’oubliez pas de faire un diff avant de le remplacer).

Avec mon lecteur de disquettes en SCSI, tapez /dev/sdb au début. Puis vous accéderez au menu de disquette de démarrage. J’ai pré-sélectionné la disquette bare.i, puisque c’est celle qui convient à mon Thinkpad 750C, mais vous pouvez sélectionner la vôtre en utilisant le README dédié et l’option c (pas besoin si votre ordinateur utilise également la disquette bare.i). Puis, formattez la disquette en utilisant l’option f.

À présent, on entre dans ce qui concerne la disquette racine. Pour être honnête, color.gz est une rootdisk qui devrait marcher correctement, mais vous êtes libres de lire le README dédié. Formattez ensuite avec f. Tandis que votre disquette racine est formattée, vous pouvez modifier l’ordre de boot dans le BIOS de votre ordinateur, sauvegarder puis allumer l’ordinateur avec la disquette dans le lecteur. Aussitôt qu’un prompt apparaît, tapez ramdisk floppy=thinkpad (attention, le clavier est en US QWERTY), et attendez que ça charge. Quand la disquette racine est prête, et quand “Insert root floppy to be loaded into RAM disk and press enter” apparaît, retirez la disquette de démarrage, insérez la disquette racine, et appuyez sur entrée. Vous devriez ensuite pouvoir vous connecter en tant que root.

Si votre clavier n’est pas un US QWERTY, vous devriez changer la configuration en utilisant loadkeys ; par exemple, pour un clavier AZERTY, utilisez loadkeys fr.map. Ensuite, vous devriez formater votre disque dur avec cfdisk (en faisant une partition ext2 pour le système de fichiers, et une partition de swap). À partir d’ici, utilisez simplement l’utilitaire setup, et formatez/dupliquez les disquettes de paquets pour les insérer (dupliquer si votre disquette est déjà formatée, par exemple parce qu’elle a servi comme disquette de paquets précédemment) en utilisant makeflop. Vous devriez comprendre comment suivre les instructions de l’utilitaire à partir de ce point, pensez juste à sélectionner la série ‘A’ uniquement, puisque la série ‘N’ sera probablement inutile, et aussi parce que les autres séries ne sont pas gérées par l’utilitaire.

Écran de mon Thinkpad 750C avec Slackware 7.1 installé Bravo, vous avez réussi à installer Slackware Linux 7.1 sur votre vieux Thinkpad !

Maintenant que c’est fait, et si on allait un peu plus loin en installant des paquets un peu plus fantaisistes, et en configurant un peu plus notre système ? Si vous préférez l’installation de base, vous pouvez arrêter la lecture ici, mais si vous voulez approfondir, nous ferons quelques manip’ bien sympathiques !

Tout d’abord, configurons LILO. Si vous ne configurez pas LILO, il bootera sur Linux avec les options par défaut, ce qui nous embête à cause de cette histoire de lecteur de disquettes ! Éditez /etc/lilo.conf, et après label = linux, insérez append = "floppy=thinkpad". Ainsi, vous n’aurez plus à y penser à chaque fois ! Vous pouvez aussi changer le message dans /boot/boot_message.txt. Une fois que tout ceci est fait, tapez lilo -M /dev/hda mbr pour installer LILO avec ces options dans le MBR. Puisque vous avez probablement oublié l’option concernant le lecteur de disquettes pour parvenir jusqu’ici, vous devriez redémarrer avec reboot.

Ensuite, nous allons éditer la configuration de démarrage. Ceux-ci sont dans le dossier /etc/rc.d/. Vous ne devriez pas toucher à rc.[0123456], rc.K, rc.M ou rc.S, mais vous pouvez éditer les fichiers qu’ils incluent. Le premier que vous voudrez ajouter/éditer est rc.keymap, où vous devriez écrire loadkeys <carte des touches, e.g. "fr">. Vous pouvez aussi ajouter d’autres trucs dans rc.local : par exemple, avant que l’écran de connexion ne s’affiche, je voulais que trois bips se produisent (à cause d’un souci de rétroéclairage, pour m’assurer que Linux démarre bien), j’ai donc ajouté ceci :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# The current version of `sleep` doesn't support less than a second
# as a sleep time, so this is an ugly function with
# an active sleep. Ugly, but works, and all in shell.

DoAnUglySleep() {
TheUglySleepVariable=$1
while [ $TheUglySleepVariable != 0 ]
do
	TheUglySleepVariable=$(( $TheUglySleepVariable - 1 ))
done
}

# And here are the marvellous beeps.
echo -n -e "\a" && DoAnUglySleep 70
echo -n -e "\a" && DoAnUglySleep 70
echo -n -e "\a"

Vous pouvez également modifier le nom de la machine dans /etc/HOSTNAME (qui sera persistent à partir du prochain démarrage), le message d’accueil dans /etc/issue (affiché une fois que l’utilisateur est connecté), et le message de connexion dans /etc/motd (affiché avant la connexion).

Une fois que c’est fait, vous remarquerez qu’il n’y a pas grand chose sur le système actuellement, et vous voudrez peut-être installer des paquets depuis les autres catégories, comme ap1/groff.tgz. Celui-là est simple, puisqu’il rentre sur une disquette, formattez simplement la disquette, montez-la, supprimez ce qu’il y a dessus, copiez le paquet dessus, démontez-la, et mettez-la dans le vieil ordinateur. Une fois ceci fait, sur ce dernier, tapez ROOT=/ installpkg groff.tgz.

Mais quid des paquets qui ne rentrent pas sur une seule disquette, tel que y1/bsdgames.tgz ? La solution est de séparer le fichier en segments, transférer ceux-ci un à un, les regrouper de l’autre côté, puis lancer la même commande que précédemment. Pour séparer le fichier, utilisez split -b 1400k <package>.tgz, ceci crééra des fichiers xa*, tels que xaa et xab pour bsdgames. Une fois ces fichiers transmis via disquettes, utilisez cat xa* <package>.tgz pour réunir les segments !

Voilà, j’ai dit à peu près tout ce que je savais pour ce qui concernait l’installation de Linux sur un Thinkpad 750C. Si vous voulez en savoir plus, ou si vous avez trouvé une erreur dans l’article, n’hésitez pas à me dire ça sur les réseaux décrits sur “À propos” !