Skip directly to content

Modifier le système dans le FW

Portrait de zozodesbois
on jeu, 16/12/2010 - 14:03
  1. Principe
  2. Yaffs, c'est quoi ça ?
  3. Prérequis
  4. Dés-archiver le système de la Box
  5. Un nouveau Firmware avec vos modifs

Principe

Nous allons voir ici comment mettre à plat le fichier yaffs2_1.img qui contient le système Linux du Firmware
Le but: non traité ici, sera d'ajouter un lien, modifier des mots de passe, changer des paramètres de config etc... et d'avoir ainsi son propre FW.

On peut aussi se contenter de la première partie pour récupérer des éléments d'un firmware différent pour le tester sur notre Box, comme le player DVD par exemple. Ce sera un autre sujet.

Attention tout de même à ce que vous faites, c'est le système de votre Box que vous avez entre les mains !

Nous allons utiliser des outils Yaffs...

Yaffs, c'est quoi ça ?

Pour simplifier, c'est un conteneur qui permet de sécuriser les fichiers qu'il contient et qui va être écrit dans la mémoire Flash de notre Box dans la zone où est stocké le système.

Prérequis

Récupérer les commandes suivantes

  • unyaffs
  • mkyaffs2image

Elles sont disponibles ici
Sous Linux, il est préférable d'utiliser les versions pré-compilées dans les archives, mais vous pouvez vous amuser à compiler les sources.

Sur Ubuntu, utilisez la commande suivante pour installer le pack qui contient tous ces outils

sudo apt-get install squashfs-tools

La partie dés-archivage peut se faire sur Windows, mais je n'ai pas poussé plus loin mes tests avec Windows et mkyaffs2image n'a pas de sens sous Windows. Les fichiers sont avec des droits Linux et les liens vont être cassés sous Windows.
Le meilleur environnement de travail c'est d'utiliser VitualBox (même en étant sous Linux). Autre alternative sous Windows, c'est d'utiliser Sigwin.

enlightenedPour se mettre dans un environnement Linux vous pouvez booter sur un CD live comme par exemple celui d'Ubuntu qui n'installe rien sur votre poste... ubuntu-fr.org

Dés-archiver le système de la Box

  1. Copier le fichier install.img (Firmware à modifier) dans un dossier.
  2. Puis sous Shell positionnez vous dans ce même dossier.
  3. Dés-archiver le contenu du FW (sous Windows, vous pouvez utiliser Winrar, ou 7zip)
mkdir tmp
cd tmp
tar xvf ../install.img
  1. Dés-archiver le contenu du système de la Box avec unyaffs
cd package2
mkdir tmp2
cd tmp2
/<chemin de unyaffs>/unyaffs ../yaffs2_1.img

Maintenant vous pouvez travailler le contenu de votre système, il se trouve dans tmp2 . Ajouter des liens etc... Geekez !!! cool

Un nouveau Firmware avec vos modifs

Nous allons re-constituer le fichier install.img (réalisable uniquement sous un environnement Linux)

  1. Se mettre dans tmp2 et changer le propriétaire des fichiers (pas sûre que ce soit réellement nécessaire, il faut tester au niveau sécurité)
sudo chown -R root:root *
  1. Se mettre dans package2
cd ..
  1. Yaffs du dossier système, changement des droits et ménage
sudo /<chemin de mkyaffs2image>/mkyaffs2image tmp2 yaffs2_1.img
sudo chmod 777 yaffs2_1.img
sudo rm -rf tmp2
cd ..
  1. Constituer le fichier Firmware, il va écraser le fichier install.img original et ménage
tar cvf ../install.img *
cd ..
rm -rf tmp
  1. Installez le nouveau Firmware obtenu (install.img) sur votre Box, selon la procédure habituelle en mettant le fichier install.img à la racine d'une clé Usb.

Vous avez aussi un petit script automatique qui permet de faire tout ça.

Votez: 
Pas encore de vote

Commentaires

Portrait de hellboy

J'ai trouvé une version windows ici pour unyaffs :

www.4shared.com/file/fgryPnPx/unyaffs-windows.html

décompresser l'archive

ouvrir une fenêtre dos et se placer dans le répertoire

ou se trouve unyaffs :

c:\[chemin d'accès unyaffs]\unyaffs.exe yaffs2_1.img

Portrait de zozodesbois

Je vais la tester et la mettre dans notre Download à nous. Le mieux serait que l'un d'entre nous compile les sources du site officiel sous Windows ou/et Mac...
@+

Portrait de Dom1066

Voici ce que j'ai dans Terminal:
domi@domi-VirtualBox:~/Bureau/TEMP/tmp$ cd package2
domi@domi-VirtualBox:~/Bureau/TEMP/tmp/package2$ cd tmp2
domi@domi-VirtualBox:~/Bureau/TEMP/tmp/package2/tmp2$ /Bureau/TEMP/unyaffs ../yaffs2_1.img
bash: /Bureau/TEMP/unyaffs: Aucun fichier ou dossier de ce type
domi@domi-VirtualBox:~/Bureau/TEMP/tmp/package2/tmp2$

Ou me suis-je trompé ?

[Hyundai MBox P3100S(FW:757)+ Sony KDL-32 EX500+ Edifier S330D+ Harmony 300]

Portrait de zozodesbois

Hé hé, il est à fond le Dom1066 !!! C'est cool, au moins quelqu'un qui valide les Tutos ! Ca permet de savoir si c'est bien compréhensible par tous...

domi@domi-VirtualBox:~/Bureau/TEMP/tmp/package2/tmp2$ /Bureau/TEMP/unyaffs ../yaffs2_1.img

Cette ligne de commande dit que tu dois avoir unyaffs sur ton Bureau dans un dossier TEMP (attention aux minuscules/Majuscules). et les ".." veulent dire que yaffs2_1.img doit être un cran en dessous de là ou tu es ~/Bureau/TEMP/tmp/package2/

Pour vérifier, tapes les commandes suivantes:

ls -l /Bureau/TEMP/unyaffs/yaffs2_1.img
ls -l ~/Bureau/TEMP/tmp/package2/yaffs2_1.img

Une piste possible, c'est que tu as mis /Bureau au lieu de ~/Bureau
Le ~ veut dire /home/<ton profil>/

zozodesbois

Portrait de Dom1066

Ok, ca roule ,c'était le ~
Grand merci!

[Hyundai MBox P3100S(FW:757)+ Sony KDL-32 EX500+ Edifier S330D+ Harmony 300]

Portrait de HardManBlue

J'ai suivi le tuto. Tout est OK sauf lorsque l'on veut refaire le tarfile car le fichier yaffs2.img n'est pas créé avec les bonnes autorisations et proprio. J'ai du refaire un coup de sudo chmod... Aprés ça roule. J'ai modifié les images des menus et ces foutus dossiers jaunes horribles + 2 ou 3 autres choses.... Si l'install se passe bien, les jpg sont bien lus, tous mes bmp ne le sont plus. Faut que je regarde quel est le format bmp d'origine pour les convertir...

HMB Movie Palace, 1 To en Interne, 2 x 2To en externe, Firmware V2.1 C757, of Course !

Portrait de HardManBlue

Perso je trouve que "sortir" le tmp2 à coté de l'arborescence est plus pratique. Je fais mes modifs dedans et ensuite je refais un yaff puis je le remet à sa place dans l'arborescence complete. Ca évite d'avoir à tout refaire...

HMB Movie Palace, 1 To en Interne, 2 x 2To en externe, Firmware V2.1 C757, of Course !

Portrait de thivame

etant novice peux tu m'expliquer plus en détail la maniere d'acceder a unyaffs par windows car la je suis a la rue rire

Portrait de zozodesbois

C'est bien Thivame, tu essayes !
Unyaff sous Windows se fait par ligne de commande sous Dos (cmd).
Mais la partie qui permet de reconstruire le Firmware sous windows est introuvable... à cause de la structure de l'arboressence des fichiers qui doit être du Linux.
Unyaff sous Windows te done juste accès au contenu, pour voir comment ça se présente.
Si tu veux allez jusqu'à recréer un Firmware, il vaut mieux installer VirtualBox qui te permétra d'avoir un environement Linux sous ton Windows. Tu pouras faire tes manips et tests sans rien risquer de casser sur ton Windows.