Expérience agréable 100% libre - ThinkPad X60 avec libreboot + Trisquel Mini
- Inicie sesión ou rexístrese para enviar comentarios
Bonjour,
Voici les étapes que j'ai complété pour enfin avoir un portable plus que performant et surtout, tout à fait libre !
Juste dire que je suis une personne très exigeante avec la performance de mes ordinateurs. Je vous le dis, je jure, que j'aime énormément ce portable payé à un prix ridiculement bas, autant que mes autres machines bien plus performantes. Évidemment, depuis que je le transporte dans divers foires d'informatique, je fais tourner plusieurs têtes et crée de l'étonnement.
Alors, voici les étapes;
1- Achat d'un Lenovo/IBM ThinkPad X60 usagé (Intel Core Duo T5600, 2Go RAM, 160 HDD) sur ebay, 40$ CAD (27€), envoi inclus ! Année de fabrication: 2007
Ce qui me laisse amplement d'argent pour acquérir du matériel supportant GNU/Linux de différents marchands. (WiFi mini pci-e ou usb compatible)
2- Installation de Trisquel Mini (beaucoup plus légère pour le matériel)
3- Installation de libreboot et j'ai suivi les instructions étape par étape (bien important de lire avant d'effectuer) - Voir instructions sur le site de libreboot (Installation sur ThinkPad X60). Je n'ai vécu aucun cauchemar car j'ai pris mon temps, lu quelques fois le tuto et téléchargé ce qu'il fallait, avant d'effectuer le flash. Suggestion: Ne jamais faire de flash BIOS quand on est stressé ou pressé (héhé) !
4- Au redémarrage, après avoir installé libreboot avec succès, j'ai dû choisir dans le menu de démarrage, "Parse ISOLINUX menu (ahci0)", au lieu du choix par défaut, car la carte wifi incluse dans mon X60 (iwl 3945) n'est pas supportée et un lot infini de log d'erreurs survient. Cependant, je n'ai pas eu à faire ce choix à toutes les fois, c'est seulement UNE FOIS. Excellent !
5- Alors, maintenant de retour dans Trisquel Mini, je constate que mon cpu est toujours à 95-98% et qu'il chauffe tellement, qu'il s'éteint après avoir atteint le seuil de tolérance.
Après avoir vu un log qui ne fait que gruger le processeur: Je dois aller ajouter "iwl 3945", la carte wifi non supportée, en liste noire (blacklist).
Solution pour régler ce problème pour de bon:
Dans un terminal, tapez: sudo nano /etc/modprobe.d/blacklist.conf
Ajoutez "iwl 3945", à la fin du fichier.
6- Je trouvais qu'il manquait un peu de substance sur mon portable avec LXDE, alors j'ai installé xfce4 avec goodies (suivi le tutoriel ici) et j'ai redémarré en xfce4 (par le login), configuré que quelques trucs, redémarré et je suis revenu en LXDE. Comme cela, j'ai beaucoup plus de composantes qui a pour résultat, un système plus moderne, tout en restant 100% libre et encore minimal.
7- Dernier point important:
Pour éliminer le petit bruit de fond intermittent:
J'ai ajouté powertop (sudo apt-get install powertop) et configuré la commande suivante au démarrage: sudo powertop --autotune
Évidemment, rendu à ce point, vous pouvez installer n'importe quel logiciel que vous voulez.. le système est complet, à vous et surtout.. LIBRE !
Quand je fais remarquer que mon système gruge 250Mo de RAM avec un logiciel de multimédia assez gourmand, toute personne consciente constate inévitablement que les menottes numériques sont bien présentes !
Bonjour, merci de partager ton expérience.
"Après avoir vu un log qui ne fait que gruger le processeur: Je dois aller ajouter "iwl 3945", la carte wifi non supportée, en liste noire (blacklist).
Solution pour régler ce problème pour de bon:
Dans un terminal, tapez: sudo nano /etc/modprobe.d/blacklist.conf
Ajoutez "iwl 3945", à la fin du fichier."
La tu m'intrigue, une carte wifi non supporté consomme des ressources ? Dans ce cas la, j'ai aussi une carte wifi non supporté, il faudrait donc que je l'a blacklist :p
Juste dire qu'avec un autre portable avec Trisquel installé, sans libreboot et carte wifi non supportée qui n'est pas "iwl 3945", je n'ai pas ce problème de log excessif. Décidément, la "3945" nous fait vivre un petit moment de guerre mondiale... CPU qui surchauffe + auto-shutoff, rien de jojo.
"Quand je fais remarquer que mon système gruge 250Mo de RAM avec un logiciel de multimédia assez gourmand, toute personne consciente constate inévitablement que les menottes numériques sont bien présentes !"
Salut, que veux-tu dire par là ?
OK, quand le portable est démarré et que j'ouvre le logiciel multimédia Clementine, exemple, le système ne consomme que 250Mo de RAM sur 2Go. Un système Windows ou Apple récent, consomme en moyenne 2Go de RAM au démarrage.
Menottes numériques: C'est un terme popularisé par Richard Stallman. Il explique, entre autres, que les logiciels "privateurs", incrustés dans les systèmes Windows ou OS X et les pilotes propriétaires, consomment beaucoup de ressources. J'ai remarqué sur ce portable que ça inclus également le fait de changer le BIOS original à libreboot.
Les menottes numériques ne sont pas le "bloat". Voilà la traduction de la première phrase de https://defectivebydesign.org/what_is_drm_digital_restrictions_management (Defective by Design étant la campagne lancée par la FSF contre les menottes numériques) :
Qu'est-ce que la DRM ? La Gestion des Restrictions Numériques (dont DRM est l'acronyme en anglais) est la pratique consistant à imposer des restrictions technologiques qui contrôlent ce que les utilisateurs peuvent faire avec leur media numérique.
Le reste du texte n'a pas plus à voir avec le "bloat".
Bon, vous avez raison sur le DRM, mais selon moi, un pilote propriétaire est en fait une menotte numérique, autant que les DRM.
J'ai changé ma carte wifi avec le pilote propriétaire "iwl 3945", pour une carte approuvée FSF. Résultat; un wifi qui fonctionne plus qu'espéré et une baisse de température du CPU de moins 10 degrés, de 58 C à 48 C (?) Et voilà, quand ils disent dans le tutoriel d'installation de libreboot sur un X60, de changer la carte wifi avant d'installer, mais que c'est possible avec la carte d’origine, un conseil... changez-la quand-même, avant de "flasher" avec libreboot.
Résultat; un wifi qui fonctionne plus qu'espéré et une baisse de température du CPU de moins de 10 degrés, de 58 C à 48/46 C
avec une baisse de 58 °C à 48/46 °C
soit une baisse de plus de 10 °C
soit une baisse supérieure à 10 °C
58 - 46 = 12
|46 - 58| = 12
non ?
merci
Je voulais écrire "de moins 10 degrés (-10)" a lieu de "de moins de 10 degrés".
Alors ce n'était pas nécessaire de détailler le calcul et tout.
Merci d'avoir trouvé cette coquille.
Ça donne vraiment envie !
Si j'ai bien compris (après avoir survolé la doc), pour installer Libreboot, tu n'a pas eu besoin de démonter la machine, de flasher avec un Beagle Bone Black et tout ça ?
Il faut juste installer Trisquel, et flasher Libreboot comme ceci ? (https://libreboot.org/docs/install/index.html#flashrom_lenovobios)
Exactement, je n'ai pas eu à flasher avec un BeagleBone Black. Il faut seulement installer Trisquel (j'ai pris "Mini") et suivre le lien libreboot pour flasher le bios (lire et relire avec d'effectuer). C'est simple mais comme je disais, il faut quand même être bien préparé.
Un autre changement de matériel récemment effectué, en plus de la carte wifi:
J'avais un disque SSD SATA II non utilisé et même si le portable n'est seulement qu'en SATA I, j'ai transféré du HDD original et oui, j'ai gagné en performance et augmenté la durée de la batterie.
Finalement, j'ai un portable très fonctionnel autant que bien d'autres portables ou tablettes actuels, même si c'est "recyclé", datant de 10 ans.
J'ai participé à une autre foire d'informatique récemment et encore, que de bons commentaires.
Merci pour l'info :)
EDIT :
Dommage, pas simple à trouver à ce prix-là (il y en a peu).
Et le processeur le plus courant est le T2400, dur de trouver un T7400 par exemple. Es-ce que c'est une bonne idée de changer de carte mère pour une qui a le meilleur processeur ? Ça semble abordable, mais je ne sais pas si c'est une bonne idée.
En tout cas, à moins d'un T5500, impossible de faire tourner du 64bits.
Sinon, je vois qu'il peut être boosté à 4G de RAM. Mais je crois qu'il ne peut pas utiliser plus de 3G, même si il en affiche 4.
C'est moins sûr avec un processeur adéquat, comme le tien.
EDIT : je suis à peu près sûr qu'il est inutile de mettre 3GB de RAM, quelque soit le type de processeur : https://forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/XP-or-Windows-7-on-X60-with-4GB-Ram/td-p/1050017
Pour le processeur, c'est vrai que ma décision à acheter ce portable s'est prise plus rapidement... ! Je crois qu'à fouiller, vous aller trouver ce que vous cherchez, sans être obligé de changer la carte mère.
Concernant les autres processeurs je ne saurais dire, mais j'ai entendu dire qu'avec le T2400 tout fonctionne bien, mais c'est quand même à éviter.
Pour mes besoins avec ce portable, 2GB de RAM est suffisant.
Merci, j'ouvrirai l'oeil, et le bon ;) !
EDIT : dans mon post précédent, je voulais dire qu'il est inutile de mettre PLUS de 3GB de RAM.
Au passage, j'apprends qu'un système 32bits ne consommera pas plus de 4GB de RAM. Autant dire que du 64bits est presque inutile pour cette machine.
x86-64 ne permet pas seulement d'utiliser plus de RAM. Il a d'autres avantages comme le fait de disposer de deux fois plus de registres, et des registres qui permettent une arithmétique entière sur 64 bits : https://en.wikipedia.org/wiki/X86-64#Architectural_features
J'ai lu que c'était utile pour pouvoir utiliser le système de fichiers ZFS malgré la limite de RAM.
Si je comprends bien, un registre permet de stocker temporairement des données. Il faut que je prenne le temps de lire, mais c'est normalement différent de la RAM et du swap (qui est un espace sur le DD).
Les registres sont *dans* le processeur. Il n'y a rien de plus rapide. Les instructions au processeur s'appliquent aux données dans des registres. Entre les registres et la RAM, il y a encore le cache CPU (trois niveaux de nos jours : L1, L2 et L3).
En lisant un peu plus, j'ai trouvé cette explication supplémentaire:
The register is really freaking fast and really freaking small memory used as temporary storage places when the processor is adding, subtracting or comparing stuff. The cache is used for storing information that does not need to be referred to as often.
Le registre permet de stocker des données (évidemment l'espace de stockage est très limité) pour un accès rapide aux données à calculer, tandis que le cache permet de stocker des données dont le CPU ne fait pas un usage aussi fréquent.
Concrètement, vu que le CPU a à portée de main 2 fois plus de données qu'un CPU 32bits, la vitesse de calcul en est doublée ?
En tout cas merci pour ces infos !
La vitesse de calcul serait la cadence du processeur (en GHz). Avec deux fois plus de registres, il y a moins souvent besoin de chercher une donnée en dehors du processeur. Mais il y a quand même besoin (on parle de 16 données de 64-bits en registres plutôt que 8 de 32-bits : ça reste très très peu). Aller chercher des données en dehors du processeur prends d'autant plus de temps que la donnée est loin du processeur. Il est donc bon d'avoir pas mal de cache CPU (L1 est plus proche du CPU que L2 qui est plus proche de L3). Et, de la même façon que précédemment, beaucoup de programmes ont besoin de plus d'espace que les quelques Mo de cache CPU. La RAM, si possible rapide, complète. Si la RAM vient à manquer, une partition (ou un fichier swap) prend le relais. Mais mieux vaut avoir suffisamment de RAM, car la swap est sur le disque dur qui est environ cent fois plus lent. Néanmoins, le disque est le seul espace de stockage permanent (les autres mémoires sont vidées lorsque l'ordinateur s'éteint) et il faut bien y lire les programmes et les données à un moment. Il est donc bon d'avoir un disque rapide (les disque SSD étant une révolution récente dans ce domaine : environ dix fois plus rapides que les disques HDD qui sont mécaniques). Et puis, comme on exécute plusieurs programmes en parallèle, il est bon d'avoir un processeur avec autant de cores que de processus en exécution (sinon un processus est mis en pause pour pouvoir laisser un autre s'exécuter). Et puis il y a les calculs graphiques qui sont effectuées par la carte vidéo... sauf qu'aujourd'hui cette puce, avec un excellent rapport performance-prix, est de plus en plus en plus utilisée pour des calculs généralistes (cela demande néanmoins du travail de la part du programmeur). Et cette carte vidéo a sa propre mémoire...
Bref, l'ordinateur entier est important !
C'est intéressant cette architecture concentrique. Un peu comme les "3 couches" du cerveau humain, ça donne l'impression d'avoir été augmenté au fur et à mesure.
Je ne savais pas que ce fameux GPU était aussi important et puissant. Un ordi dans l'ordi, inception.
Merci encore :)
C'est intéressant cette architecture concentrique.
Oui. À coût de fabrication fixe (plus la mémoire est rapide, plus elle est chère), c'est ainsi que l'on obtient le meilleur compromis entre quantité de mémoire et performance. Ce n'est pas une nouveauté : cela a été trouvé dans les années 60.
Un peu comme les "3 couches" du cerveau humain
Je doute fortement qu'il y ait des couches dans le cerveau, un système complexe.
Je ne savais pas que ce fameux GPU était aussi important et puissant.
Le GPU fonctionne de façon massivement parallèle (des tas de fils d'exécution tournent en même temps) et dispose d'une mémoire dédiée plus rapide que la RAM. Tout cela est bien sûr très utile pour les calculs graphiques mais peut aussi être exploité pour des tâches généralistes composées de calculs répétitifs sans dépendances entre eux. Il est alors possible de résoudre la tâche bien plus rapidement, parfois de l'ordre de cent fois plus rapidement, en utilisant le GPU. Mais ce n'est pas simple. Il faut alors programmer différemment (décrire les données comme des textures, etc.).
Ah, donc une sorte de "traduction" est nécessaire pour pouvoir exploiter le GPU de la sorte.
Autrement, je faisais référence à cette théorie (qui semble être mise de côté, mais qui semble encore être utile comme représentation très grossière du cerveau humain, d'après ce que je comprends en diagonale) : https://en.wikipedia.org/wiki/Triune_brain
Ce n'est pas une "traduction". L'algorithme doit être pensé pour fonctionner de façon massivement parallèle plutôt que séquentielle. On ne passe pas d'un programme séquentielle à un programme massivement parallèle : on jette le programme séquentielle (enfin, la partie que l'on souhaite faire tourner sur le GPU) et on écrit le programme parallèle depuis rien.
Et penser parallèle n'est pas simple. On passe de "comment organiser le travail pour qu'une personne polyvalente (un core du CPU) l'achève vite" à "comment organiser le travail pour qu'il soit divisé entre 1000 personnes non expertes (les fils d'exécution dans le GPU) qui vont travailler en même temps et sans se parler".
Je vois. Si je comprends bien, ça implique de diviser le travail à effectuer par le GPU en de toutes petites parties, tout en gérant le timing d'exécution à l'avance.
Évidemment, je ne connais ni les détails, ni en particulier les contraintes qui entrent en jeu, j'essaye simplement de comprendre le principe de base pour pouvoir rédiger ce genre d'algorithme.
Tout pour être heureux et .... à bon prix!!!
Ca va servir.
- Inicie sesión ou rexístrese para enviar comentarios