Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
LINUX & OPEN SOURCE
23 juillet 2008

Linux sur un portable sans lecteur de disquette et avec un lecteur de cdrom qui n'amorce pas.

Installer Linux sur un vieux portable sans lecteur de disquette et avec un lecteur de cdrom qui n'amorce pas, c'est possible!

- Niveau de difficulte: Moyen.

L'ordinateur est un Toshiba Satellite Pro 420 CDT qui date de 1996. Il est equipe d'un disque dur de 1.2 Go, de 24Mo de ram, d'un pentium 100, d'un lecteur de cdrom, et aucun lecteur de disquette, ce dernier ayant ete
perdu depuis belle lurette. Ce vieux zinzin dormait dans le fond d'un placard depuis 2002, apres qu'une serieuse attaque virale ait foudroye Windows 95

Il y a quelques jours, j'ai retrouve l'engin par hazard et j'ai eu envi d'y installer Linux, juste pour voir.

J'ai commence par chercher une distribution Linux particulierement legere, mon choix s'est arrete sur Deli Linux. J'ai telecharge le core de 60Mo que j'ai grave sur un cd et la version full d'environ 200Mo que j'ai aussi grave.

dscf5831J'ai ensuite  retire le disque dur 2"5 qui est situe juste derriere la batterie. Je l'ai connecte a un interface usb/ide (achete 6$ sur ebay, j'ai du retirer le circuit imprime du boitier car le disque trop haut ne rentrait pas) et je l'ai connecte au port usb de mon ordinateur 'recent'.  J'ai partitionne le disque avec gparted:
- La premiere partition hda1 a ete fixee a seulement 50Mo, de type dos/FAT 16 bits 'boot' et 'lba'.
- La deuxieme partition a ete fixee a 1Go, de type ext3 (linux).
- La troisieme partition prend le reste du disque, soit environ 200Mo en swap.

La premiere partition de 50Mo contiendra linux et le minimum d'executable pour permettre l'installation de Deli Linux. Dans la console, j'ai tape: fdisk -l pour reperer la ligne /dev/sda? correspondant au disque usb. Je l'ai ensuite formate en dos (Fat16bits) avec la commande:  mkdosfs /dev/sda?
Apres avoir formate, j'ai monte la partition sur /media/disk puis j'ai copie uniquement le repertoire /isolinux (se trouvant sur le cdrom) sur cette partition dos avec la commande: cp -r /media/cdrom /media/disk, finalement j'y ai installe syslinux en root, en tapant: unmount /dev/sda? puis syslinux -s /dev/sda? (? est le chiffre indiqué par fdisk -l, probablement 1 si vous n'avez pas d'autre péripherique sur le port usb)

J'ai remis mon disque dans mon vieux portable et j'ai demarre. L'amorcage s'est arrete sur le message: boot de syslinux.  Il  suffit d'entrer la commande suivante (sur une seule ligne):

/isolinux/bzimage initrd=/isolinux/initimage.rd load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram pour charger le noyau et une image de la partition de travail en memoire.

A ce stade, Linux Deli en version minimale est en memoire ram, il suffit de taper delinstall et de suivre les instructions a l'ecran. J'ai  indique hda2 pour la partition Linux, hda3 pour la partition swap, et j'ai aussi introduit le cdrom que j'avais grave (deliinstall recherche le repertoire pkg sur le cdrom).

Maintenant que Deli Linux est installe sur hda2, il reste a transferer le noyau vmlinuz sur hda1 et a ecrire le fichier syslinux.cfg. Pour ce faire, j'ai cree le repertoire /hda1 (commande: mkdir /hda1) et j'ai monte la partition (commande: mount /dev/hda1 /hda1).
J'ai ensuite copie vmlinuz: cd boot puis cp vmlinuz-2.4.36.4-ide /hda1/vmlinuz (le nom doit etre simplifie pour dos *)  Je suis alle sur la partition hda1 (cd /hda1) et j'ai cree le fichier de configuration de syslinux ainsi: e3 syslinux.cfg (*), la ligne de commande est la suivante: default vmlinuz rw root=/dev/hda2 , a ce stade l'ordinateur est pret pour etre redemarre par la commande 'reboot'. (+)

Si tout se passe bien, l'ordinateur amorce sur la partition dos de hda1, charge le noyau vmlinuz et va
sur hda2 pour lire le fichier d'initialisation (++). Apres avoir entre le login 'root' et le  mot de passe, il
il reste a entrer le reste de la configuration, principalement les applis en mode graphique (xorg, icewm, abiword...) . Il suffit d'inserer le cdrom Deli Linux full, de le monter ( mount -t iso9660 /dev/hdc /cdrom ) et de taper delisetup  pour entrer les paquets complementaires.  (dans mon cas un bug dans le script de delisetup m'a oblige a utiliser pacman directement **).
J'ai configure Tiny X Server (***) avec une resolution de 800x600x16 (TrueColors), puis j'ai tape startx pour lancer icewm.
Et voila mon vieux zinzin avec Linux en mode graphique!

Reste a installer un media de stockage amobible pour les donnees. Coome j'avais un adaptateur SDcard/PCMCIA (****) qui ne me servait plus, j'en ai profite pour utiliser les SDcard peu couteuses et pratiques en remplacement des disquettes. J'installe le paquet pcmcia-cs-3.2.7-1.pkg.tar.gz, j'insere l'adapteur pcmcia-sdcard avec une carte d'une gigaoctets installee, puis je vais dans le repertoire /etc/rc.d/  et je tape " sh pcmcia start " pour lancer le script, puis " fdisk -l " pour verifier que la sdcard est reconnue. J'ai liste le repertoire /dev/ avec la commance " ls /dev  | more "  pour trouver le nom du peripherique: hde.
Il ne restait plus qu'a monter hde en creant un repertoire sdisk dans /mnt
(commande: mkdir sdisk)
puis en le montant avec la commande mnt -t vfat /dev/hde1 /mnt/sdisk

Le demarrage de l'adaptateur pcmcia a ete automatise en ajoutant la commande " /etc/rc.d/pcmcia start  "  au rc.local et fstab a ete mis a jour en ajoutant la ligne suivante: /dev/hde1  /mnt/sdisk  vfat   defaults   1   1

Et Voila un vieux portable redevenu operationnel ;-)

dscf5829

Quel est l'interet de l'operation (assez fastidieuse)?

- Avant tout pedagogique, cela permet d'avoir Linux sur une deuxieme machine pour pouvoir s'entrainer avec les commandes en mode texte, explorer les fichiers de configuration et les scripts de demarrage. Cela permet aussi de tester des programmes dans un environnement limite.

Par contre l'ordinateur est bien trop lent pour surfer sur le web d'aujourd'hui, le manque de memoire l'empeche  de faire tourner des applications lourdes comme Open Office (meme Abiword est extremement poussif ).

Le rafraichissement des fenetres est nettement visible, le deplacement  d'une fenetre est saccadee (+++).
Pour finir, les composants anciens, en particulier le disque dur representent un risque de defaillance important. Bref, un vieil ordinateur reste un vieil ordinateur et ne peut plus etre utilise comme un outil productif.

Notes:
(+) Rappel: Dans la console, la commande reboot permet de redemarrer l'ordinateur et halt permet de l'arreter.
(++) Si le fichier d'initialisation est incorrect et que l'ordinateur se bloque, le redemarrer aec un <Alt><Ctrl><Del> , puis
pendant la phase de boot garder le doigt appuye sur <Alt> ,
entrez la commande: /isolinux/bzimage initrd=/isolinux/initimage.rd load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram
pour charger le noyau et une image de la partition de travail en memoire.
(+++) La commande top montre que X prend 35% de la memoire et jusqu'a 85% du processeur lors d'un deplacement d'une fenetre.
(*) Une partition FAT 16bits n'accepte pas les noms longs, il faut se limiter a un nom de 8
caracteres, suivi eventuellement d'une extension de 3 caracteres.
(*) Si on enregistre un fichier apres une modification, e3 sauvegarde l'ancien fichier en ajoutant ~
a l'extension, cela pose un probleme avec une partition dos, si l'extension comporte deja 3 caracteres.
Une solution est de renomer le fichier avant e3 et apres, ex.: mv syslinux.cfg syslinux.cf , puis
e3 syslinux.cf , et mv syslinux.cf syslinux.cfg
(**) pacman est relativement simple a utiliser, il s'utilise avec les paquets portants l'extension
nom_du paquet.pkg.tar.gz et gere les dependences.  Le fichier de configuration de pacman est dans /etc
pacman -S -y permet de mettre a jour la base de donnee des paquets installes, pacman -U paquet_bidule.pkg.tar.gz
met a jour le paquet, pacman -U a* met a jour tous les paquets commancant par 'a'
(***) Pour sortir du mode graphique appuyer simultanement sur: <Ctrl> <Alt> <BkSp>
!!!Certains mode graphique l'ordinateur, 800x600x15 et 800x600x16 fonctionnent correctement.
Tiny X server est facile a configurer et prend peu de ram, mais semble relativement lent.
J'ai trouve Xorg plus rapide, principalement lors d'un deplacement de fenetre.
Configurer Xorg: Choisir un clavier thinkpad, un moniteur SVGA 800x600, une carte video
Chips & Technologies , un affichage 800x600x16 (64K couleurs) , le fichier de configuration de xorg est dans
/etc/X11/xorg.conf , vous pouvez l'editer avec delisetup ou xorgconfig.
(****) PC Card Sandisk 6-in-1

Publicité
Publicité
Commentaires
X
J'ai trouvé ce billet via Google en cherchant une distribution qui pourrait tenir sur 60Mo (swap compris). A priori, je ne m'attends pas à trouver mieux qu'un "simple" noyau.<br /> Mais soit, mon commentaire est le suivant : contrairement à tout ce que j'ai pu trouver comme informations sur le net à propos de la configuration d'un Linux, je trouve que vous expliquez vraiment bien (même si maintenant, je commence à utiliser Linux régulièrement). De plus, ces explications dans des phrases sont on ne peut plus claires et limpides.<br /> Je peux sembler fou de par mes explications, mais merci pour cet état d'esprit et votre bien rédigé billet :)
LINUX & OPEN SOURCE
Publicité
Archives
Publicité