nstallation linux sur m5a78L et récupération d'un flash bios foireux
Publié par The Troll le 14 07 2022

Cela fait longtemps que je n'avais pas écrit de truc technique et ce billet est dans les tuyaux depuis un bon moment. Pour faire un 3615 my life, j'ai une copine qui utilisait une vielle machine sur laquelle un ami à elle avait réinstallé une ubuntu (20 quelque chose il me semble). Je suis pas un spécialiste ubuntu (comme disait mon gamin il y a un temps : ubuntu ce sont des amis, mais on ne mange pas à la même table). mais il ramait la mort. Cela venait d'une machine un peu poussive ET du fait que ubuntu version pas light, ça demande un peu de ressources quand même.

Ni une ni deux, voila-t-y pas que je lui propose un re-lifting. Hervé toujours au taquet pour installer un linux chez des vrais gens de la vraie vie. Elle me dit qu'elle veut pouvoir travailler sur un VRAI excell…, gnagnagna, son taff lui demande de remplir un tableau excell avec des macros gnagnagna... bon je me pose un moment et lui explique que comme ça.. ca va pas être possible (les longues années d'install linux chez des gens de la vraie vie m'ont rendu spécialiste dans la compétence : "dis-moi ce dont tu as besoin, je t’expliquerais comment t'en passer". mais là.. c'était blocage.

une jolie carte mère m5a78L-le de chez asus

Oui, mais j'ai déjà acheté une clé pour une licence office 2019 - 2 postes. je commence à déprimer et puis Je me dis un VM win7 ultra light avec un excell cela peut le faire. Bon mais y va falloir repimper un peu la life de sa machine. elle avait un Phenom II X4 B35 et 4 Go de ram, ce qui était un poil pas possible de faire tourner un excell dans un vm win7.

Ni une ni deux, je propose d'upgrader (en english ça fait plus pro d'un seul coup) et je trouve d'occaz un amd FX6300 (que j'ai trouvé dans la liste des compatibles sur la doc de la carte mère) pour moins de 35 balles, je change de ventirad pour 15 balles, je t'y colle 4X4 Go ram pour 40 balles et un ssd pour 15. le systeme sur SSD et var, tmp, swap sur un "vieux" hdd sata et home sur son hdd sata. Pour moins de 100 euros cela change du tout au tout la machine. Le hic c'est que le bios sur la carte (une M5A78L-LE) était trop vieux pour accepter ce nouveau processeur… ni une ni deux, que file sur le site asus, que je te télécharge le bios à flasher que je commence le flashage, verif bios ok, effacement bios ok, écriture bios… et paff planté en plein milieux… la haine… que je retente, replanté… bon… la machine s’éteint… la carte est un brique. Légère en plus. Une jolie brique mais peu utile pour faire tourner un linux.

Et oui le bios de la carte m5a78L se trouve la dedans

Après quelques jours de déprime je me rappelle d'un truc que j'avais lu pour flasher des eprom avec un arduino. Comme j'en ais je me dis regardons ce que l'on peut faire.. la même carte d'occaz c'est 50 balles, ça vaut le coup de se pencher dessus. Et en cherchant sur le net, que je te trouve effectivement une possibilité de flasher un bios avec un arduino. examen de la jolie brique teinte bleutée et que je trouve la puce bios, et que je te l'enlève. je fais le montage sur mon arduino (j'ai dû chercher les spec de la puce car dans l'article du bon samaritain, il y avait pas le sens dans lequel mettre la puce, sens que j'ai découvert avec la patte qui s'attendait à trouver le +3v.

Reprise de son image avec identification précise des pins arduino et sens de la puce :

Montage pour flasher un bios avec un arduino

Mon montage avec la carte de prototypage :

Montage pour flasher un bios avec mon arduino

Je suis les zinstructions et voila-t-y pas que le flash du bios fonctionne. j'avais mis la version 2101 mais la carte démarrait pas et plantait à l’initialisation de l'usb (probablement un truc usb3 ??) je reflash (re-démontage bios, remise sur l'arduino…) avec la version 2001 et la machine démarre. je suis joie. j't'e colle un debian récent avec openbox, un vm win7 avec un excell 2016 (le dernier à s'installer sur win7 et c'est parti. je profite pour faire une session pour son ado qui fait école à la maison et c'est le bonheur dans la famille… "Encore une victoire de canard". En plus avec le système sur le SSD, ça démarre très très vite. Cela change le regard des gens sur l'ordinateur.


Manipulation :

- Télécharger l'IDE Arduino
        $ sudo apt-get update
        $ sudo apt-get install arduino arduino-core 

- Télécharger les outils AVR
        $ sudo apt-get install avr-gcc avr-libc 

- Télécharger flashrom 
        $ sudo apt-get install flashrom 

- Télécharger Frser-duino 
        $ sudo apt-get install git 
        $ git clone --recursive git://github.com/urjaman/frser-duino 
        $ cd frser-duino 
        $ make u2

 - Transférer le programme dans l'Arduino
        # Connecter l'Arduino au PC
        $ make flash-u2

- Lancer flashrom
        # Sauvegarde de la rom présente sur le chip (facultatif)
        $ sudo flashrom -p serprog:dev=/dev/ttyACM0:115200 -r /chemin/romOri.rom

        # Télécharger la dernière version du BIOS
        # Sauvegarder la ROM quelque part sur le pc

        # Ecriture du chip avec la nouvelle version du bios
        $ sudo flashrom -p serprog:dev=/dev/ttyACM0:115200 -w /chemin/romNew.rom

Debian linux - Électronique - Libre - Commentez
Présentation du matériel de base
Publié par The Troll le 13 02 2018

Il est temps de vous présenter le matériel que nous allons utiliser. Il y a d'autres modules et d'autres méthodes. Notre arbitrage fonctionnalités/prix nous a conduit à ces choix.

Les trois modules basiques fournis

Comme on peut le voir, Nous avons un arduino uno (ou plutôt un funduino) qui est un arduino italien, comme il est entièrement libre, il est fabriqué également sous d'autres marques. !Nous avons donc le arduino uno, une carte d'extension, permettant de bénéficier des connecteurs arduino sur une carte "vide", et une petite breadboard en plastique blanc. La breadboard est une petite carte permettant de faire des montages simples sans soudure.

On colle la breadboard sur la carte d'extension et on accouple la carte d'extension sur l'arduino uno. Nous obtenons alors la bête terminée.

la plateforme de travail montée

Il reste juste à présenter comment fonctionne une breadboard. Chaque demie-partie présente des continuités verticales. Comme le montre la photo ci-dessous, chacun des trous d'une même ligne sont reliés entre eux : le courant passe entre tous les trous de la même ligne.

le schéma de droite représente un petit circuit : Nous relions une résistance à la pin 9 de l'arduino avec un câble sans soudure (le câble et la résistance sont branchés sur la même ligne verticale). Puis nous relions la résistance à une led (les 2 sont sur la même ligne verticale. puis la led à un câble sans soudure (les 2 sont sur la même ligne verticale) qui est relié à la masse. Sur l'image les continuités entre les composants sont représentées par les lignes rouges.

Breadboard, comment ca marche ?
Prêts pour devenir le nouveau Turing :-)
Arduino - Électronique - Commentez
Premier pas avec un arduino : l'installation des outils
Publié par The Troll le 01 05 2015

Puisque nous sommes à nous raconter notre vie, j'ai commencé à tater un peu de l’électronique pour en faire avec mon gamin. Après des recherches un peu fastidieuses, j'ai opté pour un arduino, car il me semblait bien adapté pour ce que je voulais faire :

  • Facilement mis en œuvre
  • De l’électronique simple
  • De la programmation accessible
  • Tout plein de tutoriels sur le net

De plus, cerise sur le gâteau, ce que l'on apprends est directement utilisable autant en électronique qu'en programmation ( c'est du c). Dans ce premier billet, je vais aborder ce que nous avons fait pour mettre en place la plateforme pour que tout fonctionne.

Disclaimer : J'ai toujours cherché à avoir des outils qui fonctionnent en ligne de commande pour ne pas avoir besoin d'un machine dont la puissance sert uniquement à faire tourner un ide. J'ai l'impression également que cela te permet d'être plus proche de ce que tu fais en ayant besoin de plus de connaissance et que donc tu comprends un peu pus ce que tu fais.

Disclaimer 2 : mon système d'exploitation est debian linux, ainsi toute les étapes d'installation sont centrées sur cette plateforme.

Donc, première étape, installons les outils nécessaires pour l'arduino (ces manœuvres se font en étant Super Utilisateur - root) :

apt-get install arduino-core

Ce paquet va également installer le nécessaire de compilation et les outils pour obtenir un "fichier" binaire utilisable sur l'arduino. On peut également installer arduino (tout court) qui fournit un IDE qui à besoin de java pour fonctionner. arduino-core fournis tout un tas de fichier nécessaire à compiler pour l'arduino, des bibliothèques, des fichiers de définitions des différents modèles...

Pour parler avec l'arduino branché en usb, j'ai choisi ino, écrit en python, il s'installe facilement (si vous avez le paquet python-setuptools, qui fournit easy_install. Donc :


apt-get install python-setuptools

Une fois installé, il reste à installer ino

easy_install ino

ino à besoin de picocom pour parler avec la carte, et de make pour compiler c'est facilement fait :


apt-get install picocom
apt-get install make

Ensuite, il vous reste à brancher votre carte et vous la verrez apparaître sous le poétique nom de /dev/ttyACM0

crw-rw--- 1 root dialout 4, 67 mai    1 11:57 /dev/ttyACM0                                                                                                                     

Comme on peut le voir, vous en tant que simple utilisateur, vous n'avez pas le droit de faire quoi que ce soit avec lui, seul le propriétaire (root) et le groupe (dialout) ont le droit de lire et écrire (rw-) sur ce fichier (car sous linux tout est fichier). Ainsi il y a 2 moyens de contourner le problème :

  • Crée une règle udev pour que le périphérique vous appartienne
  • Vous faire appartenir au groupe dialout

J'ai choisi cette deuxième solution. Cela se fait facilement avec une simple commande (il faut être Super utilisateur (root)) :


usermod -a -G dialout votre_utilisateur

Votre utilisateur est le login que vous employez pour vous connecter, si vous ne le connaissez pas (auto-login par exemple), il est disponible avec la commande :


whoami

Une fois ajouté au groupe, il faut vous reconnecter et vous reconnecter pour que votre appartenance soit effective. Dernière manœuvre pour se faciliter la tache (car nous avons décider d'utiliser nano comme éditeur de code : installé d'office et très très light. D'autant plus que pour le moment le code que l'on fera sera tout simple et plutôt court. Les fichiers que produit ino se nomment xxx.ino. Comme nous désirons avoir la coloration syntaxique du C, je modifie le fichier de coloration syntaxique de nano pour le langage c qui se trouve à cette place /usr/share/nano/c.nanorc et modifie la première ligne pour qu'elle deviennent :


syntax "c" "\.(c(c|pp|xx)?|C|ino)$" "\.(h(h|pp|xx)?|H)$" "\.ii?$"

Vous êtes maintenant prêts pour la grande aventure.

Arduino - Électronique - 2 commentaire(s)