Réinstallation de Grub 2

Feb 16, 2010 in linux | Informatique

L’installation de Windows a toujours fait sauter le contenu du MBR et la dernière édition, Windows 7, ne fait pas exception à la règle.

Ainsi, si vous installez/ou finissez l’installation constructeur de Windows sur un ordinateur après avoir installé Linux, Windows ne manquera pas de corrompre le chargeur de démarrage.

Voici comment réinstaller le chargeur de démarrage grub 2 (dans mon cas, installé par Ubuntu 9.10) :

ATTENTION : ces manipulations doivent être adaptées pour fonctionner sur votre ordinateur. Elles ne fonctionneront pas/n’auront pas le résultat voulu si elles sont tapées bêtement.

  1. Démarrer l’ordinateur sur un live-CD/live-USB d’une distribution linux
  2. Ouvrir un terminal et passer super utilisateur avec su ou sudo -s -H (en fonction de la distribution)
  3. Monter votre partition racine (le ‘/’ de votre distribution installée sur disque dans /mnt)

    mount /dev/sda5 /mnt
    

    Attention, chez moi la parition est /dev/sda5, mais ça dépend des partitions que vous avez créées. Vous pouvez essayer de repérer la bonne partition (en fonction de sa taille) avec parted ou gparted.

  4. Remonter les systèmes de fichiers virtuels dans /mnt

    mount --bind /dev /mnt/devmount --bind /proc /mnt/procmount --bind /sys /mnt/sys
    
  5. Effectuer un changement de racine dans le terminal

    chroot /mnt /bin/bash
    

    A partir d’ici, les commandes que vous taperez s’exécuteront dans l’environnement de votre distribution installée sur disque.

  6. Réinstaller grub dans le MBR du premier disque

    grub-install (hd0)
    

Et voila, il n’y a plus qu’à redémarrer :)

Clé USB 3G sous Linux, le nouveau cauchemar ?

Oct 13, 2009 | Informatique

L’installation d’une clé USB 3G sous Linux (testé sous Ubuntu 9.04) ne pose pas de gros problème, mais il est clair que ça ne s’invente pas!!

Lors du branchement de la clé Huawei E1552 (offre Bouygues), celle-ci est reconnu comme un simple clé USB avec stockage en lecture seule. On a ainsi accès au pilote pour Microsoft Windows, aux manuels, …

Après avoir surfé sur les différents forums et trouvé plusieurs moyens pour l’utiliser, voici le plus simple et celui qui a le moins d’inconvénient de mon point de vue:

1/ Installation d‘udev-extras

sudo apt-get update && sudo apt-get install udev-extras

2/ Ajout d’une règle Udev pour que la clé n’utilise pas le pilote usb-storage mais le pilote pour clé 3G

echo 'SUBSYSTEM=="usb", SYSFS{idProduct}=="1446", SYSFS{idVendor}=="12d1", RUN+="/lib/udev/modem-modeswitch --vendor 0x12d1 --product 0x1446 --type option-zerocd"' | sudo tee  /etc/udev/rules.d/45-huawei1550.rules

Attention, ici, plusieurs valeurs sont “hard-codés” et pourraient devoir être changées suivant la révision matérielle de votre clé. Ces paramètres sont cependant également valables pour la clé Huawei E1550, ça a l’air donc assez stable à ce niveau.

3/ Configuration de la connexion

On (re)branche la clé, quelques secondes après, Network-Manager devrait vous proposer de la configurer.

Ensuite, lorsque vous la rebrancherez, après quelques longues secondes, Un réseau à large bande devrait apparaître dans la liste des réseau disponible de Network-Manager (entre les éventuelles réseau(x) filaire(s) et réseau(x) sans fil). On clique, on rentre le code PIN, et l’Internet est à vous :)

Reprise des randonnées rollers sécurisées du Jeudi soir à Rennes

Sep 12, 2009 in rando, roller | Roller

Après plus d’un an sans randonnées rollers officielles le jeudi soir à Rennes, la reprise a enfin eu lieu!

La préfecture exigeait en effet une voiture en tête de cortège en plus de la voiture balai. C’est maintenant chose faite et les randonnées reprennent :) Nous étions une soixantaine jeudi dernier pour un parcours de 21km.

Pour nous rejoindre, le rendez-vous a lieu le jeudi à 20h30 sur le Mail Anne-Catherine, près du Boulevard de la Tour d’Auvergne. Départ vers 20h45.

Merci à Rennes Rollers!

Allers et retours au Garage de l’Arrivée à Rennes

Sep 07, 2009 | Divers

Le 18 Août, je récupérais ma voiture (206 HDI) au Garage de l’Arrivée à Rennes.

J’avais déposé celle-ci le matin en révision pour les 200 000 km et pour un problème de poulie vilebrequin qui faisait un bruit d’enfer car elle avait du jeu. Elle a fini de se détacher quelques centaines de mètres avant d’arriver au garage me laissant seulement le “doux” bruit du moteur, le voyant de batterie allumé au tableau de bord, et l’absence nouvelle de direction assistée. La poulie vilebrequin se trouve à la “sortie” du moteur et entraîne l’alternateur grâce à une courroie (la courroie d’alternateur).

Cette poulie avait déjà été remplacée en 2006 dans un autre garage Peugeot à Rennes…

Premier bilan de cette journée du 18 Août, révision + changement des disques et plaquettes de frein avant + poulie d’alternateur = 737 euros.

À peine reparti du Garage de l’Arrivée, un bruit se fait entendre à l’avant, côté conducteur. Bruit qui existait sans doute déjà avant mais que je n’avais jamais remarqué, probablement à cause du bruit croissant que faisait la poulie vilebrequin avant de se détacher.

Retour au garage, le garagiste l’essaie, ah oui, il y a un bruit. La voiture retourne dans l’atelier, et effectivement il y a un jeu au niveau d’une biellette. La pièce est changée dans la foulée et on ne me fait pas payer la main d’œuvre. Il y en avait pour 10 minutes environ, mais tout cela m’aura bien fait perdre une bonne demi-heure.

Aujourd’hui, ma compagne utilisait ma voiture, et a été obligée de retourner au garage. La courroie d’alternateur était complètement déchiquetée et ne faisait plus son office. Le garage a pris la réparation à ses frais, la moindre des choses de mon point de vue si on tient compte du dérangement.

N’ayant donné aucun papier à ma compagne certifiant la réparation, j’ai appelé le Garage de l’Arrivée pour qu’il m’envoie un papier et faire part de mon insatisfaction sur 3 points :

  1. sortir du garage avec un bruit sur une voiture pour laquelle on a demandé une révision, ça ne me paraît pas acceptable.
  2. le garage ne m’a pas signalé que le feu anti-brouillard arrière ne fonctionnait pas (c’est un problème de connecteur qui ne tient que quelques km après l’avoir rebranché). Norauto lors de ma dernière vidange (oui, je suis feignant :p) au moins me l’avait signalé. Certes il m’avait dit que l’ampoule était grillée et c’était donc trompé de diagnostic, mais au moins, le travail de vérification était fait.
  3. et enfin, ce problème de courroie qui intervient très peu de temps après une réparation touchant directement à cette zone.

Le Garage de l’Arrivée, j’aimerai bien ne plus avoir besoin d’y revenir!

Jouons avec les unsigned int en C

Jul 17, 2009 | Informatique

Mixer des entiers signés (int) et non signés (unsigned int) en C ou C++ est une bonne manière de se tirer dans le pied…

Petite démonstration :

[c]
#include <stdio.h>

int main()
{
  int ref = -6;
  int a = 4;
  unsigned int b = 4;

  int x = 0;
  unsigned int y = 0;

  if (ref + a == ref + b)
    printf("ref + a == ref + b\
");

  printf("ref + a = 0x%x\
", ref + a);
  printf("ref + b = 0x%x\
", ref + b);

  if (ref + a > x)
    printf("ref + a > x\
");
  if (ref + b > x)
    printf("ref + b > x\
");

  if (ref + a > y)
    printf("ref + a > y\
");
  if (ref + b > y)
    printf("ref + b > y\
");

  if (ref + a > 0)
    printf("ref + a > 0\
");
  if (ref + b > 0)
    printf("ref + b > 0\
");
}

Enregistrons le tout dans un fichier nommé test.c, puis compilons avec la commande suivante :

$ g++ -Wall -Wextra test.c -o test
test.c: In function ‘int main()':
test.c:12: attention : comparaison entre des expressions entières signée et non signée
test.c:20: attention : comparaison entre des expressions entières signée et non signée
test.c:23: attention : comparaison entre des expressions entières signée et non signée

Notons les jolis avertissements qui s’affichent pour les lignes 12, 20 et 23 et testons maintenant l’exécution :

$ ./test
ref + a == ref + b
ref + a = 0xfffffffe
ref + b = 0xfffffffe
ref + b > x
ref + a > y
ref + b > y
ref + b > 0

Le test (ref + a == ref + b) retourne vrai, et en effet, comme on peut le voir en dessous, la représentation binaire (ici en hexadécimale) est identique dans les 2 cas. Tous les autres tests auraient dû échouer : -6 + 4 == -2, ce qui est inférieur à 0. On est tous d’accord ;)

Et pourtant, à chaque fois qu’un entier non signé était présent dans l’expression evaluée, le résultat s’explique mais est pour le moins surprenant. 4 résultats surprenants, mais seulement 2 avertissements correspondants…

Bon débuggage…

PS : l’avertissement à la ligne 12 concerne l’évaluation de ref + a == ref + b.