Configuration de VirtualBox avec l’interface phpVirtualBox

Pour installer VirtualBox sur un serveur dédié sous ubuntu 10.04 il faut tout d’abord ajouter le dépot au fichier /etc/apt/sources.list :
deb http://download.virtualbox.org/virtualbox/debian lucid contrib
Et ensuite installer les clés du dépot :
$ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
Mettre à jour la liste des paquets
$ sudo apt-get update
Et installer VirtualBox ainsi que php5 pour apache2 :
$ sudo apt-get install virtualbox-4.0 libapache2-mod-php5

Il faut ensuite créer le fichier /etc/vbox/vbox.cfg et y ajouter une ligne contenant
VBOXWEB_USER=l_utilisateur_de_virtualbox

Passons ensuite à l’installation de l’interface graphique en php grâce à phpVirtualBox :
$ cd /var/www/
$ sudo wget "http://sourceforge.net/projects/phpvirtualbox/files/Older versions/phpvirtualbox-4.0-7.zip"
$ sudo unzip phpvirtualbox-4.0-7.zip
$ cd phpvirtualbox-4.0-7

Il faut modifier le fichier config.php en y modifiant les lignes
var $username = 'votre_login';
var $password = 'votre_mot_de_passe';
var $language = 'fr_fr';
var $consoleHost = 'adresse_ip_du_server';

Il ne reste ensuite plus qu’à télécharger et installer le pack d’extension propriétaire d’Oracle pour VirtualBox :

$ wget http://download.virtualbox.org/virtualbox/4.0.2/Oracle_VM_VirtualBox_Extension_Pack-4.0.2-69518.vbox-extpack
$ sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.0.2-69518.vbox-extpack

Et voilà, vous avez VirtualBox fonctionnel accessible sur http://adresse_ip_du_server/phpvirtualbox-4.0-7

Si plus tard vous voulez mettre à jour le pack d’extension propriétaire d’Oracle il suffit de faire :
$ sudo VBoxManage extpack uninstall "Oracle VM VirtualBox Extension Pack"
$ sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.0.10-72436.vbox-extpack

Installation d’un serveur Linux à partir d’une liaison série

Voici un petit tutoriel sur l’installation d’une Ubuntu 10.04.1 sur un serveur ne disposant pas de carte graphique mais d’une redirection de la sortie vidéo sur le port série. Cellui-ci est configurée en 57600 baud, sans parité et sur 8 bits.

Pour accéder au serveur sur la liaison série j’utilise minicom.

J’ai tout d’abord récupéré un cd d’installation minimale d’ubuntu.

J’ai ensuite utilisé l’utilitaire UNetbootin pour copier le cd sur une clé usb, le serveur ne disposant pas de lecteur de CD.

Il faut ensuite modifier le fichier syslinux.cfg sur la clé en replaçant son contenu par :
DEFAULT linux
LABEL linux
SAY Now booting the kernel from SYSLINUX...
KERNEL linux
APPEND initrd=initrd.gz nosplash console=ttyS0,57600n8

L’installation d’ubuntu commence ensuite.

Modification d’un bios Award pour y rajouter un microcode Intel

Dans cet article nous verrons comment modifier certains BIOS Award pour ajouter ou mettre à jour un microcode de processeur non compressé.
Attention, faire ceci peut être dommageable et empêcher le démarrage de votre ordinateur, il est conseillé de pouvoir reflasher le bios grâce à un programmateur externe, par exemple mon programmateur de SPI.

Pour commencer nous allons récupérer les microcode Intel puis les mettre sous une forme compréhensible par le bios, pour cela il faut se rendre sur le site http://downloadcenter.intel.com/, dans mon cas j’ai sélectionné Processors=>Desktop=>Intel Core 2 Quad Processor puis le microcode Linux* Processor Microcode Data File
J’ai ensuite récupéré un petit logiciel permettant de transformer ce fichier, il est disponible ici.

Il vous suffit de le compiler puis de le lancer avec comme paramètre le fichier de microcode précédemment téléchargé, vous aurez ainsi tous les fichiers sous la forme voulue.

Celui qui m’intéresse pour mon Q9400 est cpu0001067a_plat00000011_ver00000a0b_date20100928.bin.

J’ouvre maintenant mon fichier bios.bin avec ghex2 et recherche *ALIN16* pour trouver la longueur totale des microcodes dans mon bios qui est 00B00100 donc en hexa 0x0001B000

Pour trouver l’emplacement du premier microcode il suffit de prendre l’adresse d’*ALIN16* moins la longueur, cela nous donne :
0x1EDFE00x1B000 = 0x1D2FE0

Vue que mon microdode a une taille de 8192 octet, en hexa ça nous fait 0x2000, je vais donc insérer le mien à 0x1D0FE0, après avoir vérifié qu’il n’y a rien (à part une suite de 0xFF), pour cela j’utilise la commande dd :

Pour simplifier la suite je convertis les données hexa en décimale :
0x1D0FE0 = 1904608
0x1D2FE0 = 1912800
0X1EDFE0 = 2023392
0x1B000 = 110592

J’extrais ensuite les microcodes du bios :
$ dd if=bios.bin of=NCPUCODE.bin ibs=1 skip=1912800 count=110592
Puis je rajoute le mien au début :
$ cat cpu0001067a_plat00000011_ver00000a0b_date20100928.bin >NCPUCODE.tempo.bin
$ cat NCPUCODE.bin>>NCPUCODE.tempo.bin
$ mv NCPUCODE.tempo.bin NCPUCODE.bin

Je calcule donc le nombre de bits du bios à copier pour insérer le microcode modifié dans le bios :
1912800−8192=1904608
Je copie le bios avant microcode dans un fichier debut.bios.bin
$ dd if=bios.bin of=debut.bios.bin ibs=1 count=1904608
Et la fin après le microcode dans fin.bios.bin
$ dd if=bios.bin of=fin.bios.bin ibs=1 skip=2023392
Je recopie enfin le tout dans un nouveau fichier bios bios.mod.bin
$ cat debut.bios.bin > bios.mod.bin
$ cat NCPUCODE.bin >> bios.mod.bin
$ cat fin.bios.bin >> bios.mod.bin

Il faut ensuite changer la taille du microcode au niveau de la chaine *ALIN16* où nous l’avions trouvé tout à l’heure(cf image précédente), dans mon cas en remplaçant 00B00100 par 00D00100 qui est l’ancienne chaine plus 0x2000 qui est la taille du microcode rajouté, j’ai aussi modifié l’emplacement du début du microcode en recherchant la chaine *BS1 pour trouver 0E2F qui correspond à 0x1D2FE0, que je remplace par 0E0F toujours grâce à la longueur du microcode(cf image).

Voilà vous avez un bios modifié, mais pas encore flashable car il faut modifier le checksum, pour cela je vais utiliser l’outil CBROM32_198.EXE avec wine :

$ wine ./CBROM32_198.EXE bios.mod.bin /NC_CPUCODE NCPUCODE.BIN

Ça y est, le bios est modifié et prêt à être flashé pour faire la mise à jour.

Reprogrammer un bios de type SPI

Il peut arriver que suite à une mise à jours ou des modifications de bios, votre ordinateur ne démarre plus, il est possible de reprogrammer simplement et à peu de frais certains bios.

Montage Bus Pirate

Il est possible d’utiliser le Bus Pirate pour reprogrammer un bios de type SPI, dans cet exemple le MX25L1605D d’une carte ASUS P5Q-Deluxe.
flashrom 0.9.9 est compatible avec le Bus Pirate.

Pour lire le composant (cela peut rester bloqué sur Reading flash… quelques minutes, il faut patienter.
$ flashrom -p buspirate_spi:dev=/dev/ttyUSB0 -c "MX25L1605D/MX25L1608D/MX25L1673E" -r dump.bin
flashrom v0.9.9-r1954 on Linux 4.8.0-42-generic (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Calibrating delay loop... OK.
Found Macronix flash chip "MX25L1605D/MX25L1608D/MX25L1673E" (2048 kB, SPI) on buspirate_spi.
Reading flash... done.

Pour reprogrammer le composant :
$ flashrom -p buspirate_spi:dev=/dev/ttyUSB0,spispeed=1M -c "MX25L1605D/MX25L1608D/MX25L1673E" -w P5Q-ASUS-DELUXE-2301.ROM
flashrom v0.9.9-r1954 on Linux 4.8.0-42-generic (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Calibrating delay loop... OK.
Found Macronix flash chip "MX25L1605D/MX25L1608D/MX25L1673E" (2048 kB, SPI) on buspirate_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.

Montage Sergey

Dans cet exemple nous verrons le cas d’un bios stoqué sur un composant SST25VF016B.

Pour le programmer j’ai utilisé le montage et le logiciel décrit sur ce site de Sergey

Une fois le montage effectué et le programme compilé ça donne un truc du genre :

$ sudo ./spi_programmer id
Device ID: 0xbf2541

On a donc bien le Device ID (il ne doit ni être 0x0 ni 0xffffff).

Il faut ensuite effacer le composant :

$ sudo ./spi_programmer erase

Puis programmer avec le fichier du bios :

$ sudo ./spi_programmer write bios.bin

Pour être sur de bien avoir programmé je conseille une relecture de celui ci et un diff avec le fichier original :

$ sudo ./spi_programmer read bios.prog.bin

$ vbindiff bios.bin bios.prog.bin

S’il n’y a aucune différence entre les fichiers c’est que ça a bien été programmé.

Et voilà, il ne vous reste plus qu’à ressouder la puce sur votre carte mère et à démarrer normalement.

PS: chez moi le montage de type RayeR ne fonctionnait ni avec flashrom 0.9.3 ni avec son programme SPIPGM, les données programmées et lues n’étaient pas les bonnes, c’est pour cela que je suis passé sur le montage de Sergey avec un buffer inverseur 4049.

Supprimer une partition CDFS d’une clé usb

Pour supprimer la partition CDFS d’une clé maxell 8Go j’ai commencé par un petit lsusb qui me donne :

13fe:3121 Kingston Technology Company Inc.

J’ai du passer sous Windows pour lancer ChipGenius, ce qui m’a donné le nom du fabricant : Phison mais pas le chip, j’ai donc cherché sur internet différents programmes et trouvé le logiciel MPALL v2.01.00.

Il faut le lancer puis cliquer sur update, ensuite start et voilà, une clé toute neuve prête à être formatée.

Réinstallation Freecom FSG-3

Un ami m’a passé un FSG3 qui ne démarrait plus, et qui affichait lors de la procédure de recovery le message « loading firmware not possible, stopped ».

Après plusieurs tests, il s’est avéré que cela venait de l’alimentation du boîtier qui délivre par défaut 1A en 12v, le fait de passer sur une alimentation 12v 3.33A a permis au boîtier de démarrer.

Pour repartir sur de bonnes bases il faut formater le disque dur en 4 partitions primaires :

Une reiserfs de 133Mo ou plus avec le flag boot.

Une seconde reiserfs de 133Mo ou plus

Une troisième de 70Mo ou plus en Swap linux

Et une dernière reiserfs occupant le reste du disque dur.

Il faut ensuite lancer sur un pc Windows XP le logiciel FSGA et cliquer sur « Commencer la procédure de récupération », qui ouvrira une nouvelle fenêtre.

Brancher un câble réseau entre votre pc Windows XP et le FSG3.

Ensuite appuyer sur le bouton Reset du FSG3, brancher l’alimentation tout en maintenant ce bouton et le relâcher 10-15 secondes plus tard.

La procédure devrait prendre quelques minutes et votre boîtier devrai être comme neuf.

Les login et mot de passe par défaut sont admin/admin et le mot de passe root est loginasrootisrisky

Mettre à jour son processeur intel sous Linux

Sur la plupart des processeurs Intel, il est possible de mettre à jour le microcode pour corriger quelques problèmes ou améliorer le fonctionnement du processeur. Cette mise à jours est le plus souvent faite par le bios mais il se peut qu’il n’ait pas la dernière version.

Il existe une méthode simple et sans danger qui permet de mettre à jour ce microcode à chaque démarrage (rien n’est écrit en dur dans le processeur) sous une distribution Ubuntu/Debian, il suffit d’installer un simple paquet.

Nouvelle méthode : iucode tool

# apt-get install iucode-tool intel-microcode

Le microcode sera chargé par le noyau le plus tôt possible.
Il est possible de mettre à jour les firmware en les téléchargent sur le site d’intel pour remplacer ceux fournis par la distribution :
wget https://downloadmirror.intel.com/27431/eng/microcode-20180108.tgz
tar xvzf microcode-20180108.tgz
sudo cp intel-ucode/* /lib/firmware/intel-ucode/

Pour une prise en compte, il faut éditer le fichier /etc/default/intel-microcode pour activer la génération de l’initramfs.

Ancienne méthode : microdecode.ctl

# apt-get install microcode.ctl

Un script sera lancé à chaque démarrage pour mettre à jour ce microcode.

Ouverture sélective des portes avec VAG-COM/VCDS Lite

Il est possible d’activer le déverrouillage sélectif des portes : un appui sur la télécommande ouvre la porte conducteur, le 2e ouvre toute la voiture, pour cela il suffit de suivre la procédure suivante :

Sélectionner=> « 46 – Verrou. cent. »
Cadre de gauche => Sélectionner => « Recode »

Vous avez ensuite un chiffre en fonction du nombre de portes et de vitres électriques :

  • 2 portes/2 fenêtres électriques :
    • 00064 = Ouverture sélective
    • 00065 = Déverrouillage de toutes les portes
  • 4 portes/2 fenêtres électriques :
    • 00066 = Ouverture sélective
    • 00067 = Déverrouillage de toutes les portes
  • 4 portes/4 fenêtres électriques :
    • 00258 = Ouverture sélective
    • 00259 = Déverrouillage de toutes les portes

Démarrer une alimentation ATX avec un trombone

Il suffit de relier le fil vert au fil noir comme sur l’image suivante :

Anti Car Jacking sur Golf IV avec VAG-COM/VCDS Lite

Il est possible d’activer le verrouillage automatique des portes lorsque l’on roule, il suffit de suivre la procédure suivante :

Sélectionner=> « 46 – Verrou. cent. »
Cadre de gauche => Sélectionner => « Adaptation »

1= Activé 0= Non activé

Canal 03: Verrouillage auto dès que la voiture dépasse 20 km/h
Canal 04: Déverrouillage auto quand vous enlevez la clé du contact
Canal 05: Beep klaxon lors du déverrouillage à distance
Canal 06: Beep klaxon lors du verrouillage à distance
Canal 07: Activation clignotants lors du déverrouillage à distance
Canal 08: Activation clignotants lors du verrouillage à distance