Outils pour utilisateurs

Outils du site


configuration_d_un_raspberry_pi_en_read-only

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
configuration_d_un_raspberry_pi_en_read-only [2019/05/31 18:36] simonconfiguration_d_un_raspberry_pi_en_read-only [Date inconnue] (Version actuelle) – supprimée - modification externe (Date inconnue) 127.0.0.1
Ligne 1: Ligne 1:
-====== Configuration d'un Raspberry Pi en read-only ====== 
-Pour configurer un système en read-only, je vais suivre [[https://hallard.me/raspberry-pi-read-only/|ce tutoriel (hallard.me)]], basé sur cet [[http://k3a.me/how-to-make-raspberrypi-truly-read-only-reliable-and-trouble-free/|autre tutoriel (k3a.me)]]. Mon objectif est que le système soit en read-only mais d'avoir une partition "data" sur laquelle je peux écrire au besoin. 
  
-<WRAP center round tip 60%> 
-Une autre solution consiste à utiliser [[overlayfs]] ! 
-</WRAP> 
- 
- 
-===== Prérequis ===== 
-  * [[https://www.raspberrypi.org/downloads/raspbian/|La dernière Raspbian lite]] 
- 
-===== Rajouter une partition "data" ===== 
-==== Mettre l'image de base sur la (µ)SD ==== 
-On commence par formater la carte (µ)SD, on crée une partition (ext4) et puis on [[https://www.simonlefort.be/wiki/doku.php?id=raspbian#mettre_l_image_sur_une_carte_sd_usd|écrit l'image dessus avec ddrescue]]. 
-<code bash> 
-$ sudo ddrescue -D --force 2016-05-27-raspbian-jessie-lite.img /dev/sdb 
-</code> 
- 
-==== Création de la partition "data" ==== 
-Ensuite, on ouvre [[gparted]] et on rajoute une partition en ''fat32'', tout en laissant de la place pour étendre la partition racine. 
- 
-{{ https://www.simonlefort.be/images/photos/wiki/gparted/20160903-gparted-4-1.png | gparted}} 
- 
-==== Redimensionnement de la partition racine ==== 
-Après avoir créé la partition ''data'' en ''fat32'', on met la carte (µ)SD et on démarre sur le Raspberry Pi. Il va afficher un message d'erreur au démarrage en disant que la partition racine doit être la dernière sur la carte (µ)SD pour qu'il puisse l'étendre automatiquement. 
- 
-On fois que le système a bien démarré, on éteint le Raspberry Pi. On remet la carte (µ)SD sur un ordinateur et on ouvre un terminal. On vérifie avec [[lsblk]] quel est l'emplacement de la (µ)SD. 
-<code bash> 
-$ lsblk  
-NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTP 
-(...) 
-sdb      8:16    29,8G  0 disk  
-├─sdb1   8:17      63M  0 part  
-├─sdb2   8:18    1,23G  0 part  
-└─sdb3   8:19    24,5G  0 part  
-</code> 
- 
-On va ensuite utiliser [[parted]] pour recréer la partition racine (''sdb2'' dans ce cas-ci). On va supprimer la partition n°2 et la recréer pour que la fin de celle-ci arrive juste avant le début de la troisième partition. (''168,167,62'' devient ''691,20,32'') 
-<code bash> 
-$ sudo parted /dev/sdb 
-<parted> unit chs 
-<parted> print 
-(...) 
- 
-Number  Start       End           Type       File System     Flags 
-1       0,130,    8,138,      primary    fat16           lba 
-2       8,138,    168,167,62    primary    ext4             
-3       691,20,33   3893,174,56   primary    fat32 
- 
-<parted> rm 2 
-<parted> mkpart primary 8,138,2 691,20,32 
-<parted> quit 
-</code> 
- 
-On nettoie la partition avec [[e2fsck]] puis on agrandit le système de fichier pour qu'il prenne toute la place dans la partition ''sdb2''. 
-<code bash> 
-$ sudo e2fsck -f /dev/sdb2 
-$ sudo resize2fs /dev/sdb2 
-</code> 
- 
-On peut vérifier avec [[lsblk]], par exemple, la nouvelle taille de la partition racine. 
-<code bash> 
-$ lsblk  
-NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTP 
-(...) 
-sdb      8:30    29,8G  0 disk  
-├─sdb1   8:30      63M  0 part  
-├─sdb2   8:30     5,2G  0 part  
-└─sdb3   8:30    24,5G  0 part  
-</code> 
- 
-==== Monter la partition data automatiquement ==== 
-Pour monter la partition ''data'' automatiquement sur le Raspberry Pi, il faut modifier le fichier ''/etc/fstab/'' pour monter automatiquement la troisième partition (''sdb3'') dans le dossier voulu (''/media/data''). 
-<code bash> 
-$ cat /etc/fstab  
-proc /proc proc defaults 0 0 
-/dev/mmcblk0p1 /boot vfat defaults 0 2 
-/dev/mmcblk0p2 / ext4 defaults,noatime 0 1 
-/dev/mmcblk0p3 /media/data vfat rw,noatime,user 0 0 
-</code> 
- 
-===== Configuration classique ===== 
-On peut à présent remettre la (µ)SD et faire les configurations de base détaillées sur la page de [[raspbian]] (clavier en AZERTY, locales, fuseau horaire, configuration du wifi, ...). 
- 
-===== Configuration en read-only ===== 
-J'ai principalement suivi [[https://hallard.me/raspberry-pi-read-only/|ce tutoriel (hallard.me)]]. À la fin, j'ai mon système qui fonctionne parfaitement en read-only, les alias sont configurés pour pouvoir passer de read-only à read-write très facilement. 
- 
-<code bash> 
-pi@raspberrypi(ro):~$ rw 
-pi@raspberrypi(rw):~$ ro 
-pi@raspberrypi(ro):~$  
-</code> 
- 
-Le fichier ''/etc/fstab'' où on voit que la partition ''data'' reste en ''rw'' : 
-<code bash> 
-$ cat /etc/fstab  
-proc /proc proc defaults 0 0 
-/dev/mmcblk0p1 /boot vfat defaults,ro 0 2 
-/dev/mmcblk0p2 / ext4 defaults,noatime,ro 0 1 
-/dev/mmcblk0p3 /media/data vfat rw,noatime,users,umask=000 0 0  
- 
-#For Debian Jessie 
-tmpfs /tmp tmpfs nosuid,nodev 0 0 
-tmpfs /var/log tmpfs   nosuid,nodev 0 0 
-tmpfs /var/tmp tmpfs nosuid,nodev 0 0 
-</code> 
-===== Sources ===== 
-  * [[http://petr.io/2015/11/09/read-only-raspberry-pi-with-jessie/|read only raspberry pi with jessie (petr.io)]] 
-  * [[https://hallard.me/raspberry-pi-read-only/|raspberry pi read only (hallard.me)]] 
-  * [[http://k3a.me/how-to-make-raspberrypi-truly-read-only-reliable-and-trouble-free/|how to make raspberry pi tryly read only, reliable and trouble free (k3a.me)]] 
-  * [[http://elinux.org/RPi_Resize_Flash_Partitions|Resize Flash Partitions (elinux.org)]] 
configuration_d_un_raspberry_pi_en_read-only.1559327803.txt.gz · Dernière modification : 2020/08/09 12:59 (modification externe)