Session 8: Android File System

Documents pareils
Personnes ressources Tice. Académie de Rouen

Cours de Système : Gestion de Fichiers

Système de Gestion de Fichiers

Chi rement des postes PC / MAC / LINUX

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Chapitre 3 : Système de gestion de fichiers

Manuel de System Monitor

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre

NON URGENTE TEMPORAIRE DEFINITIVE OBJET : RÉCUPÉRATION DES DONNÉES CLIENT SUR DISQUE DUR DÉFECTUEUX OU INVALIDÉ

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Systèmes d exploitation

Systèmes informatiques

Environnement Informatique EMSE Linux

SRS Day. Attaque BitLocker par analyse de dump mémoire

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

TD 1 - Installation de système UNIX, partitionnement

Linux embarqué: une alternative à Windows CE?

Table des matières. Serveur Mesnil Administration. Rédacteur : Jean-Louis Cech Date création : 10 Avril 2008

Itium XP. Guide Utilisateur

Ce qu'il faut savoir: L'outil de sauvegarde Bacula, peut exploiter 3 moyens différents:

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Tutorial uclinux ARM7 Development Starter Kit. Pragmatec Produits et services dédiés aux systèmes embarqués. uclinux - Mise en oeuvre

Comment configurer Kubuntu

UBUNTU Administration d'un système Linux (4ième édition)

Chapitre I Notions de base et outils de travail

Principe. Technologies utilisées. 1. Linux et LVM. Les snapshots (instantannés) sous Linux et FreeBSD. Présentation de LVM. Organisation de LVM

Installation software

Organiser le disque dur Dossiers Fichiers

Installation et prise en main

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

G.U.S.T.A.V. Gestion Unifiée des Systèmes de fichiers Transposée aux Appareillages Virtuels G U S T A V

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Virtualisation de serveur grâce à Linux-

Enoncé du TP 8 Système

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Machine virtuelle W4M- Galaxy : Guide d'installation

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Introduction à l informatique en BCPST

OpenMediaVault installation

Département de génie électrique. ELE784 - Ordinateurs et programmation système. Laboratoire #1

Chapitre IX : Virtualisation

Atelier : Virtualisation avec Xen

Administration UNIX. Le réseau

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Virtual Box Mettez un PC dans votre... PC

Monter automatiquement des disques distants ou locaux avec automount/autofs

Sauvegarde sur un serveur Scribe

Il est courant de souhaiter conserver à

NFS-Root client et serveur HowTo

PARAGON - Sauvegarde système

Serveurs de noms Protocoles HTTP et FTP

Comment bien installer, configurer, utiliser, administrer, personnaliser et optimiser une distribution Debian GNU/Linux

Tour d'horizon Bureau client Daemon's Aller plus loin

La mémoire. Un ordinateur. L'octet. Le bit

Sauvegardes par Internet avec Rsync

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

<Insert Picture Here> Solaris pour la base de donnés Oracle

CREATION D UN WINPE 3.1

Le service FTP. M.BOUABID, Page 1 sur 5

Chapitre 2 : Abstraction et Virtualisation

Dexia Guide d installation de NetWorker Server 25 juin Legato Systems, Inc.

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures


Administration de Parc Informatique TP07 : Installation de Linux Debian

Les termes du cloud CUMULO NUMBIO 2015 O. COLLIN

MI03 TP. Objectifs du TP 1ère séance. 2ème séance. Construction d'un système linux embarqué complet

Livre blanc Haute disponibilité sous Linux

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Chapitre 1 Retour en arrière

Systèmes de fichiers répartis

TP administration système

LINUX - ADMINISTRATION PROGRAMME DE FORMATION

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

JaZUp manuel de l'utilisateur v2.4

Introduction aux Logiciels libres

Sébastien Geiger IPHC Strasbourg

Howto: Comment faire cohabiter Backtrack et un Windows?

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

TrueCrypt : installation et paramétrage

IBM SPSS Modeler Text Analytics Server for Windows. Instructions d installation

Mon premier rpm. 7 juin Avant de commencer RPM URPMI RPMBUILD... 2

Module d anonymisation

Année Universitaire ième année IMAC Mardi 6 janvier Cloud computing Travaux Pratiques

TD/TP 1 Introduction au SDK d Android

Naissance d'un REPTAR

Le Network File System de Sun (NFS)

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

Slony1 2.1 Londiste 3

Impression sous Linux

Systèmes embarqués D.Rossier

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

TD séances n 3 et n 4 Répertoires et Fichiers sous Unix

Transcription:

Session 8: Android File System LO52 - Automne 2014 Fabien BRISSET 2 mai 2014 fabien.brisset@utbm.fr www.utbm.fr

Droits de reproduction Copyright 2013-2014, Fabien Brisset, Copyright 2004-2014, Free Electrons (Maxime Ripard) License : Creative Commons Attribution - Share Alike 3.0 http://creativecommons.org/licenses/by-sa/3.0/fr Document original : Android System Development Vous êtes libre de : Partager : reproduire, distribuer et communiquer l oeuvre Remixer : adapter l oeuvre D utiliser cette oeuvre à des fins commerciales Selon les conditions suivantes : Attribution : vous devez attribuer l oeuvre de la manière indiquée par l auteur de l oeuvre ou le titulaire des droits. Partage dans les mêmes conditions : si vous modifiez, transformez ou adaptez cette oeuvre, vous n avez le droit de distribuer votre création que sous une licence identique ou similaire à celle-ci. N importe laquelle de ces conditions peut être levée si vous avez l autorisation du titulaire des droits. Votre utilisation équitable et autres droits ne sont en aucune manière affectés par ce qui a été cité ci-dessus. 2/25 www.utbm.fr

Sommaire 1 Rappels sur les systèmes de fichiers 2 Android File System 3 Les fichiers spéciaux 4 Les systèmes de fichiers virtuels 5 Le système de fichiers minimal 6 Questions? 3/25 www.utbm.fr

Sommaire 1 Rappels sur les systèmes de fichiers 2 Android File System 3 Les fichiers spéciaux 4 Les systèmes de fichiers virtuels 5 Le système de fichiers minimal 6 Questions? 4/25 www.utbm.fr

Rappels Les systèmes de fichiers permettent d organiser ses données à l aide de fichiers ou de répertoires Sur les sytèmes UNIX, ils se présentent sous forme d une hiérarchie avec la racine étant / Un système de fichiers est monté à un emplacement spécifique Si celui-ci est monté dans un répertoire, son contenu reflète le contenu du média Si démonté, le point de montage (le répertoire) est vide Ce mécanisme assure l accès facile aux données quelque soit leur média 5/25 www.utbm.fr

Rappels (2) Après création du point de montage, on utilise la commande mount/umount pour monter/démonter le système de fichiers La commande mount Permet de monter un système de fichiers mount -t <type> <device> <point de montage> <type> représente le type de système de fichiers : ext2, ext3... <device> représente le média dont on veut accéder au contenu. Cela peut être un média physique où un emplacement réseau <point de montage> représente le répertoire dans lequel on souhaite monter (voir) les fichiers/répertoires du média La commande lancée sans argument liste les différents systèmes de fichiers montés 6/25 www.utbm.fr

Rappels (3) Pour démonter un système de fichier, on utilise la commande umount umount <point de montage> Utilisée lors du reboot ou avant de débrancher un média, elle permet de finaliser les écritures de données sur le média / correspond au système de fichiers root au niveau le plus haut de l arborescence de fichiers Le système de fichiers root est le premier monté et nécessite une commande spéciale Il est monté par le kernel via l option root=%s Sans système de fichiers root ou ramdisk, on assiste à un Kernel Panic 7/25 www.utbm.fr

Rappels (4) Le système de fichiers root peut être monté à partir : D un disque dur ou d une clé USB : root=/dev/sdxy, X étant la lettre attribuée au device et Y l identifiant numérique de la partition D une carte SD : root=/dev/mmcblkxpy, X étant l identifiant du device et Y le numéro de la partition D une partition de NAND Flash ou d un péiphérique similaire : root=/dev/mtdblockx où X est le numéro de partition Depuis le réseau à travers le protocole NFS : root=/dev/nfs Depuis la mémoire en utilisant un système de fichiers préchargé (initramfs) : root=/dev/ram0 Seul l installateur/administrateur décide de la meilleure stratégie à adopter dans le choix du système de fichiers root 8/25 www.utbm.fr

Sommaire 1 Rappels sur les systèmes de fichiers 2 Android File System 3 Les fichiers spéciaux 4 Les systèmes de fichiers virtuels 5 Le système de fichiers minimal 6 Questions? 9/25 www.utbm.fr

Le système de fichiers Android La plupart des distributions GNU/Linux actuelles respecte une norme appelée Filesystem Hierarchy Standard ou FHS http://fr.wikipedia.org/wiki/filesystem_hierarchy_ Standard Définit les principaux répertoires et leur contenu : /bin pour les binaires /boot pour tout ce qui est relatif au boot... Android de son côté fonctionne de la manière suivante : De base, il stocke ses données dans des répertoires non mentionnés par la FHS Si un répertoire cité dans la FHS doit être utilisé, Android va respecter ce que la norme indique en terme de contenu pour ce répertoire 10/25 www.utbm.fr

Le système de fichiers Android (2) Deux répertoires principaux dans le système de fichiers Android /system qui contient tous les binaires natifs, les librairies Java... En gros, il contient l intégralité du système, des données figées. Celui-ci est en read-only (incorruptible en cas de problème d alimentation) /data qui va contenir toutes les données liées aux applications et au périphérique. Ces données peuvent être amenées à changer durant la vie du périphérique. Ce répertoire est accessible en read-write Ils sont montés dans deux points de montage (partitions) séparés Cela n empêche pas Android d utiliser quelques répertoires définis dans la FHS : /proc /dev /mnt... Le contenu de ces répertoires respectant ce qui est défini dans la FHS 11/25 www.utbm.fr

Contenu de /system./app : les applications préinstallées du système./bin : les binaires du système./etc : fichiers de configuration./fonts : fontes pour les polices./framework : ensemble des fichiers Jar du framework Java Android./lib : les librairies du système./modules : les modules du noyau./xbin : les binaires externes 12/25 www.utbm.fr

Divers Android respecte de manière générale la FHS Cependant, quelques exceptions existent /etc /sbin Même dans le cas de ces exceptions, Android essaye de respecter la norme au mieux permettant ainsi d avoir une distribution Linux tournant à côté avec quelques modifications mineures android filesystem config.h Contient la configuration complète (UID/GID, permissions...) du système de fichiers En-tête C localisé sous system/core/include/private Traité au moment de la compilation Utilisé à différents endroits. Exemple : ADB 13/25 www.utbm.fr

Sommaire 1 Rappels sur les systèmes de fichiers 2 Android File System 3 Les fichiers spéciaux 4 Les systèmes de fichiers virtuels 5 Le système de fichiers minimal 6 Questions? 14/25 www.utbm.fr

Les fichiers spéciaux Un des buts du noyau est de permettre l accès au matériel aux applications Dans Linux, utilisation des fichiers spéciaux ( Device Files ) au niveau user space de deux types : Character Block Au niveau du noyau, ils sont identifiés par un triplet d informations Type (character ou block) Major (la catégorie du matériel) Minor (son identifiant) /dev permet l interface kernel/user space via les IOCTL (contrôles des entrées/sorties) 15/25 www.utbm.fr

Les fichiers spéciaux (2) Block devices Représente des devices de blocs de taille fixe qui peuvent être lus et écrits bloc par bloc (bdev) : clé USB, disque dur... Character devices Représente des devices de taille non définie qui peuvent être lus caractère par caractère (cdev) : une console série Un device qui n est pas un block device est représenté par un character device au niveau noyau Dans Linux, tout étant fichier, pour représenter ces différentes notions, on utilise les fichiers spéciaux Stocké sous /dev avec l information sur le type, le major et le minor Le major/minor permettent au Kernel de faire le lien entre un nom de fichier (/dev/ttys0) et le driver qui l implémente Accessible en utilisant l API normale de manipulations de fichiers 16/25 www.utbm.fr

Les fichiers spéciaux (3) Exemple sur un système Linux $ l s l / dev / t t y S 0 / dev / t t y 1 / dev / sda1 / dev / sda2 / dev / z e r o brw rw 1 r o o t d i s k 8, 1 2011 05 27 0 8 : 5 6 / dev / sda1 brw rw 1 r o o t d i s k 8, 2 2011 05 27 0 8 : 5 6 / dev / sda2 crw 1 r o o t r o o t 4, 1 2011 05 27 0 8 : 5 7 / dev / t t y 1 crw rw 1 r o o t d i a l o u t 4, 64 2011 05 27 0 8 : 5 6 / dev / t t y S 0 crw rw rw 1 r o o t r o o t 1, 5 2011 05 27 0 8 : 5 6 / dev / z e r o Exemple de code accédant à un fichier spécial (ici une console série) // s e r i a l p o r t i n t f d ; f d = open ( / dev / t t y S 0, O RDWR) ; w r i t e ( fd, H e l l o, 5) ; c l o s e ( f d ) ; 17/25 www.utbm.fr

Les fichiers spéciaux (4) Sous un Linux basique, ces fichiers nécessitent d être créés mknod /dev/<device> [c/b] major minor Besoin des droits super utilisateur. La cohérence entre la création manuelle et le noyau est à la charge du développeur système Sur les distributions plus avancées, il existe des mécanismes plus élaborés devtmpfs udev (aujourd hui fusionné et intégré à systemd) mdev Sous Android, sont utilisés init ueventd 18/25 www.utbm.fr

Sommaire 1 Rappels sur les systèmes de fichiers 2 Android File System 3 Les fichiers spéciaux 4 Les systèmes de fichiers virtuels 5 Le système de fichiers minimal 6 Questions? 19/25 www.utbm.fr

Les systèmes de fichiers virtuels Correspond à /proc Existe depuis les débuts de Linux Contient : Des statistiques sur les process en cours que le noyau renseigne. Très utile pour ps et top Certains paramètres du système que l utilisateur peut ajuster durant l exécution comme par exemple la gestion de l énergie mount -t proc nodev /proc Documentation disponible : Documentation/filesystems/proc.txt au niveau du noyau man proc :) 20/25 www.utbm.fr

Les systèmes de fichiers virtuels (2) Quelques exemples sous /proc /proc/ pid du process pour des détails sur un processus /proc/interrupts, /proc/ioports pour des informations générales sur les devices /proc/cmdline pour la command line du kernel (très utile) /proc/sys pour ajuster les paramètres du noyau Un autre exemple de système de fichiers virtuel : sysfs Permet d exposer aux applications la vision du kernel par rapport aux périphériques du système Très utile pour leur détection et utilisation par d autres applications/démons comme udev par exemple Monté dans /sysfs : mount -t sysfs nodev /sys Remplace de plus en plus /proc 21/25 www.utbm.fr

Sommaire 1 Rappels sur les systèmes de fichiers 2 Android File System 3 Les fichiers spéciaux 4 Les systèmes de fichiers virtuels 5 Le système de fichiers minimal 6 Questions? 22/25 www.utbm.fr

Le système de fichiers minimal Un minimum d applications sont requises pour qu un système Linux puisse démarrer correctement Une application init qui va être appelée par le kernel juste après le montage du système de fichiers root. Un Kernel Panic se produit si non trouvée. init va démarrer le reste des services et applications Un shell pour permettre l interaction avec l utilisateur Des applications basiques de gestion/manipulations des fichiers Tous ces composants doivent être intégrés au système de fichiers root pour permettre l usage du système 23/25 www.utbm.fr

Sommaire 1 Rappels sur les systèmes de fichiers 2 Android File System 3 Les fichiers spéciaux 4 Les systèmes de fichiers virtuels 5 Le système de fichiers minimal 6 Questions? 24/25 www.utbm.fr

Références Android System Development Maxime Ripard (Free Electrons) Embedded Android Karim Yaghmour chez O Reilly A la découverte d Android série d articles écrits par Benjamin Zores pour GNU/Linux Magazine France Android Device Porting Walkthrough présentation de Benjamin Zores à l Android Builder Summit 2012 Dive Into Android Networking - présentation de Benjamin Zores à l Embedded Linux Conference Europe 2012 25/25 www.utbm.fr