Geekeries et d'autres choses - Mot-clé - debian2024-01-29T10:26:26+01:00urn:md5:51ff50324f4f72c0e78683659647f2c8DotclearHow to update the BIOS firmware on a Dell Laptop using only Debian Linuxurn:md5:e6c68a0756ae7dcc8b05224bd07ab7332009-12-24T16:05:00+01:002009-12-24T16:13:54+01:00Julien WajsbergInformatiquebiosdebiandellfirmwarehdrlaptoplinuxwine <p>(Yes, I know that's GNU/Linux, but my title was already too long :-) )
Translation of my <a href="http://www.everlong.org/blog/index.php/post/2009/12/Dell%2C-BIOS%2C-Linux" hreflang="fr" title="Comment mettre à jour le Bios de son portable Dell sous Debian Linux">last post</a> in english. Hope it will be readable :-)</p>
<p>Dell publishes all BIOS firmwares as a Windows .EXE. When we try naively to execute it using Wine, Wine stops because the exe tries to flash the firmware using direct access to the hardware... which doesn't work with Wine.</p>
<p>The solution is to use <code>dellBiosUpdate</code>, which ships with the Debian package <code>libsmbios-bin</code>:</p>
<pre>aptitude install libsmbios-bin</pre>
<p>This tool needs 2 things : the bios firmware in HDR format, and the kernel module <code>dell_rbu</code> to do the update. For this last part, it's easy on a normal Debian (read: with a Debian kernel):</p>
<pre>modprobe dell_rbu</pre>
<p>For the HDR file, I tried during 2 hours... and indeed it was very easy (please replace the filename by the actual filename):</p>
<pre>wine E6400A19.EXE -writehdrfile</pre>
<p>Yes, Dell's .EXE knows how to write the HDR file !</p>
<p>Now, you can execute <code>dellBiosUpdate</code> :</p>
<pre>dellBiosUpdate -f ./E6400A19.hdr -u</pre>
<p>And reboot !</p>
<p>Please note that if you don't use Debian, <a href="http://linux.dell.com/wiki/index.php/Repository/firmware" hreflang="en">Dell has some easy setup to update the BIOS firmware under Linux</a>. It seems to work on RPM distributions, and also in Ubuntu. I tried to make it work with Debian, I think I successed but the repository seems to contain rather old firmwares. Maybe I'll try to help them make it work with Debian :-)</p>Comment mettre à jour le Bios de son portable Dell sous Debian Linuxurn:md5:80fa48d0e2238556c501360814259ac62009-12-24T15:35:00+01:002009-12-24T16:13:32+01:00Julien WajsbergInformatiquebiosdebiandellhdrlinuxwine <p>(oui, je sais, on dit GNU/Linux, mais mon titre était déjà trop long)</p>
<p>(<a href="http://www.everlong.org/blog/index.php/post/2009/12/How-to-update-the-BIOS-firmware-on-a-Dell-Laptop-using-only-Debian-Linux" hreflang="en" title="How to update the BIOS firmware on a Dell Laptop using only Debian Linux">English translation</a>)</p>
<p>Aujourd'hui, on continue encore un peu avec les billets geeks. Et ça me permettra de pas perdre 2 heures la prochaine fois :-)</p>
<p>En effet, aujourd'hui, j'ai voulu mettre à jour mon BIOS. En effet, il est possible que ce soit ça qui fasse que... bref, cette histoire sera pour plus tard.</p>
<p>Il faut savoir que Dell fournit ses nouveaux bios sous forme d'un exécutable Windows. Quand on l'exécute bêtement avec Wine, ça plante... car il essaie de flasher directement le Bios en accédant au matériel, et Wine n'a pas implémenté ça.</p>
<p>La solution consiste à passer par l'utilitaire <code>dellBiosUpdate</code>, qui se trouve dans le paquet Debian <code>libsmbios-bin</code>:</p>
<pre>aptitude install libsmbios-bin</pre>
<p>Cet utilitaire a besoin de deux choses : le Bios au format HDR, et le module noyau <code>dell_rbu</code> pour faire l'update proprement dite. Pour le module, rien de plus simple sur une Debian "normale" :</p>
<pre>modprobe dell_rbu</pre>
<p>Pour le fichier HDR, j'ai peiné pendant 2 heures, et en fait, c'est très simple (remplacer le nom du fichier par le nom correct):</p>
<pre>wine E6400A19.EXE -writehdrfile</pre>
<p>Et oui, les exécutables de flashage du Bios Dell savent écrire le HDR !</p>
<p>Et voilà, il ne reste plus qu'à exécuter <code>dellBiosUpdate</code> :</p>
<pre>dellBiosUpdate -f ./E6400A19.hdr -u</pre>
<p>Et à redémarrer sa machine.</p>
<p>Notez que si vous n'êtes pas sur Debian, <a href="http://linux.dell.com/wiki/index.php/Repository/firmware" hreflang="en">Dell propose une manière facile de mettre à jour son Bios</a>. J'ai essayé de faire marcher ça sous Debian, je pense que j'ai réussi à peu près, mais le dépôt ne semble pas à jour avec les derniers Bios. Je vais voir si je peux pas les aider à faire marcher ça pour Debian<sup>[<a href="https://everlong.org/blog/index.php/post/2009/12/Dell%2C-BIOS%2C-Linux#pnote-399-1" id="rev-pnote-399-1">1</a>]</sup>.</p>
<div class="footnotes"><h4>Notes</h4>
<p>[<a href="https://everlong.org/blog/index.php/post/2009/12/Dell%2C-BIOS%2C-Linux#rev-pnote-399-1" id="pnote-399-1">1</a>] Chouette, un autre projet, j'en manquais.</p></div>
Debian, Java et IPV6urn:md5:9b31a9a1068d71031eb89ca65523310f2009-12-22T19:08:00+01:002010-01-02T14:35:14+01:00Julien WajsbergInformatiquedebianipv6javanetbase <p>J'ai décidé hier de mettre à jour la Debian de mon PC du boulot.</p>
<p>Globalement, ça s'est bien passé. Il y a eu cependant deux problèmes majeurs : VMWare ne se lance plus, et j'en parlerai dans un autre billet si j'arrive à résoudre le problème, et Eclipse me retournait un joli "<code>network unreachable</code>" dès que j'essayais d'accéder au gestionnaire des plug-ins.</p>
<p>J'ai d'abord réalisé un petit programme Java, pour vérifier que c'était bien tout Java qui était concerné :</p>
<pre>
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class TestReseau {
public static void main(String[] args) throws MalformedURLException,
IOException {
URLConnection connection = new URL("http://www.google.fr")
.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line + '\n');
}
System.out.println(sb.toString());
}
}
</pre>
<p>Et, oui, que ce soit avec Java 5, Java 6, ou OpenJDK, le même problème apparaissait.</p>
<p>Une recherche rapide m'a amené sur <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560056" hreflang="en">le bug tracker Debian</a>, avec la solution :</p>
<ul>
<li>modifier <code>/etc/sysctl.d/bindv6only.conf</code>, nouveau fichier amené par la <a href="http://packages.debian.org/sid/netbase" hreflang="en">version 4.38 de netbase</a>,</li>
<li>changer la valeur de <code>net.ipv6.bindv6only</code> vers 0,</li>
<li>et recharger procps par <code>/etc/init.d/procps restart</code>.</li>
</ul>
<p>C'est très pénible de perdre une heure sur des changements silencieux comme ça, mais au moins, j'ai trouvé la solution... pas comme avec VMWare.</p>
<p><strong>Mise à jour</strong> : il y a eu aussi un <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=552480" hreflang="en">ptit bug avec Eclipse</a> avec un GTK récent. Rapidement résolu en utilisant la variable d'environnement préconisée : <code>GDK_NATIVE_WINDOWS=1</code>. Le problème était que les contrôles ne répondaient pas toujours correctement (genre les boutons-poussoirs restaient appuyés quand on cliquait dessus, sans produire d'effet).</p>Récupérer le mot de passe admin stocké dans OpenLDAPurn:md5:4070b531f55ce0023ba0885d56ef322e2009-11-05T18:21:00+01:002009-11-05T18:50:46+01:00Julien WajsbergInformatiquedebianldapopenldappassword <p>Au menu, un petit problème qui m'a embêté aujourd'hui. Ça pourra paraître bateau à pas mal de gens, mais j'ai bien dû chercher une heure avant de trouver la solution par moi-même, car Google ne m'aidait pas trop. J'espère que ça servira donc à quelqu'un.</p>
<h3>Le problème</h3>
<p>J'avais une vieille installation de OpenLDAP sur une machine, installé et configuré automatiquement par les outils Debian.</p>
<p>Si je ne me trompe pas, ces outils installent une base sécurisée, dans le sens où le mot de passe admin n'est stocké en clair nulle part. Ils le demandent à l'installation (avec le Bind DN associé), l'insèrent dans le référentiel, et configurent le fichier <code>slapd.conf</code> pour autoriser ce Bind DN à écrire partout.</p>
<p>Me voilà bien embêté, 2 ans après, pour accéder à ce Bind DN ! Les mots de passe par défaut habituels y sont tous passés: password, secret, admin... Rien n'y fait.</p>
<h3>La manière brute</h3>
<p>Le premier essai, naïf, a consisté à accéder au référentiel directement. Un ptit coup de <code>slapcat</code> permet de récupérer l'intégralité du contenu du référentiel. Là, on a, pour notre <acronym title="Distinguished Name">DN</acronym>, un champ <code>userPassword</code>, qui ressemble à ça :</p>
<pre>userPassword:: e01ENX1BjhU4KiFacVhpaT0oKYDeRTNuQ3p3PT0=</pre>
<p>(Note: je l'ai modifié, ce n'est sans doute plus quelque chose qui veut dire quelque chose).</p>
<p>Ce champ est encodé en Base64, pour le décoder j'ai utilisé l'outil <code>base64</code> de la manière suivante :</p>
<pre>echo 'e01ENX1BjhU4KiFacVhpaT0oKYDeRTNuQ3p3PT0=' | base64 -d</pre>
<p>Cela a retourné la chaîne <code>{crypt}AT35SkUje86dKL7KE3nCzw==</code> (ou quelque chose approchant, j'avoue que je triche).</p>
<p>Zut, une chaîne hashée... J'aurais dû m'y attendre ! Je me suis donc fait un petit fichier passwd-like contenant une ligne :</p>
<pre>admin:AT35SkUje86dKL7KE3nCzw</pre>
<p>Et j'ai lancé l'excellent logiciel de <del>crackage de mot de passe</del>sécurité john :</p>
<pre>john passwd</pre>
<p>Après quelques minutes de crackage intensif, john ne m'a rien trouvé. J'avais utilisé un mot de passe à peu près sécurisé. J'ai donc utilisé mon cerveau pour changer directement le mot de passe.</p>
<h3>La manière douce</h3>
<p>C'est en fait beaucoup plus simple. On peut définir un DN root avec un mot de passe associé dans le fichier de configuration du serveur OpenLDAP. C'est d'ailleurs ce qui est indiqué souvent dans les divers HOWTO.</p>
<p>C'est donc ce que j'ai fait; j'ai ajouté les lignes suivantes à l'endroit opportun de mon fichier <code>/etc/ldap/slapd.conf</code>:</p>
<pre>rootdn "cn=root,dc=monbeaudomaine,dc=fr"
rootpw monbeausapin</pre>
<p>Puis j'ai redémarré slapd, je me suis connecté sur le référentiel en utilisant ces informations, et j'ai pu changer le mot de passe de mon DN admin précédent. Je me suis ensuite empressé de commenter ces deux lignes puis de redémarrer à nouveau slapd.</p>Description: Debian 5.0 Released 14 February 2009urn:md5:0ebf3527a3fc226879e0e68b58880ad92009-02-15T17:13:00+01:002009-02-15T17:15:58+01:00Julien WajsbergInformatiquedebianlenny <p>Alors que je faisais joujou dans mon coin avec Dotclear 2, il se trouve que la <a href="ftp://ftp.debian.org/debian/dists/stable/Release" hreflang="en">nouvelle stable de Debian</a> <a href="http://www.debian.org/News/2009/20090214" hreflang="fr">est sortie</a>. Time to party !</p>