Jean

Jean

This user hasn't shared any profile information

Posts by Jean

[Astuce] Monter une image disque VirtualBox sous Linux

0

Introduction

J’ai besoin de transférer des fichiers lourds (quelques Gio) depuis le disque dur virtuel d’une machine VirtualBox vers la machine hôte. La machine virtuelle est sous Windows, mais les additions invités ne fonctionnent pas, et je ne désire pas modifier la configuration réseau pour mêler mon réseau local à celui de la machine virtuelle. Pour pouvoir transférer mes fichiers, je vais donc devoir monter l’image disque de ma machine virtuelle.

Émuler un périphérique bloc

Sous Linux, une manière de créer des périphériques blocs dynamiquement est de recourir au module noyau nbd. NBD est un protocole similaire à iSCSI, qui permet de créer des périphériques blocs à partir d’un serveur. On charge le module nbd avec la commande suivante :

sudo modprobe nbd max_part=8

Vous devriez voir apparaître plusieurs entrées nbd0, nbd1, etc. dans le répertoire/dev.

On cherche à faire de notre image disque VirtualBox un périphérique bloc, et pour ce faire, nous allons utiliser le serveur NBD qemu-nbd (sur certaines distributions, il est contenu dans un paquet qemu-utils). On le lance ainsi :

sudo qemu-nbd --connect=/dev/nbd0 monimagedisque.vdi

Si vous inspectez encore une fois le répertoire /dev, de nouvelles entrées sont arrivées pour représenter les différentes partitions contenues dans l’image disque, sous la forme nbd0p0, nbd0p1, etc.

Monter les partitions

Dans mon cas l’image contient deux partitions (la première contient le bootloader, la seconde l’OS et mes données), et je ne vais monter que la seconde (nbd0p1). On commence par créer un dossier dans lequel sera monté la partition :

sudo mkdir /mnt/vbpart1

Ensuite on peut monter la partition avec la commande mount :

sudo mount /dev/nbd0p1 /mnt/vbpart1

Si la commande mount s’exécute correctement, vous devriez pouvoir accéder aux fichiers de la partition dans le point de montage que vous avez configuré.

Démonter les partitions et arrêter le serveur nbd

La procédure à suivre se déroule en deux étapes. D’abord on démonte la ou les partitions montées :

sudo umount /dev/nbd0p1

Une fois toutes les partitions démontées du périphérique nbd0, on peut procéder à l’extinction du serveur NBD :

sudo qemu-nbd -d /dev/nbd0

[Sans contact] Un lecteur/encodeur RFID pour moins de 10€

0

J’avais besoin d’un lecteur/encodeur RFID pour un projet personnel, alors je me suis renseigné sur internet, et j’ai vu beaucoup de recommandations pour le lecteur/encodeur ACR122U, qu’on trouve un peu partout (eBay, Amazon, etc.) pour une trentaire d’euros. Je trouvais cela cher pour un dispositif RFID, j’ai donc cherché une solution alternative plus économique.

La solution trouvée consiste à associer un module RFID destiné à des projets électroniques à base d’Arduino à un adaptateur USB-UART.

Module NFC

Il faut acheter un module NFC basé sur la puce PN532 mais attention, toutes les cartes ne sont pas identiques ! En effet, la puce PN532 peut être exploitée par 3 interfaces (I²C, SPI, UART), et en fonction du choix du fabricant, il est parfois uniquement possible d’utiliser une des trois interfaces. Pour ma part, j’ai le module ElecHouse rouge :

Il dispose de deux interrupteurs pour sélectionner le mode d’interface à utiliser (appelé HSU sur le module : High Speed UART). On le trouve pour environ 5€ en provenance de la Chine.

Adaptateur USB-UART

Votre ordinateur étant peu probablement doté d’une interface UART accessible (sauf si vous utilisez un ordinateur embarqué, type Raspberry Pi), il nous faudra une interface USB-UART. On en trouve pour quelques euros sur internet. J’utilise pour ma part un adaptateur basé sur la puce FT232R :

Connection électrique entre adaptateur USB-UART et carte NFC

À l’aide d’un cable mâle-mâle, il faut effectuer les connexions suivantes :

  • VCC UART -> VCC NFC
  • GND UART -> GND NFC
  • TX UART -> RX NFC
  • RX UART -> TX NFC

Si votre adaptateur est doté d’un cavalier permettant la sélection de la tension VCC, mettez-le en position 3V3. Sinon assurez-vous que votre adaptateur avec des niveaux de tension 0-3V3.

Configuration pour l’utilisation avec libnfc

Sur Linux, la majorité des outils permettant de travailler sur le NFC sont écrits avec la bibliothèque libnfc (installée par défaut sur Kali Linux, disponible dans les dépôts Fedora). Pour pouvoir utiliser notre lecteur/encodeur avec libnfc, il va falloir créer un fichier de configuration.

On va d’abord avoir besoin de connaître le nom du fichier de l’adaptateur USB-UART. En ayant l’adaptateur débranché, listez les périphériques série sur votre système avec la commande :

ls /dev/tty*

Branchez l’adaptateur et répétez l’opération. La nouvelle entrée correspond à celle de votre adaptateur (par exemple dans mon cas /dev/ttyUS3).

Dans le dossier /etc/nfc/devices.d/, créez un fichier monrfid.conf (le nom du fichier importe peu, l’extension par contre oui), en prenant soin de remplacer le chemin du fichier de votre adaptateur USB-UART :

name = "Mon adaptateur RFID maison"
connstring = "pn532_uart:/dev/ttyUSB3"

Votre lecteur/encodeur NFC est prêt à être utilisé !

[Apple] Installer iWork sur iOS 5.1.1

0

Je possède un iPad de première génération qui est destiné à rester sous iOS 5.1.1, la dernière version d’iOS pour ce modèle d’iPad. Cette version est sortie il y a plus de 5 ans, et inévitablement le support logiciel est quasiment mort : il n’est plus possible de publier des applications compatibles avec cette version d’iOS. C’est malheureux, mais dans la mesure où les capacités matérielles de cet iPad étaient limitées, ce n’est pas trop aberrant.

Je voulais y installer la suite iWork (Pages, Numbers, Keynote) de manière à pouvoir l’utiliser comme un outil d’appoint pour rédiger des documents en mobilité, mais il n’est pas possible de procéder directement depuis l’iPad : on nous indique qu’il est trop vieux.

La solution consiste à passer par iTunes, sur Mac dans mon cas, pour bidouiller les requêtes qui interviennent lors du téléchargement de l’application.

Attention : il n’est plus possible de télécharger d’applications sur l’App Store iOS depuis iTunes à partir de la version 12.7!

Installation d’un proxy pour modifier des requêtes

L’idée est d’intercepter les requêtes vers l’iTunes Store pour changer le External Version Identifier (l’identifiant attribué à chaque version d’un logiciel distribué sur l’App Store). Pour ce faire nous utiliserons Charles, un proxy. Ce logiciel est payant ($50) mais la version gratuite suffit amplement.

Une fois l’application Charles lancée, vous devrez lui accorder les privilèges administrateurs pour qu’elle puisse intercepter les communications internes à votre ordinateur.

Nous allons devoir intercepter des communications chiffrées (SSL), donc il faut importer le certificat autogénéré de Charles, sinon iTunes rechignera à communiquer avec l’iTunes Store. Rendez-vous dans Help > SSL Proxying > Save Charles root certificate, sauvegardez le certificat quelque part, puis importez-le dans le trousseau.

Ensuite, exportez le certificat importé dans le trousseau au format .cer, et tapez la commande suivante pour l’ajouter en tant que certificat vérifié :

sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" /chemin/vers/mon/certificat.cer

Modifier les requêtes vers l’iTunes Store

Lancez un téléchargement d’application quelconque depuis iTunes. Vous devriez observer l’apparition d’une ligne vers un serveur dont le nom de domaine est formatté ainsi : ***-buy.itunes.apple.com. Faites un clic droit dessus puis sélectionnez Enable SSL Proxying. Cela va faire en sorte à ce que les communications SSL soient interceptées.

Lancez à nouveau un téléchargement d’application depuis iTunes. Dépliez l’arbre du serveur ***-buy.itunes.apple.com (WebObjects > MZBuy.woa > wa > buyProduct) et faites un clic droit sur buyProduct pour sélectionner Breakpoints. Cela va avoir pour effet de mettre en attente chaque requête vers buyProduct, pour pouvoir modifier son contenu.

Lancez à présent le téléchargement d’une application de la suite iWork, par exemple Pages. Charles va s’activer et vous proposer de modifier la requête. Cliquez sur l’onglet XML Text, et modifiez la valeur de appExtVrsId. Vous devez utiliser les valeurs suivantes :

  • Pages 1.7.2 : 14498879
  • Numbers 1.7.3 : 16806622
  • Keynote 1.7.2 : 14498877

Cliquez ensuite sur Execute, cela vous sera demandé plusieurs fois. Le téléchargement de l’application devrait commencer, et vous pourrez devriez vous retrouver avec l’application souhaitée dans vos téléchargements iTunes.

[Palm] Emettre des codes infrarouge « Pronto » avec un Palm

0

Une histoire rocambolesque : j’avais besoin de tester une prise antenne dans un logement, et pour cela me suis muni d’un décodeur TNT. Pour lancer une recherche de canaux télévisuels, il faut une télécommande. Je n’avais pas à ma disposition de piles adéquates pour mettre dans la télécommande, et ai donc dû improviser avec un Palm TX…

Dans cet article, nous allons donc émuler une télécommande infra-rouge à l’aide d’un Palm en se servant de codes pour télécommande Philips Pronto en hexadécimal. Dans mon cas, il proviennent de la fabuleuse base de données irdb.tk.

Il n’existe pas (à ma connaissance) de méthode permettant d’entrer directement des codes infrarouges dans une application Palm pour les émettre. Nous allons donc bidouiller avec plusieurs logiciels pour parvenir à notre objectif.

(suite…)

[Astuce] Charger un MacBook sans chargeur MagSafe

0

Attention : Le présent article détaille une bidouille à caractère expérimental, pouvant porter atteinte au bon fonctionnement de votre ordinateur. Agissez à vos risques et périls.

Voici un bref article qui traite de l’alimentation d’un MacBook (Pro, Air, ou « MacBook » tout court) sans recourir au chargeur Apple fourni dans la boite de votre Mac.

Cela est utile à des fins de diagnostics (pour pouvoir analyser la consommation en courant), à des fins de bidouilles (quand on ne dispose pas du chargeur complet mais qu’on a une alimentation ajustable sous la main) et pour recharger un Mac sur une installation électrique basse tension.

Se procurer un cable MagSafe

Le connecteur MagSafe n’étant pas standardisé, la seule manière de s’en procurer un est d’acheter un cable de remplacement pour réparer un chargeur MagSafe, ou de le récupérer sur un chargeur cassé (en espérant que le cable et le connecteur soient intacts). On en trouve pour une dizaine d’euros sur Amazon : MagSafe 1 – MagSafe 2

Si on souhaite à la fois utiliser du MagSafe 1 et MagSafe 2, on pourra très bien se tourner vers un cable MagSafe 1, et utiliser l’adaptateur MagSafe 2. Cela évite de posséder deux cables. (suite…)

[Test] Gablys : le porte-clé (dé)connecté

0

L’été dernier, j’ai participé avec des amis au black badge challenge de la Nuit du Hack (notre compte rendu d’ailleurs  disponible ici). La dernière étape de ce challenge était de faire de la rétro-ingénierie d’un firmware de porte-clef Gablys.

Quelques semaines plus tard, on m’a donné une carte cadeau dans une boutique qui vendait des « objets connectés » et « accessoires tendances ». Déçu du manque de choix singuler dans le catalogue de la boutique, je me suis rabattu sur deux porte-clefs Gablys, soldés à 10€ chacun. J’avais prévu à l’origine de les décortiquer et changer leur firmware (tout cela a été documenté), mais par manque d’idée pour un projet utilisant du Bluetooth 4.0 j’ai laissé tomber.

Encore quelques semaines plus tard, je me suis dit que peut-être je devrais laisser une chance au Gablys tel quel. La promesse de pouvoir retrouver ses objets à partir de son smartphone m’intrigue.

Le Gablys au porte-clef

Le Gablys est un petit galet qu’on peut accrocher à son porte-clef grâce à son trou. Il est un peu plus volumineux qu’un badge Vigik, d’un encombrement à peu près raisonnable (on peut avoir un Gablys dans ses poches sans avoir l’air suspicieux). Son boitier est en plastique et se raye facilement (cela dit ce n’est pas un problème pour moi). Le boitier est légèrement souple, ce qui permet d’actionner un bouton en le pressant. (suite…)

[Découverte] Monter des images DMG sous Linux avec darling-dmg

0

Si vous êtes un ancien utilisateur de Macintosh, il y a de fortes chances que vous ayez quelques images au format DMG qui traînent quelque part, sur un vieux disque dur ou sur des CD.

Jusqu’ici, la seule méthode pour monter une image disque DMG consistait à convertir l’image DMG en ISO (avec dmg2iso), puis monter la partition HFS+ de l’image ISO (avec le module noyau hfsplus). C’est un processus fastidieux et qui nécessite les privilèges root, mais qui a le mérite d’exister ; si vous êtes curieux, je vous invite à lire cette question sur Ask Ubuntu.

J’ai découvert récemment l’utilitaire darling-dmg qui permet de monter des images DMG très simplement sous Linux. darling-dmg se présente sous la forme d’un pilote FUSE (Filesystem in UserSpacE, système de fichier en espace utilisateur) : plutôt que de créer un module noyau pour implémenter le système de fichier, un pilote FUSE est un programme qui est exécuté par l’utilisateur. Cela ouvre la porte à des systèmes de fichiers farfelus, comme par exemple GmailFS qui permettait d’utiliser sa boîte Gmail comme un espace de stockage, mais cela permet aussi de limiter les kernel panics quand le pilote plante, ce qui arrive parfois avec le module hfsplus…

darling-dmg est un sous-projet du projet Darling. Ce projet à pour vocation de permettre aux linuxiens de faire tourner des applications compilées pour Mac OS X, un peu à la manière de Wine. (suite…)

[iSeries] En route pour la haute normandie !

0

Chez LabCellar on fait souvent la traque aux AS/400 et autres iSeries dans l’espoir d’agrandir notre petite collection. Et c’est souvent l’occasion de vivre une aventure : il y a un an et demi nous avions mis à rude épreuve les amortisseurs d’un monospace avec un gros 9406-820 (et sa baie de disques FC5074), puis exploré les abysses de la Seine-et-Marne pour un 9402-400 Advanced 36. Ensuite nous avons atterri dans le pays du Manneken Pis pour aller chercher un 9406-520, et enfin visité un laboratoire médical de nuit, dont le propriétaire se débarrassait d’un 9405-520.

Dès qu’une occasion se présente à nous, nous nous empressons de la saisir car les AS/400 et iSeries sont très rares sur le marché de l’occasion en France, encore plus en dehors des circuits de revente destinés au professionnels. Cette fois-ci, nous nous sommes rendus en Haute Normandie, où non pas un, mais deux systèmes AS/400 et i5 nous attendaient. (suite…)

[Audio] Réparation d’un Bose Wave Music System

1

J’ai eu l’occasion récemment de trouver un chouette petit combiné radio/CD Bose Wave System pour un prix intéressant sur LeBonCoin. Le vendeur indiquait que le produit avait un soucis au niveau du lecteur CD, qui ne laisser aucun CD passer à l’intérieur.

En effet, après avoir ramené le Wave Music System à la maison, et l’avoir branché, on n’arrive pas à insérer de CD sans forcer, et la moindre insertion de CD crée des rayures dessus. Épris d’une envie soudaine d’écouter des CD sur cet appareil, je me suis lancé dans une tentative de réparation !

Démontage du Wave Music System

Il existe une vidéo YouTube qui monte le démontage en images, mais si vous détestez les vidéos, voici mes instructions textuelles pour le démontage :

En guise d’outillage, je me suis servi de tournevis Philips PH2 et PH1, et une petite pince plate à bout long.

Commencez par retourner le Wave Music System, et dévissez les 5 vis PH2 apparentes. Remettez le Wave Music System dans son orientation normale, et soulevez le capot qui devrait bouger sans résistance. (suite…)

[Sysadmin] Un live CD pour détecter la configuration d’un PC

0

Nous avons acheté il y a quelques années une dizaine d’ordinateurs Dell Optiplex 745 et 755, que nous utilisions pour différents usages : consultation de notre programme d’inventaire, navigateur web d’appoint, etc. A présent nous entamons une migration de ces postes vers des clients légers Dell Optiplex FX160, afin d’économiser sur la consommation électrique, et aussi pour nous simplifier l’administration informatique de ces postes.

N’ayant pas d’utilité pour ces ordinateurs, nous souhaitons les vendre pour faire un peu de place. Hélas les configurations de ces machines nous étant inconnues (en partie liés aux upgrades par petites touches, qui ne contribuent pas à l’homogénéité du parc), il convient de dresser un inventaire des caractéristiques de chaque machine avant de procéder à la vente.

Le nombre de PC à traiter étant important, j’ai cherché sur le web une manière plus simple de dresser la configuration matérielle d’une machine que de faire tourner une distribution Linux en Live CD ou Live USB, ce qui prend un temps non négligeable à démarrer. (suite…)

Jean's RSS Feed
Go to Top