0

Android : « Read-only file system »

Sur un appareil de type tablette ou smartphone, installé avec le système d’exploitation Android en mode « rooté » (action de déverrouiller l’OS pour avoir le contrôle total de l’appareil avec l’utilisateur root, comme sous GNU/linux), il n’est pas possible de modifier les fichiers systèmes en mode CLI (Command line Interface) dans un terminal.

Lorsque l’utilisateur avancé souhaite modifier un fichier système sous le profile root, généralement le système affiche ce type de message d’erreur : « command fails, Read-only file system ».
Ce message indique, que la partition système n’est accessible qu’en lecture seule. Pour outrepasser cette limitation (encore une), la partition système doit être montée avec les droits d’écriture.

adb-android-linux-terminal

Résoudre le problème du « Read-only file system »

Avant de rentrer dans le vif du sujet, il faut quelques pré-requis :

  • Android « rooté »,
  • Un cable micro USB pour relier l’appareil Android sur le PC (ici le PC est sous GNU/Linux),
  • Etre très prudent aux actions sur les fichiers système, une erreur est vite arrivée. Faite une sauvegarde avant (on sait jamais) : Sauvegarder son Android.

Pour illustrer, je vais prendre pour exemple l’ajout d’une donnée dans le fichier /etc/hosts et la suppression d’une application pré-installer dans la ROM.

Se connecter sur l’appareil android avec l’outil adb

  • Brancher l’appareil Android sur le PC avec le câble USB
  • Activer le mode débug sur l’appareil :
  • androiddebug02

  • Ouvrir un Terminal :
  • terminal

  • Se connecter à l’appareil :
  • adb devices
  • Ouvrir un shell :
  • adb shell

Changer d’utilisateur et les droits en écriture sur la partition système

  • Passer en root (il se peut que l’OS Android demande l’autorisation sur l’appareil) :
  • su root
  • Changer les droits en écritures sur la partition système :
  • mount -o rw,remount /system
  • Exemple de modification d’un fichier système : Écriture dans le fichier /etc/hosts
  • echo "127.0.0.1 cmp-cdn.ghostery.com" >> /etc/hosts
  • Vérification de l’ajout en fin du fichier /etc/hosts :
  • tail -5 /etc/hosts

    adb-03

  • Suppression d’une application pré-installée :
  • Dans mon cas je vais supprimer l’application Kernel Adiutor, qui est pré-installé avec la ROM Orion car je ne peux pas la mettre à jour dans l’état.

    rm -R /system/app/KernelAdiutor/
  • Une fois les modifications terminées, repasser la partition système en écriture seule :
  • mount -o ro,remount /system
  • Se déconnecter :
  • exit
    exit

    adb-04

Partager l'article :





fred

Administrateur Système autodidacte et utilisateur au quotidien de GNU/Linux (Debian, Ubuntu, Manjaro et un peu de CentOS).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *