tag:linuxfr.org,2005:/tags/bios/publicLinuxFr.org : les contenus étiquetés avec « bios »2023-12-22T12:26:20+01:00/favicon.pngtag:linuxfr.org,2005:Post/440202023-12-20T13:08:44+01:002023-12-20T22:00:39+01:00Passer sur Linux <p>Bonjour, j'aimerais débuter dans linux et j'ai choisi une entrée compliqué. En effet j'ai un vieux Asus eee 1001px sous windows 7 (W7) et j'aimerais y installer une version de linux. Après avoir suivi plusieurs tuto et essayer plusieurs versions je cherche de nouvelles pistes pour y parvenir. J'ai essayé Ubuntu, lubuntu, debian, mint en changeant à chaque fois 32bit et 64bit. J'ai essayé plusieurs paramètres sur Rufus, Ventoy et etcher. Plusieurs clé USB. Rien n'y fait. Le BIOS est bien réglé pour lire la clé USB en priorité. </p>
<p>Je n'arrive pas à identifier le problème. </p>
<p>Néanmoins, je pense que ça vient soit du BIOS. En effet, au moment où il faut choisir le système d'exploitation, je ne vois jamais autre chose que W7 qui est sur le disque dur de l'ordinateur(partition 1) et que j'ai deselectionné lors de la phase de boot. ( Je pense que la partition ou ce trouve W7 reprend en mode "secour"). J'ai pourtant tester plusieurs configurations sur le BIOS.</p>
<p>Ou soit, cela vient de la phase de "bocage" de la clé car j'ai l'impression que rien n'est détecté dessus. <br>
Comment pourrais-je faire ? Comment analyser d'ou viens l'erreur ?<br>
Merci </p>
<div><a href="https://linuxfr.org/forums/linux-debutant/posts/passer-sur-linux.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/134288/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debutant/posts/passer-sur-linux#comments">ouvrir dans le navigateur</a>
</p>
McCormickhttps://linuxfr.org/nodes/134288/comments.atomtag:linuxfr.org,2005:Diary/409482023-11-21T09:10:10+01:002023-11-21T09:10:10+01:00Petitboot sur ARM, le bon, le bad et le uglyLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-1-le-bios-mais-k%C3%A9sako">1) Le BIOS, mais késako</a></li>
<li><a href="#toc-2-des-alternatives-au-biosuefi">2) Des alternatives au BIOS/UEFI</a></li>
<li><a href="#toc-3-labsence-de-firmware-%C3%A7a-donne-quoi">3) L'absence de firmware, ça donne quoi</a></li>
<li><a href="#toc-4-et-une-exception-dans-le-chaos">4) Et une exception dans le chaos ?</a></li>
<li><a href="#toc-5-le-bad">5) Le bad</a></li>
<li><a href="#toc-6-le-ugly">6) Le ugly</a></li>
<li><a href="#toc-7-the-conclusion">7) The conclusion</a></li>
</ul>
<p>Oui bon ça va hein, la traduction française elle passe pas pour le titre.</p>
<p>Bonjour !</p>
<p>Aujourd'hui, comme évoqué dans des discussions précédentes (et c'est mon deuxième journal avec plusieurs mois de retard), je voudrais vous parler de petitboot, mon bootloader préféré, en me focalisant sur la seule implémentation à laquelle j'ai accès aujourd'hui, avec ses problèmes mineurs et ses problèmes… pas majeurs, mais disons franchement ridicules.<br>
On va donc parler de firmware dans le style du BIOS ou de l'UEFI. Mais avant de pouvoir faire ça, un petit rappel des faits est requis.</p>
<h2 id="toc-1-le-bios-mais-késako">1) Le BIOS, mais késako</h2>
<p>Le BIOS est une invention un peu spéciale de l'IBM PC. Lors de la conception du PC, IBM voulait utiliser du matériel disponible «sur l'étagère» : les premiers PCs étaient un assemblage de composants existants. Problème pour IBM : comment empêcher la création de clones du PC ?<br>
La solution : le BIOS. Un composant logiciel intégré sur la carte mère, dont dépendra l'ensemble de la pile logicielle du PC (MS-DOS et ses applications, pour simplifier), et qu'IBM ne diffusera pas aux concurrents. Simple et efficace, non ? Et puis tant qu'à faire, autant y embarquer un interpréteur BASIC pour que la machine serve à quelque chose même sans disquette de système…<br>
Le BIOS avait donc à la fois le rôle de bootloader (qui a évolué avec le temps, l'apparition des disques durs, du réseau, des CD-ROM…) et un rôle d'abstraction par dessus le matériel. Par exemple : pas besoin de pilotes pour utiliser un clavier USB sous DOS avec une application de 1980… Comment est-ce possible ? Grâce au BIOS, qui expose une API basique pour interagir avec le clavier, et fait abstraction du contrôleur clavier. De même pour l'accès à un disque dur PATA vs SATA…<br>
Bien sûr, IBM n'avait pas anticipé la créativité et les compétences des ingénieurs de Compaq et Phoenix et la création de BIOS compatibles ne dépendant pas d'IBM. (Et leur tentative de rattraper la chose avec le PS/2 et son MCA n'a heureusement pas réussi)</p>
<p>Les systèmes d'exploitation «modernes» n'ont pas une telle dépendance au BIOS. Ils ont des pilotes pour gérer eux-même l'USB, le stockage… avec des bien meilleures performances. Mais pour cela, ils doivent être capables de découvrir le matériel. Et c'est là qu'intervient un rôle ajouté au BIOS, ou plutôt en parallèle du BIOS : la description du matériel, avec en particulier la norme ACPI. (Je sais c'est simplifié, il y a eu aussi l'ISAPnP, le concept de PnP intégré à PCI et à l'USB… mais c'est pas le but de ce journal).</p>
<p>Donc en résumé : deux rôles pour le firmware, bootloader et description du matériel. Notez bien cela, nous y reviendrons.</p>
<h2 id="toc-2-des-alternatives-au-biosuefi">2) Des alternatives au BIOS/UEFI</h2>
<p>Alors il faut bien reconnaître, ça ne court pas les cartes mères.<br>
Il fut un temps où l'alternative la plus répandue était OpenFirmware, utilisé sur les machines SPARC, POWER, certains ARM… Pendant quelques années c'était même un standard IEEE, mais il est «rétracté» depuis. Lors de la mise en place de l'UEFI sur les PCs, des débats avaient eu lieu vantant cette solution, mais les chevaliers du NIH ne l'ont pas entendu de cette oreille.</p>
<p>Avec la fin d'OpenFirmware, une autre solution était nécessaire sur les machines OpenPower, et cette solution a été appelée OPAL, OpenPower Abstraction Layer. Avec OPAL, le boot est assez simple (après x étapes trop bas niveau pour ce journal) : il y a deux parties, skiboot avec un ensemble de services de runtime utilisables par l'OS, et skiroot le bootloader, composé d'un noyau Linux et d'un initramfs contenant Petitboot. Petitboot suit une idée simple elle aussi, similaire à l'idée de LinuxBIOS : puisque le firmware doit gérer le matériel, des systèmes de fichiers, du réseau… autant prendre un noyau complet, un système allégé, et utiliser ce dernier pour aller chercher un noyau, le mettre en mémoire comme il faut et faire un goto, avec l'appel système kexec().</p>
<p>Évidemment, il y a aussi les alternatives libres pour PC, mais avec les processeurs et chipsets modernes le travail est devenu assez difficile, surtout si l'on veut quelque chose d'entièrement libre. On peut donc citer les coreboot (ex-LinuxBIOS, qui reprenait déjà en 2001 l'idée de mettre un noyau Linux dans le firmware), Libreboot (version sans blob de coreboot), LinuxBoot (dérivé de NERF, qui élimine toute une partie de l'EFI pour la remplacer par un noyau Linux)…</p>
<h2 id="toc-3-labsence-de-firmware-ça-donne-quoi">3) L'absence de firmware, ça donne quoi</h2>
<p>Nous avons parlé du firmware, maintenant parlons de l'anti-firmware, avec le désastre des cartes ARM.<br>
On va prendre une distribution spécialisée ARM pour illustrer le problème, Armbian. Direction armbian.com, section téléchargement. Et il faut choisir la carte que l'on a, et on télécharge une image spécialisée pour cette carte.<br>
J'insiste. Une image spécialisée. Parce qu'il faut avoir dans cette image le bootloader compatible avec la carte, les fichiers DTB (Device Tree Blob) décrivant la carte… C'est une calamité. Et ça, c'est pour les fabricants qui jouent le jeu, parce que si vous tombez sur une machine avec un SoC mediatek, vous avez un noyau d'il y a X années patché dégueulassement et démerdez-vous…<br>
Microsoft, en proposant Windows pour ARM64, refuse cette situation (normal, ils ne veulent pas qu'on touche à leur noyau) et exige la présence d'un UEFI pour Windows, permettant donc la mise en place d'une image unique pour l'ensemble des cartes ARM compatibles.<br>
J'ai suffisamment soupé d'UEFI et de ses bugs pour ne pas en vouloir plus sur mes machines, mais il faut bien reconnaître que l'absence de firmware n'est pas une solution acceptable (surtout quand on pense aux autres OS qui auraient un travail colossal à faire pour supporter l'armée de cartes ARM sur le marché). D'autant plus quand on rencontre des bugs avec le bootloader et qu'on se retrouve sans solution pour comprendre ce qu'il se passe… (non, le port série n'est pas une solution, ça fait disparaitre le bug dans mon cas, tristesse)</p>
<p>Pour les plus curieux, je vous invite à regarder à quoi ressemble un fichier DeviceTree. Je vais prendre en exemple une de mes machines ARM64, à base de puce Amlogic S905X3. Cette machine a heureusement un DTS (Device Tree Source) dans le noyau, donc elle est officiellement supportée «upstream» comme on dit.<br>
<a href="https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts">https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts</a></p>
<p>On observe une description de l'ensemble des composants, le ventilateur, les leds, les régulateurs de tension, les différents bus… Parce que la machine ne dispose d'aucune solution d'énumération du matériel. Et bien sûr, impossible d'aller au hasard sur les GPIO du SoC pour voir ce qui est branché où, c'est un coup à, au mieux, éteindre la machine soudainement (et au pire, à la détruire). Que ce soit clair : ce fichier DTS n'est pas spécifique à un SoC, il est spécifique à une implémentation d'un SoC ! Les odroid C4 et HC4, bien qu'extrêmement proches et avec le même SoC, n'ont pas le même DeviceTree, et il est probable que booter l'un avec le DT de l'autre ne marche pas du tout.</p>
<h2 id="toc-4-et-une-exception-dans-le-chaos">4) Et une exception dans le chaos ?</h2>
<p>Au moins un fabricant de cartes ARM a compris qu'embarquer un firmware sur ses cartes était une solution simple pour améliorer beaucoup de choses. Ou alors pour simplifier son travail, je ne sais pas trop leur motivation. Il s'agit de hardkernel et de ses cartes odroid. L'intégration par défaut de petitboot est «relativement» récente, avec une annonce initiale en 2019 et une préinstallation qui a commencé dans les mois qui ont suivi.<br>
Du coup, commençons enfin le sujet de ce journal, avec le bon.<br>
Prenons mon serveur installé avec petitboot, et faisons un fdisk -l.</p>
<pre><code># fdisk -l /dev/nvme0n1
Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 980 1TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 16384 bytes / 131072 bytes
Disklabel type: dos
Disk identifier: 0xc7716abe
Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 * 2048 999423 997376 487M 83 Linux
/dev/nvme0n1p2 999424 1953523711 1952524288 931G 8e Linux LVM
</code></pre>
<p>Pas de partition FAT32. Une simple partition ext4 contenant /boot, et c'est réglé. Contrairement aux systèmes UEFI qui imposent une partition ESP à un format compris par l'UEFI, donc dans 99,9999% des cas en FAT.<br>
J'eus pu faire avec une unique partition / et pas un /boot, mais je préfère mettre tout ce qui peut l'être en LVM.</p>
<p>Bien sûr, ce n'est pas grand chose, la partition FAT n'a jamais tué personne. Alors continuons avec un exemple très concrêt de ce que m'apporte Petitboot ici. Pour installer ma debian, je n'ai pas eu besoin de clé USB ou de carte SD à écrire sur mon PC. Non. J'ai pris ma carte ARM, j'ai vissé un disque NVMe, branché un écran, un clavier, un RJ45, et c'est tout (bon et l'alimentation hein, c'est pas de la magie).<br>
Petitboot est apparu à l'écran. Je ferme l'écran de boot pour obtenir un shell, et je lance une commande fournie par hardkernel, netboot_default. Cette commande ajoute automatiquement des entrées au boot pour aller chercher l'installeur debian et l'installeur ubuntu en HTTP au démarrage. Je démarre l'installeur debian comme ça, j'installe mon système… et aucune clé USB ou carte SD à écrire. Très, très, très confortable.<br>
Bien sûr, petitboot lui-même est super pratique : si vous cassez votre système, vous avez un shell, un noyau et un espace utilisateur connus, à partir desquels vous pouvez monter votre système et faire les réparations dont vous avez besoin.</p>
<p>Quelques photos du menu initial, du shell, et le menu une fois les entrées de netboot chargées et une carte SD insérée…</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f726f636b2e70696e617261662e696e666f2f7e70696e617261662f646c66702d7065746974626f6f742f646c66702d70622d312e6a7067/dlfp-pb-1.jpg" alt="L'écran avec le menu initial" title="Source : https://rock.pinaraf.info/~pinaraf/dlfp-petitboot/dlfp-pb-1.jpg"></p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f726f636b2e70696e617261662e696e666f2f7e70696e617261662f646c66702d7065746974626f6f742f646c66702d70622d322e6a7067/dlfp-pb-2.jpg" alt="Le shell (busybox), avec quelques utilitaires classiques" title="Source : https://rock.pinaraf.info/~pinaraf/dlfp-petitboot/dlfp-pb-2.jpg"></p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f726f636b2e70696e617261662e696e666f2f7e70696e617261662f646c66702d7065746974626f6f742f646c66702d70622d342e6a7067/dlfp-pb-4.jpg" alt="L'écran avec les entrées de netboot et après avoir inséré une carte SD avec un OS…" title="Source : https://rock.pinaraf.info/~pinaraf/dlfp-petitboot/dlfp-pb-4.jpg"></p>
<h2 id="toc-5-le-bad">5) Le bad</h2>
<p>Hardkernel ne fournit pas de méthode ou de documentation pour reproduire l'image Petitboot. C'est plusieurs fois dommage : cela ne permet pas de bidouiller facilement le système, de vérifier son contenu… Et c'est même en violation des licences des composants de Petitboot, ça risque de leur retomber méchamment dessus.<br>
Pour ma part, ce point m'embête également pour régler un autre problème qui me semble vraiment "bad" pour le coup : pourquoi des utilitaires disque à mes yeux basiques ne sont pas inclus ? Cela fait presque 20 ans que j'installe mes machines avec du LVM, je sais que les installeurs ne mettent pas ça assez en avant, mais le gain en vaut largement la peine. Et petitboot le gère, mais la version de hardkernel oublie d'embarquer le binaire…<br>
À la croisée entre ces deux problèmes, la validation du système et les disques : cryptsetup n'est pas pris en charge. Et c'est dommage, il serait possible d'avoir un disque intégralement chiffré, avec une passphrase demandée au boot, et transmise au noyau démarré pour qu'elle n'ait pas à être saisie deux fois.<br>
Enfin, un dernier bad : dropbear n'est pas présent. Pour des machines sans affichage, cela simplifierait énormément les choses… Mais à nouveau, oubli bien dommage de leur part.</p>
<h2 id="toc-6-le-ugly">6) Le ugly</h2>
<p>Vous noterez que je n'ai parlé que d'une des facettes principales du firmware (le bootloader) et un peu survolé la partie «outils pour diagnostiquer un problème».<br>
Les plus attentifs d'entre vous auront noté que je n'ai pas parlé de la description du matériel et sa transmission au système démarré.<br>
Et là, on entre dans le franchement ugly.</p>
<pre><code># ls /boot/*`uname -r`
/boot/config-6.2.0-odroid-arm64 /boot/dtb-6.2.0-odroid-arm64 /boot/initrd.img-6.2.0-odroid-arm64 /boot/System.map-6.2.0-odroid-arm64 /boot/vmlinuz-6.2.0-odroid-arm64
</code></pre>
<p>J'ai besoin d'un fichier dtb encore ? Mais pourquoi ! Pourquoi pourquoi pourquoi !<br>
Rendez-vous compte, le firmware a déjà un DeviceTree ou équivalent pour booter son Linux. Et il fonctionne très bien. Alors pourquoi ? Vous étiez à deux doigts de pouvoir avoir des systèmes génériques, pire encore, à quatre doigts d'avoir une interface de configuration pour vos accessoires qui activerait au boot les bons morceaux de dtb… Et vous avez gâché cette opportunité. Et comme vous ne donnez pas le code source, impossible de rattraper votre bêtise crasse.</p>
<h2 id="toc-7-the-conclusion">7) The conclusion</h2>
<p>Je reste heureux de mes machines Petitboot, et il est hors de question que je retourne en arrière là dessus. Le gain en confort est indéniable, malgré les problèmes évoqués. De plus, ces problèmes ne sont pas insurmontables, et sont des problèmes d'implémentation, pas des problèmes fondamentaux sur le fonctionnement de Petitboot. Puis qui sait, avec un peu de chance, la future machine OpenPower 10 de Raptor Computing ne sera pas trop onéreuse… (ok, beaucoup beaucoup beaucoup beaucoup de chance)<br>
J'entends par contre que cette solution ne soit pas optimale pour les plus petits OS qui n'ont pas nécessairement les moyens de développer une solution de boot supplémentaire spécifique, démarrable en kexec(). On pourrait imaginer pour ces cas là un kexec() vers un environnement UEFI éventuellement… (ou juste contribuer aux projets concernés, promis quand j'aurai du temps, mais pour le moment je rédige un journal linuxfr)</p>
<div><a href="https://linuxfr.org/users/pied/journaux/petitboot-sur-arm-le-bon-le-bad-et-le-ugly.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133966/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/pied/journaux/petitboot-sur-arm-le-bon-le-bad-et-le-ugly#comments">ouvrir dans le navigateur</a>
</p>
Pinarafhttps://linuxfr.org/nodes/133966/comments.atomtag:linuxfr.org,2005:Post/439282023-11-09T16:52:33+01:002023-11-09T16:52:33+01:00Problème redémarrage après MAJ bios - Kernel Grub vs dispo !=<p>Bonjour,</p>
<p>Je ne suis pas expert Linux mais j'essaie de me débrouiller au mieux.</p>
<p>J'ai entièrement monté une infra en DC avec application en K8S que je maintiens avec succès (jusqu'à présent).</p>
<p>Utilisant pour certains types de machine une carte-mère asus et un processeur Ryzen 7900 (oui oui, super pour des machines plus lights si pas besoin de lignes PCIe en grand nombre), j'ai dû mettre le bios à jour (pour ceux qui connaissent, il y avait un risque de surtension du processeur, avec quelques casses sur des modèles particuliers).</p>
<p>Après la mise à jour du bios, un problème est apparu: Impossibilité de démarrer en mode "normal", je tombe en mode maintenance avec plusieurs erreurs.</p>
<p>Après quelques recherches au niveau du Bios, je décide finalement de redémarrer avec une autre version de Kernel (grub, option avancées ubuntu, j'ai pris le Kernel 5.15.0-78-generic (vs 5.15.0-84-generic par défaut). Et presque tout refonctionne sauf mon Raid1 qui a perdu une partition.<br>
Je ne sais dire si j'avais fait une MAJ de l'OS sans redémarrage avant la MAJ du Bios. Et donc je me demande aujourd'hui si ce n'est pas la MAJ de l'OS qui a crée problème.</p>
<p>Les Kernels de apt list --installed | grep linux-image sont 78.85 et 88.98 (je ne comprends pas pourquoi la version 84 n'apparait pas)<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f692e6962622e636f2f4e6a39383759742f696d6167652e706e67/image.png" alt="Kernels" title="Source : https://i.ibb.co/Nj987Yt/image.png"></p>
<p>En faisant un update-grub (ou update-grub2), j'obtiens ceci<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f692e6962622e636f2f624a4a777372352f322e706e67/2.png" alt="update-grub" title="Source : https://i.ibb.co/bJJwsr5/2.png"></p>
<p>Je suis donc un peu perdu. <br>
Possible de m'aider avec quelques pistes pour résoudre mon problème?</p>
<p>Remettre le Raid1 en place peut-il aider?</p>
<p>Merci d'avance pour votre aide.</p>
<div><a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/probleme-redemarrage-apres-maj-bios-kernel-grub-vs-dispo.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133864/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/probleme-redemarrage-apres-maj-bios-kernel-grub-vs-dispo#comments">ouvrir dans le navigateur</a>
</p>
fcoulloudonhttps://linuxfr.org/nodes/133864/comments.atomtag:linuxfr.org,2005:Post/438412023-09-15T09:21:06+02:002023-09-15T09:21:06+02:00Bios cuit ?<p>Salut,</p>
<p>J'ai récupéré 3 vieux ordinateurs d'une société qui s'en débarassait pour équiper la salle de classe de ma maîtresse (d'école) préférée -aka ma femme- (et oui, il faut enseigner l'informatique … mais personne ne fournit d'ordinateurs).</p>
<p>Sur ces PC, Windows étai installé : sur 2 d'entre eux, j'ai pu installer <em>PrimTux</em> (excellente distro pour l'école) sans souci. Sur le 3ème, il y avait un mot de passe Admin dans le BIOS qui m’empêchait de changer l'ordre de boot pour pouvoir installer <em>PrimTux</em>.</p>
<p>J'ai enlevé la pile CMOS pour faire un reset du BIOS : ça n'a pas fonctionné, le mot de passe était toujours là. Je me suis entêté et j'ai enlevé la pile plusieurs fois, et même en laissant la pile enlevée pendant assez longtemps (40min … une mi-temps de rugby). J'ai aussi essayé de redémarrer sans la pile : tout ça, sans succès.</p>
<p>Et maintenant (je ne sais plus après quelle manip exactement), le PC démarre avec un écran noir (je n'ai plus le logo Fujitsu) et les ventilos tournent à fond : d'après ce que j'ai lu sur le net, c'est un problème de BIOS (surprise) ! ;-)</p>
<p>Est-ce qu'il y aurait un moyen de faire un reset du BIOS et d'arriver à faire démarrer ce p#@<sup>§øn</sup> de PC ?</p>
<p>Merci d'avance à toutes les bonnes volontés qui aideront nos petites têtes blondes (et oui pour une fois que je peux faire dans le larmoyant, je ne me gène pas :D ).</p>
<div><a href="https://linuxfr.org/forums/linux-general/posts/bios-cuit.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133303/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-general/posts/bios-cuit#comments">ouvrir dans le navigateur</a>
</p>
ComputingFroggyhttps://linuxfr.org/nodes/133303/comments.atomtag:linuxfr.org,2005:Diary/408272023-08-03T12:24:19+02:002023-08-03T12:24:19+02:00Editer en parallèle les paramètres BIOS de plusieurs machines grâce à tmuxLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Bonjour,</p>
<p>en ce moment, j'ai besoin de mettre à jour les paramètres BIOS de beaucoup de machines. Heureusement, je peux interagir avec elles à distance grâce à ipmitool. </p>
<p>Dans le <a href="//linuxfr.org/users/toremilac/journaux/ecrire-une-petite-interface-utilisateur-ipmitool-en-1h-avec-whiptail">journal précédent</a>, j'ai écrit un outil pour facilement configurer des machines à distance pour qu'elles redémarrent dans les paramètres BIOS.</p>
<p>Maintenant, il reste qu'il faut que j'édite les paramètres de toutes ces machines. Toutes ces machines sont identiques mais je ne peux pas changer les paramètres de BIOS à distance par ipmi. Je peux disposer, avec ipmitool, d'une console déportée, mais il me faudrait quand même répéter toujours la même manipulation. Ce n'est pas très satisfaisant. </p>
<h2 id="toc-le-script-tmux-en-un-clin-doeil">Le script tmux en un clin d'oeil</h2>
<p>En cherchant un peu, j'ai vu qu'on pouvait, avec tmux, scripter la création de plusieurs panneaux (<em>pane</em>) et surtout les synchroniser de telle sorte que les saisies clavier soient soumises en parallèle à tout les fenêtres. </p>
<p>Pour le coup, quelques lignes de script bash. Je suis parti de ce <a href="https://gist.github.com/niderhoff/871d953bcf14ab6814255a1ab4b6ab34">gist</a> comme point de départ puis d'un peu plusieurs liens/forums. </p>
<pre><code class="bash"><span class="ch">#!/bin/bash</span>
<span class="nv">SESSIONNAME</span><span class="o">=</span><span class="s2">"bios"</span>
<span class="nv">BASE</span><span class="o">=</span><span class="nv">$1</span>
<span class="nv">NB</span><span class="o">=</span><span class="nv">$2</span>
<span class="c1"># Check if the session has already been created</span>
tmux has-session -t <span class="nv">$SESSIONNAME</span>
<span class="k">if</span> <span class="o">[</span> <span class="nv">$?</span> !<span class="o">=</span> <span class="m">0</span> <span class="o">]</span>
<span class="k">then</span>
<span class="c1"># Create the session</span>
tmux new-session -s <span class="nv">$SESSIONNAME</span> -n <span class="s2">"BIOS edition"</span> -d
<span class="c1"># Access the ipmi console for the first pane</span>
tmux send-keys -t <span class="nv">$SESSIONNAME</span> <span class="s2">"ipmitool -I lanplus -H ikyle</span><span class="nv">$BASE</span><span class="s2"> -U root -P XXXXXX sol activate"</span> C-m
<span class="k">for</span> <span class="o">((</span> <span class="nv">i</span><span class="o">=</span><span class="m">1</span><span class="p">;</span> i<<span class="o">=</span><span class="k">$(</span>expr <span class="nv">$NB</span> - <span class="m">1</span><span class="k">)</span><span class="p">;</span> i++ <span class="o">))</span><span class="p">;</span> <span class="k">do</span>
<span class="c1"># Compute the node name </span>
<span class="nv">nodenum</span><span class="o">=</span><span class="k">$(</span>expr <span class="nv">$i</span> + <span class="nv">$BASE</span><span class="k">)</span>
<span class="c1"># We split the first pane</span>
tmux split-window -t <span class="nv">$SESSIONNAME</span>
<span class="c1"># Start the ipmi console</span>
tmux send-keys -t <span class="nv">$SESSIONNAME</span> <span class="s2">"ipmitool -I lanplus -H ikyle</span><span class="nv">$nodenum</span><span class="s2"> -U root -P XXXXXX sol activate"</span> C-m
<span class="c1"># Reset the layout to tiled</span>
tmux <span class="k">select</span>-layout -t <span class="nv">$SESSIONNAME</span> tiled
<span class="k">done</span>
<span class="c1"># Synchronize all the panes so that the keystrokes are sent</span>
<span class="c1"># simultaneously to all the panes</span>
tmux setw -t <span class="nv">$SESSIONNAME</span> synchronize-panes on
<span class="k">fi</span>
tmux attach -t <span class="nv">$SESSIONNAME</span></code></pre>
<p>qu'on appelle ensuite par </p>
<pre><code class="bash">~:$ ./tmux.sh <span class="m">30</span> <span class="m">10</span></code></pre>
<p>qui me lance la console sur 10 machines de Kyle30 à Kyle39. Et je peux alors éditer en parallèle tout les bios.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f6a6572656d796669782f6c696e757866722f666632623335386563386363656135633937373266313632666264306237653266643537636665352f323032332d30382d30332d546d757842494f532f746d75782d62696f732e676966/tmux-bios.gif" alt="Edition en parallèle des BIOS de plusieurs machines" title="Source : https://raw.githubusercontent.com/jeremyfix/linuxfr/ff2b358ec8ccea5c9772f162fbd0b7e2fd57cfe5/2023-08-03-TmuxBIOS/tmux-bios.gif"></p>
<h2 id="toc-en-détail">En détail</h2>
<p>La première partie permet de se vérifier si la session existe déjà. Si oui, on s'y reconnecte, sinon on la crée. </p>
<pre><code class="bash"><span class="nv">SESSIONNAME</span><span class="o">=</span><span class="s2">"bios"</span>
<span class="c1"># Check if the session has already been created</span>
tmux has-session -t <span class="nv">$SESSIONNAME</span>
<span class="k">if</span> <span class="o">[</span> <span class="nv">$?</span> !<span class="o">=</span> <span class="m">0</span> <span class="o">]</span>
<span class="k">then</span>
...
<span class="k">fi</span>
tmux attach -t <span class="nv">$SESSIONNAME</span></code></pre>
<p>Si on crée la session, on la crée en mode détaché, avec un petit titre et son nom <code>$SESSIONNAME</code> :</p>
<pre><code class="bash"><span class="c1"># Create the session</span>
tmux new-session -s <span class="nv">$SESSIONNAME</span> -n <span class="s2">"BIOS edition"</span> -d</code></pre>
<p>Ensuite, je vais créer une succession de division et chaque fois, envoyer ma commande de connexion à la console dans le dernier panneau créé. Comme je vais perdre la référence au premier panneau, j'injecte ma commande de connexion à la console avant de me lancer dans les divisions. </p>
<pre><code class="bash"><span class="c1"># Access the ipmi console for the first pane</span>
tmux send-keys -t <span class="nv">$SESSIONNAME</span> <span class="s2">"ipmitool -I lanplus -H ikyle</span><span class="nv">$BASE</span><span class="s2"> -U root -P XXXXXX sol activate"</span> C-m</code></pre>
<p>Ici on soumet la commande shell ipmitool qu'on valide avec le retour charriot <code>C-m</code> (qu'on aurait pu remplacer par <code>Enter</code>.</p>
<p>Vient ensuite la boucle pour créer tout les panneaux et me connecter aux consoles avec deux nouvelles commandes <code>tmux split-window -t $SESSIONNAME</code> pour diviser le panneau <code>$SESSIONNAME</code> et <code>tmux select-layout -t $SESSIONNAME tiled</code> qui permet de conserver une division régulière horizontale et verticale. Tmux limite le nombre de division verticale ou horizontale. Je peux disposer de plus de consoles avec cette disposition. </p>
<div><a href="https://linuxfr.org/users/toremilac/journaux/editer-en-parallele-les-parametres-bios-de-plusieurs-machines-grace-a-tmux.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/132890/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/toremilac/journaux/editer-en-parallele-les-parametres-bios-de-plusieurs-machines-grace-a-tmux#comments">ouvrir dans le navigateur</a>
</p>
toremilaChttps://linuxfr.org/nodes/132890/comments.atomtag:linuxfr.org,2005:Post/435772023-04-16T01:20:23+02:002023-04-22T17:16:11+02:00[Résolu] Besoin d'aide : impossible de passer de Windows 7 (famille) à Ubuntu.<p>Bonsoir tout le monde,</p>
<p>Je suis nouvelle parmi vous et bien embêtée pour passer à Ubuntu.</p>
<p>Je voudrais supprimer Windows 7 (un pack famille) et installer Linux Ubuntu, pour changer complètement d'environnement et utiliser uniquement des logiciels libres par la suite. Mais le Bios ne prend pas en charge le démarrage sur port USB. Donc le Live USB ne fonctionne pas. Même en modifiant l'ordre de boot. L'ordinateur familial date des années 2010, tout au plus. Je ne cherche pas à mettre en place un dual-boot avec Windows, mais vraiment à changer du tout au tout. Pas moyen non plus de graver le fichier ISO d'Ubuntu, image montée, sur DVD car trop volumineux. Le DVD est limité à 4,7 Go seulement. Ça dépasse de peu, mais juste ce qu'il faut pour ne pas fonctionner. </p>
<p>Ma question est la suivante : Comment dois-je faire pour supprimer totalement Windows 7 de mon SSD et installer Ubuntu, tenant compte des informations ci-dessus ?</p>
<p>Et si vous avez des conseils aussi, parce que je peux me tromper dans mon choix de distribution Linux, voici les caractéristiques de la configuration de l'ordi :</p>
<blockquote>
<p>Processeur : I5 2,67GHz, 4 coeurs, 4 coeurs logiques<br>
Carte mère : P55-UD3 Gigabyte (Bios v. 11/2009)<br>
Garte graphique : AMD Radeon HD 5570<br>
Carte son : AMD High Definition Audio Device<br>
SSD : OCZ-AGIL ITY3 SCSI Disk Device<br>
Lecteur CD-Rom : standard CDRW<br>
USB : 2.</p>
<p>Mémoire physique (RAM) installée : 16,0 Go<br>
Mémoire virtuelle totale : 32,0 Go</p>
</blockquote>
<p>J'avoue que je suis très ennuyée et ne sais plus comment m'y prendre pour réussir à passer à Ubuntu pour de bon. </p>
<p>Merci d'avance pour vos avis, conseils. </p>
<p>Angeline.</p>
<div><a href="https://linuxfr.org/forums/linux-debutant/posts/resolu-besoin-d-aide-impossible-de-passer-de-windows-7-famille-a-ubuntu.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/130934/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debutant/posts/resolu-besoin-d-aide-impossible-de-passer-de-windows-7-famille-a-ubuntu#comments">ouvrir dans le navigateur</a>
</p>
Ange.Lina.Bhttps://linuxfr.org/nodes/130934/comments.atomtag:linuxfr.org,2005:Post/433592022-12-26T23:49:17+01:002022-12-27T18:24:23+01:00This program cannot be run in DOS mode<p>Bonjour 'run</p>
<p>Comme <a href="//linuxfr.org/forums/linux-general/posts/resolu-operation-system-not-found">tu le sais</a>, je chipote un peu sur mon Dell Inspiron 17R N7110 de dernière génération (humour, je précise).</p>
<p>Ma dernière idée est de mettre à jour le BIOS. Comme le support de Dell est bien fait, je trouve facilement <a href="https://www.dell.com/support/home/fr-be/drivers/driversdetails?driverid=fwjtd&oscode=biosa&productcode=inspiron-17r-n7110">les fichiers nécessaires et le mode d'emploi</a> pour les appareils sous Linux :</p>
<blockquote>
<ol>
<li>Copy the downloaded file to a bootable DOS USB key.</li>
<li>Power on the system, then Press F12 key and Select "USB Storage Device" and Boot to DOS prompt.</li>
<li>Run the file by typing copied file name where the executable is located.</li>
<li>After BIOS update finished, system will auto reboot to take effect.</li>
</ol>
</blockquote>
<p>Bon, DOS, on trouve cela où ? Toujours <a href="https://www.dell.com/support/kbdoc/fr-be/000131486/update-the-dell-bios-in-a-linux-or-ubuntu-environment#Creating%20a%20USB%20Bootable%20Storage%20Device">Dell donne une piste de solution</a> : utiliser <a href="http://freedos.org/">FreeDOS</a>.</p>
<p>Après avoir mis quelque temps à comprendre (oui, je ne suis pas toujours très intelligent) que pour faire une <em>USB_Live</em> il valait mieux télécharger l'image <em>FullUSB</em> (ou <em>LiteUSB</em>) que l'image <em>LiveCD</em>, je me suis retrouvé avec une belle clé USB bootable en FreeDOS.</p>
<p>J'y ai ajouté le fichier <code>N7110A13.exe</code> et j'ai lancé avec succès mon flamboyant Dell sous FreeDOS.<br>
Un petit coup de <code>DIR</code> pour vérifier que <code>N7110A13.exe</code> était bien présent et je me lance un petit<br>
<code>C:>N7110A13.exe</code></p>
<p>Mais au lieu d'obtenir une triomphale mise à jour de mon BIOS, j'obtiens un pitoyable<br>
<code>This program cannot be run in DOS mode</code></p>
<p>Est-ce de la faute de mon FreeDOS ? En tout cas, il arrive à lancer d'autre .exe sans grand souci.</p>
<p>Est-ce un problème de corruption du fichier téléchargé ? A priori non vu que les sommes de contrôle sont correctes (ou bien je mélange tout ?)</p>
<p>Mes recherches internet n'ont pas été fructueuses si ce n'est pour me confirmer que je ne suis pas le seul à avoir rencontrer ce problème mais pour les solutions, hormis passer par un Windows, rien de bien convaincant sachant que passer par Windows ne m'excite pas énormément pour plein de raisons.</p>
<p>Quel est ton avis ?</p>
<div><a href="https://linuxfr.org/forums/astucesdivers/posts/this-program-cannot-be-run-in-dos-mode.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/129789/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/astucesdivers/posts/this-program-cannot-be-run-in-dos-mode#comments">ouvrir dans le navigateur</a>
</p>
tisaachttps://linuxfr.org/nodes/129789/comments.atomtag:linuxfr.org,2005:Post/430252022-07-16T01:18:48+02:002022-07-16T01:18:48+02:00Comment flasher mon BIOS ?<p>Sur l'ordinateur fourni par ma région : le HP X360 310 G1 , le BIOS est bridé, impossible d'installer grub.</p>
<p>L'une des solutions est d'installer refind ( et ça marche ) , mais il faut le refaire à chaque fois que j'installe une distribution </p>
<p>Comment puis-je changer de BIOS pour un libre ? J'ai essayé coreboot mais l'installation ne marche pas </p>
<div><a href="https://linuxfr.org/forums/linux-general/posts/comment-flasher-mon-bios.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/128304/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-general/posts/comment-flasher-mon-bios#comments">ouvrir dans le navigateur</a>
</p>
wolf_sentinelhttps://linuxfr.org/nodes/128304/comments.atomtag:linuxfr.org,2005:Post/426932022-02-10T14:12:18+01:002022-02-10T14:12:18+01:00[Offre de stage] : Accompagner la bascule vers un cloud collaboratif libre<p>Bonjour à toutes et tous,</p>
<p>En ce jour où la CNIL vient de déclarer l'utilisation de <a href="https://www.cnil.fr/fr/utilisation-de-google-analytics-et-transferts-de-donnees-vers-les-etats-unis-la-cnil-met-en-demeure">Google Analytics illégale</a>, au sein de notre coopérative nous aimerions terminer de nous affranchir du grand SATAN.</p>
<p>Nous sommes déjà passés sur Matomo l'année dernière, le prochain chantier pour nous, c'est de pouvoir sortir de Google drive en 2022 ! La volonté est là depuis un moment mais, nous n'avons pas pris à bras le corps ce sujet par manque de temps. </p>
<p>De fait nous proposons un stage de 6 mois sur le sujet pour nous aider à franchir le pas et accompagner notre équipe en interne dans cette libération.</p>
<p>Voici le pdf pour plus de détail sur l'offre : <a href="https://shop.commown.coop/web/content/101254?download=1">https://shop.commown.coop/web/content/101254?download=1</a></p>
<p>N'hésitez pas à faire tourner l'info, ou directement postuler si ce type de stage vous intéresse ! </p>
<p>Merci bien ! </p>
<p>Adrien,<br>
Cofondateur de Commown<br>
Plus d'info sur notre coopérative ici : <a href="https://commown.coop/">https://commown.coop/</a></p>
<div><a href="https://linuxfr.org/forums/general-petites-annonces/posts/offre-de-stage-accompagner-la-bascule-vers-un-cloud-collaboratif-libre.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/126878/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-petites-annonces/posts/offre-de-stage-accompagner-la-bascule-vers-un-cloud-collaboratif-libre#comments">ouvrir dans le navigateur</a>
</p>
Adrien-Commownhttps://linuxfr.org/nodes/126878/comments.atomtag:linuxfr.org,2005:Diary/401052022-01-23T17:14:18+01:002022-01-23T17:14:18+01:00Éteindre son serveur la nuit et l'allumer automatiquement le matinLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<h2 id="toc-une-situation-classique">Une situation classique</h2>
<p>Imaginons une machine physique sous Linux hébergeant des services habituels (partage de fichiers, VPN…) utilisé par une petite entreprise/collectivité. Dans l'optique d'économiser de l'énergie, ce serveur <strong>devrait</strong> être allumé le matin et éteint le soir, automatiquement. Après tout, il faut bien qu'on <a href="https://www.greenpeace.fr/espace-presse/cp-rapport-giec-science-a-parle-etats-doivent-arreter-de-tergiverser/">divise notre production de CO2 par deux d'ici à 2030</a>, ça ne va pas se faire tout seul.</p>
<p>Le serveur est un classique <a href="https://www.dell.com/support/home/en-us/product-support/product/poweredge-t110-2/">Dell PowerEdge T110 II</a>, qu'on peut trouver d'occasion pour peu cher. Avec trois disque 3,5", il consomme entre 32 et 55 W selon mes mesures. Éteint entre minuit et 7h du matin, on économise donc entre 81 et 140 kWh par an. C'est pas grand chose mais c'est déjà ça.</p>
<p>Malheureusement, le BIOS ne permet pas de programmer un allumage automatique.</p>
<h2 id="toc-on-peut-quand-même">On peut quand même</h2>
<p>Si je comprends bien, les machines qui implémentent <a href="https://fr.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface">ACPI</a> (Advanced Configuration and Power Interface) et qui disposent d'une pile (pour garder l'heure), peuvent être programmées depuis le système d'exploitation pour démarrer automatiquement à une heure donnée : c'est le <strong>ACPI wakeup</strong>. Génial !</p>
<p>Sous Linux on y accède par le pseudo-fichier <code>/sys/class/rtc/rtc0/wakealarm</code>. C'est très basique, puisqu'on ne peut y lire/écrire que le prochain démarrage prévu, sous forme du nombre de secondes depuis <a href="https://fr.wikipedia.org/wiki/Epoch">epoch</a>.</p>
<h2 id="toc-on-veut-le-script">On veut le script !</h2>
<p>Oui, on est donc obligé de faire un script qui, chaque jour, programme le prochain démarrage. Comme tout ce qui a trait à la gestion du temps, on se fait vite des nœuds au cerveau. C'est pour vous éviter ça que j'ai mis mon script et les explications <a href="https://framagit.org/Yvan-Masson/schedule-tomorrow-boot">sur Framagit</a>. Je vous invite également à consulter le <a href="https://www.mythtv.org/wiki/ACPI_Wakeup">wiki de MythTV</a> qui parle de cette fonctionnalité plus en détail.</p>
<div><a href="https://linuxfr.org/users/yvanm/journaux/eteindre-son-serveur-la-nuit-et-l-allumer-automatiquement-le-matin.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/126669/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/yvanm/journaux/eteindre-son-serveur-la-nuit-et-l-allumer-automatiquement-le-matin#comments">ouvrir dans le navigateur</a>
</p>
YvanMhttps://linuxfr.org/nodes/126669/comments.atomtag:linuxfr.org,2005:Diary/397432021-05-02T14:35:13+02:002021-05-02T16:57:21+02:00Mise à jour de BIOS/EFI sur carte mère dont le fabriquant ne fournit qu’un .exe (MSI A88X-G43)Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Bonjour à tous,</p>
<p>Voici l’histoire de ma petite galère de la journée d’hier : le fabriquant de la carte mère qui équipe mon petit serveur de données basse consommation, MSI pour ne pas le nommer, ne fournit pas les dernières images de ses EFI. <br>
Les dernières versions ne sont disponibles que sous la forme d’un utilitaire windows (.exe), qui permet uniquement le flashage depuis cet OS. Cela malgré le fait que l’EFI de l’engin en question possède un outil de flashage intégré. <br>
C’est dommage et pas très "other OS fiendly". Le problème je n’ai aucune envie de démonter la machine pour le moment, elle est occupée à faire du partage de fichiers et encore moins de devoir installer rapidement un windows pour cela (une blague est cachée dans cette phrase, sauras-tu la retrouver ?). <br>
Le démontage est programmé pour la semaine prochaine lorsque les nouveaux disques NVMe et les cartes adaptatrices PCIe seront arrivées, raison même de la mise à jour du BIOS, la dernière version annonçant un meilleur support de ce type de matériel.</p>
<p>Souvent dans ce genre de cas il reste quelques solutions simples :</p>
<p>A. Il y a un paramètre à passer en ligne de commande pour extraire l’image du BIOS/EFI.</p>
<p>B. On lance avec WINE et on arrive à récupérer le fichier en question dans un dossier temporaire.</p>
<p>C. On ouvre le .exe avec un utilitaire d’archivage type 7z qui reconnaît la présence d’une archive et permet d’extraire le fichier.</p>
<p>Spoiler alert : aucune de ces méthodes ne fonctionne et Murphy fait sa loi.</p>
<p>A. Exécution du fichier depuis la console WINE avec /?, je tente aussi le traditionnel /extract, malheureusement il se lance systématiquement en mode graphique sans donner de réponse dans la console. Raté, trop simple.</p>
<p>B. Lors de l’exécution du fichier par WINE il m’affiche directement une popup qui me demande de le lancer depuis une clé USB. Allumage de KVM, recherche de clé USB, sauvegardage, formatage puis passage de cette dernière à la VM et éxécutage : Rien. C’était évident on est pas sur le bon modèle de carte mère. Aucun fichier temporaire à se mettre sous la dent, là j’ai du Garou qui m’arrive dans la tête "Si tu crois que c’est fini, JAMAAAIIIISSS ! C’est juste une pause un rééééépiiiss"… Bref je sens que ca va être long. Je profite de ce moment de calme et de zenitude pour envoyer une petite malédiction des familles aux ingés de chez MSI qui ont pris la décision de pondre cette mer…veille.</p>
<p>C. Aucun utilitaire n’a réussi à identifier une archive dans le .exe. À ce point là, je n’en doutais pas une seconde. Je me fais donc un grand café.</p>
<p>Changement de méthode. Approche dite de la débrouille pour rester poli, je vous ai déjà potentiellement mit du Garou dans la tête, on va pas en rajouter :</p>
<p>D.1. Analyse du fichier .exe avec wrestool pour voir si la ROM est liée comme une ressource de l’exe. Pas de bol aucun n’est assez gros pour correspondre.</p>
<p>D.2. Analyse du fichier .exe avec wxHexEditor. Première étape récupération d’une ancienne version de l’EFI disponible sous la forme d’une ROM pour savoir ce que l’on cherche. Petit tour sur le grand ternet et récupération sur un site sans aucun rapport avec MSI. <br>
Ouverture du fichier avec l’éditeur hexa et on peut constater qu’on a du padding à base de 0xFF sur pas mal d’octets (128k très exactement) puis une séquence. Je copie la séquence dans la recherche de mon éditeur hexa et recherche "FF AA 55 AA 55 00 00 00 00 00 00 00 00 00 00 00 00". Ringo ! On a un match. Je relève la position du premier 0xAA, auquel je soustrais les 128k de 0xFF (2 999 197 - 131 072) et me rends donc à la position 2 868 125, re-ringo on est au premier 0xFF après une autre séquence et il n’y a que ça jusqu’à la position 2 999 197. On a trouvé le début de notre EFI.</p>
<p>Reste à voir où se trouve la fin. On reprend le fichier d’origine, il fait 8M. Donc on se rend à la position 11 256 733 (2 868 125, notre départ + 8 388 608, les 8Mo). Re-re-ringo on est pile poil à la fin du fichier .exe. L’EFI est donc empilé à la fin du fichier .exe contentant l’utilitaire. Extraction de cette partie, j’utilise un <code>tail -c 8388608 > A88XG43-BIOSv3C.rom</code>. Il ne reste plus qu’à vérifier le résultat, aucune envie de sortir la pince à griffe et le programmateur à la suite d’un mauvais flashage dans quelques jours. J’utilise donc un petit utilitaire disponible sur GitHub nommé UEFITool (<a href="https://github.com/LongSoft/UEFITool/">https://github.com/LongSoft/UEFITool/</a>). Là il est possible de vérifier que ce qui a été sorti du .exe correspond bien à ce que l’on attend en comparant avec l’ancienne version.</p>
<p>Le fichier de l’ancien EFI dans UEFITool :<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f692e696d6775722e636f6d2f77437949616a622e706e67/wCyIajb.png" alt="Screenshot UEFITool de l'ancien bios" title="Source : https://i.imgur.com/wCyIajb.png"></p>
<p>Le fichier extrait :<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f692e696d6775722e636f6d2f6e6b6c365938472e706e67/nkl6Y8G.png" alt="Screenshot UEFITool du fichier extrait" title="Source : https://i.imgur.com/nkl6Y8G.png"></p>
<p>J’ai passé en revue les différentes entrées et on est très proche, bien entendu il y a un peu plus de contenu dans la nouvelle version mais tout me semble propre, je suis confiant pour flasher la semaine prochaine.</p>
<p>Et voilà comment une opération qui devait prendre moins de 2 minutes a pris au final près de 3 heures.</p>
<p>Pour résumer si vous devez flasher une carte mère MSI sans windows vous pourrez tenter de sortir le fichier rom de la fin de l’exe. Résultat à suivre ici week end prochain et j’en profiterai pour parler de l’ajout de disque NVMe dans une ancienne machine.</p>
<p>Bon dimanche à vous.</p>
<div><a href="https://linuxfr.org/users/chrisk/journaux/mise-a-jour-de-bios-efi-sur-carte-mere-dont-le-fabriquant-ne-fournit-qu-un-exe-msi-a88x-g43.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/124154/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/chrisk/journaux/mise-a-jour-de-bios-efi-sur-carte-mere-dont-le-fabriquant-ne-fournit-qu-un-exe-msi-a88x-g43#comments">ouvrir dans le navigateur</a>
</p>
Chris K.https://linuxfr.org/nodes/124154/comments.atomtag:linuxfr.org,2005:Diary/392312020-07-02T23:26:36+02:002020-07-03T13:22:51+02:00De la difficulté de mettre à jour son BIOS sous linux avec MSILicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>J'ai récemment acheter une nouvelle mobo de MSI. Moi qui était habitué au gygabyte , je fut parfois surpris par le support linux de MSI (c'est à dire inexistant). <br>
Là où les difficultés ont commencé fut lors de a mise à jour BIOS.</p>
<p>En effet, i lfaut savoir que MSI ne fournissant rien à LVFS, il faut mettre à jour son BIOS par la méthode antique et éprouvé du boot dans un menu flash. </p>
<p>Pour se faire aller dans le BIOS, et demander à booter en mode M-FLASH. Cette actio éteind le PC et redemarre en M-Flash</p>
<p>LE problème est que MSI ne semble activé la sortie HDMI qu'à la fin du BIOS (parfois même en cours de boot de l'OS) après extinction de la machine . Et donc, il est compliqué de voir quoique ce soit dans le menu M-FLASH. LE problème qui semble avoir été reporté par plusieurs clients pour plusieurs mobo, avec carte intégrée ou carte PCIe. <br>
De plus, arrivant à la fin du BIOS , il est compliqué de voir les raccourcis claviers, et ceux çi ne sont mentionné dans aucune documentation. <br>
Les workaround reposent tous sur Microsoft Windows.et flashrom ne fonctionnait pas: </p>
<pre><code> Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found chipset "AMD FP4".
Enabling flash write... FCH device found but SMBus revision 0x61 does not match known values.
Please report this to flashrom@flashrom.org and include this log and
the output of lspci -nnvx, thanks!.
Could not determine chipset generation.PROBLEMS, continuing anyway
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically._
</code></pre>
<p>En luttant pas mal de temps, j'ai quand même reussi à capter un raccourci clavier 'CTRL-F5' . Surrise, le PC redemarrer sans exticntion ,et donc ne desactive pas l'HDMI, permettant d'accèder au menu M-FLash, et là ça a fonctionné sans problème. </p>
<p>Dans un premier point, je vous déconseillerai donc d'investir chez eux. <br>
Dans un second point Je ne vois aucun intérêt à ne pas permettre d'upgrade le bios avec flashupdmgr (qui fonctionne vraiment au petits oignons sur mon laptop pro) . J'aimerais bien avoir des infos pourquoi certains vendeurs ne fournissent pas leurs ROM à lvfs.<br>
Dans un troisième point, pourquoi se priver d'HDMI pendant 75% de la phase de démarrage. </p>
<p>(Par contre ayant migré en même temps d'intel/nvidia vers AMD/Picasso, je n'y vois que du positif) </p>
<div><a href="https://linuxfr.org/users/cheumole/journaux/de-la-difficulte-de-mettre-a-jour-son-bios-sous-linux-avec-msi.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/120977/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/cheumole/journaux/de-la-difficulte-de-mettre-a-jour-son-bios-sous-linux-avec-msi#comments">ouvrir dans le navigateur</a>
</p>
Eh_Dis_Mwanhttps://linuxfr.org/nodes/120977/comments.atomtag:linuxfr.org,2005:Diary/391462020-05-12T22:25:13+02:002020-05-13T17:07:02+02:00Microcode ouvert sur materiel HPE ?Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Bonsoir,</p>
<p>Il y a bien longtemps que je n'ai écris de journal. Il faut dire que l'année 2019 a été un tsunami de mon cote suite à l'acquisition de ma société par un groupe américain, un déménagement outre atlantique et un départ de celui-ci pour rejoindre HPE à Houston, où je pilote la stratégie Open Platform. Me voila "influenceur" (plutot que chef on va dire) chez un constructeur, et de retour à mes sources (j'avais quitté HPE pour créer ma structure en 2006).</p>
<p>Je ne suis pas là pour faire de la pub pour HPE, meme si indirectement je vais vous parler de mes priorités, et j'aimerai avoir l'opportunité d'avoir un échange avec vous sur ce que je fais. Je n'ai pas abandonné mes développements FreeCAD (ils seront le sujet d'un prochain journal leur étant dédié), et l'actualité sur ce sujet est d'ailleurs très riche suite à ma rencontre (physique!) avec d'autres développeurs lors du dernier Fosdem.</p>
<p>Certains d'entres vous le savent je suis un des co-createurs de <a href="http://linuxboot.org">linuxboot</a> un environnement qui permet de s'affranchir au maximum de codes propriétaires au niveau des BIOS des serveurs. J'ai travaillé aussi sur des approches équivalentes au niveau des BMC (les chips de remote management de ces memes serveurs) au travers de projets comme OpenBMC et u-bmc. Ces projets ont été présentes plusieurs fois lors de conférences internationales comme <a href="https://www.opencompute.org/">OCP</a> et/ou <a href="https://fosdem.org/2020/">Fosdem</a> (Facebook y a fait un très bon talk cette année sur la manière dont ils testent les dits microcodes).</p>
<p>En arrivant chez HPE, il m'était évident que cette approche allait créer un choc culturel. Il faut dire que l'engineering local développe ses propres BIOS avec succès depuis plus de 25 ans sur les systèmes ProLiant, et arriver avec une approche ou on casse tout, au profit du kernel linux, il faut avouer que je me suis dit qu'en tant que Francais au Texas, il allait falloir etre subtil et prudent.</p>
<p>Apres quelques mois, d'engueulades positives et bbq (on résout pas mal de choses autours d'un bbq ici), on a réussi à avoir des Proliant qui démarrent sous <a href="https://en.wikipedia.org/wiki/OpenBMC">OpenBMC</a> (<a href="https://en.wikipedia.org/wiki/ProLiant">Gen10</a>/<a href="https://en.wikipedia.org/wiki/Skylake_(microarchitecture)">skylake</a>) ainsi que linuxboot. Ils ont été présentés d'ailleurs pour l'un d'entre eux cette année à Bruxelles au Fosdem (second choc culturel d'ailleurs). La difficulté technique repose principalement sur la mise en oeuvre des mécanismes de protection (légitime) des microcodes depuis quelques années (Silicon Root of Trust, et <a href="https://en.wikipedia.org/wiki/Intel_vPro#Intel_Boot_Guard">Intel Bootguard</a> en sont quelques exemples). Comment concilier liberté de choix et mécanisme de protection ?</p>
<p>Apres cette étape de tests au travers de PoC (Proof of Concept), nous sommes entrés dans la phase suivante de pré-industrialisation. Ils nous restent évidemment beaucoup de travail, tests et validations. Mais vous allez pouvoir y participer, enfin j'espère. Nous sommes en train d'assembler des prototypes de DL360Gen10, que nous allons proposer à quelques uns de nos gros et petits clients, qui souhaitent s'impliquer dans cette aventure. Si vous en faites parties, faites moi signe !</p>
<p>Etant un fervent défenseur des travaux communautaires, et de la nécessité d'offrir la possibilité à tout le monde de tester les microcodes libres, j'ai créée un petit projet dénommé OSFCI (Open Source Firmware Continuous Integration) disponible sur <a href="https://github.com/HewlettPackard/osfci">github</a>, et au travers d'une plateforme en ligne qui permet de tester a distance un serveur Proliant qui fonctionne sur OpenBMC, et linuxboot. Evidemment il reste beaucoup de travail, mais celui-ci peut se faire de manière collaborative et a bien entendu démarré au travers de communautés des microcodes libres.</p>
<p>Vous pouvez acceder a la plateforme fonctionnelle sur <a href="https://osfci.tech">https://osfci.tech</a>. Nous l'utilisons pour valider nos propres développements et cela fonctionne plutot bien durant cette pandémie qui nous touche tous. L'idée étant de recompiler une image openbmc et/ou linuxboot en local, de la télécharger sur un FPGA connecté a un ProLiant qui va émuler des Flash SPI, et de controler a distance l'alimentation électrique du serveur. Une fois allumé, les consoles des différents microcodes sont accessibles. Une image de demo est disponible par défaut.</p>
<p>Nous travaillons sur une API qui permettra de faire tout cela en mode automatique, permettant ainsi de valider chaque assemblage de microcode à la volée.</p>
<p>Les microcodes propriétaires ne vont pas disparaitre, mais les logiciels libres arrivent à se créer une place dans ce domaine et j'espère que chacun pourra ainsi choisir sa stratégie de sécurité au travers d'options soient totalement propriétaires soit totalement auditables, modifiables et libres.</p>
<p>N'hésitez pas à me fournir votre retour sur cette approche qui me tient sincèrement à coeur.</p>
<p>vejmarie</p>
<div><a href="https://linuxfr.org/users/vejmarie/journaux/microcode-ouvert-sur-materiel-hpe.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/120413/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/vejmarie/journaux/microcode-ouvert-sur-materiel-hpe#comments">ouvrir dans le navigateur</a>
</p>
vejmariehttps://linuxfr.org/nodes/120413/comments.atomtag:linuxfr.org,2005:Bookmark/12882020-03-26T06:38:54+01:002020-03-26T06:38:54+01:00vos disques HP ont-ils perdu la tête ?<a href="https://www.bleepingcomputer.com/news/hardware/hpe-warns-of-new-bug-that-kills-ssd-drives-after-40-000-hours/">https://www.bleepingcomputer.com/news/hardware/hpe-warns-of-new-bug-that-kills-ssd-drives-after-40-000-hours/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/119781/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/quinton/liens/vos-disques-hp-ont-ils-perdu-la-tete#comments">ouvrir dans le navigateur</a>
</p>
Marc Quintonhttps://linuxfr.org/nodes/119781/comments.atomtag:linuxfr.org,2005:Bookmark/12202020-03-07T12:32:58+01:002020-03-07T12:32:58+01:00CVE-2019-0090, c'est du flan ou une bombe atomique ?<a href="https://www.01net.com/actualites/une-faille-impossible-a-corriger-dans-les-puces-intel-pourrait-creer-un-chaos-total-1870374.html">https://www.01net.com/actualites/une-faille-impossible-a-corriger-dans-les-puces-intel-pourrait-creer-un-chaos-total-1870374.html</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/119582/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/anonyme/liens/cve-2019-0090-c-est-du-flan-ou-une-bombe-atomique#comments">ouvrir dans le navigateur</a>
</p>
Anonymehttps://linuxfr.org/nodes/119582/comments.atom