Journal d'un Old Man niçois dans l'océan indien - Jean-Claude MASCARELLI - Since 1999
« Dans la vie, rien n’est à craindre, tout est à comprendre. » - Marie Curie, prix Nobel (physique en 1903 et chimie en 1911)
 

FR5EC - Raspberry Pi - Tutoriel - Boot sur un disque dur externe
Montages-Kits/Raspberry Pi - Tutoriel / Boot sur un disque dur externe

Hard

Boot disque dur  
Carte SD  
Overclocking  
WIFI  

Soft

Bureautique  
Date auto  
Dessin  

Divers trucs  
Logiciels OM  
Messagerie  
Imprimante  
Multimédia  
Transfert SFTP  

Mon Raspberry  
Conclusions  

Toutes les étapes nécessaires pour vous permettre de booter sur un disque dur externe branché sur le port USB de votre Raspberry !

Objectifs : protéger la carte SD en écriture (cycle de vie restreint), et profiter des avantages d'un disque dur externe de 500 Go...

8.1. partitionner le disque dur externe USB (en trois partitions) :

  • partition swap de 1 Go

  • partition Linux ext4 : système du R-Pi, stockage de fichiers, de vidéos…

  • partition NTFS (le reste du disque) pour pouvoir échanger des fichiers avec Windows.

L’outil de partitionnement est cfdisk.
Il se gère avec les touches de déplacement.

La commande : sudo cfdisk /dev/sda

Commençons par supprimer la partition existante : /dev/sda1 (le disque neuf étant formaté par défaut pour Windows)

Sélectionner la partition à détruire avec les flèches Haut et Bas, aller sur [ Delete ] avec les flèches Droite et Gauche. Valider par Enter.

La partition a disparu de l’écran, mais l'opération ne sera effective qu'à la réécriture de la nouvelle table de partition par [ Write ] qui écrase la ou les partition(s) existantes…

Puis, création de la première partition primaire (Swap) :  /dev/sda1

Choisir [ New ], pour créer la nouvelle partition.
saisir la taille : 1000 (1 Go)
Après validation, la partition est créée et apparaît comme /dev/sda1, de type Linux.
Pour définir le type, choisir [ Type ],
et choisir le N° approprié = 82 (pour swap)
sauvegarder la partition [ Write ]. Confirmer par yes

Création de la seconde partition primaire (Linux) : /dev/sda2

Choisir [ New ], pour créer la nouvelle partition.
saisir la taille :  (1 Go) = 200000 Mo (200Go)
Après validation, la partition est créée et apparaît comme /dev/sda2, de type Linux.
Pour définir le type, choisir [ Type ]
et choisir le N° approprié = 83 pour Linux
s
auvegarder la partition
[ Write ]. Confirmer par yes

Et enfin, création de la troisième partition primaire (NTFS) : /dev/sda3

Choisir [ New ], pour créer la nouvelle partition.
la taille du reste du disque s'affiche la valider
Après validation, la partition est créée et apparaît comme /dev/sda3, de type NTFS.
Pour définir le type, choisir [ Type ]
et choisir le N° approprié = 07 pour NTFS
sauvegarder la partition [ Write ]. Confirmer par yes

Vous pouvez quitter cfdisk et vérifier si votre travail a bien été exécuté :

sudo fdisk -l

8.2. formater le disque dur externe branché sur le port USB :

NB : L'installation de l'outil mkfs.ntfs, est nécessaire car il n'est pas installé d’origine, il vous permettra de formater la partition en NTFS :

Installer ntfs-3g : sudo apt-get install ntfs-3g

A présent :

  • formater la partition Linux (sda2) avec mkfs.ext4 :
    sudo mkfs.ext4 /dev/sda2

  • formater la partition de SWAP (sda1) avec mkswap :
    sudo mkswap /dev/sda1

  • formater la partition ntfs (sda3) avec mkfs.ntfs :
    sudo mkfs.ntfs /dev/sda3 -L RPi-Donnees

NB : L’option "-L" permet de nommer le volume : "RPI-Données" (mais on peut aussi faire ça tout simplement sous windows dans le gestionnaire de fichier)
Attention : le formatage NTFS a été très lent chez moi >4h pour 200 Go ?, donc soyez patient. Si la led de votre disque dur clignote, c'est que ça se passe plutôt bien !

8.3. Transférer le "Root file system" de la carte SD, vers le disque dur :

NB : Avant toutes manipulations sur votre carte SD, créer une sauvegarde de son contenu, (ou bien les fichiers sources) ainsi en cas de problème vous pourrez (formater) restaurer la carte SD !

  • donnez-vous les droits de super utilisateur : sudo su

  • allez voir dans le fichier "cmdline.txt" : sudo nano /boot/cmdline.txt
    vous trouverez sur quel disque le système se positionne pour booter ?
    NB : Pour moi, il se positionne sur : mmcblk0p6... donc, NOTEZ bien cette information vous en aurez besoin plus loin

  • Démonter le disque dur /dev/sda2 :
    sudo umount /dev/sda2

  • Lancez la copie hard du Rfs de la carte SD vers le disque dur sda2 :
    sudo dd if=/dev/mmcblk0p6 of=/dev/sda2 bs=512

rebooter

8.4. Modifier les paramètres de la carte SD :

afin de rediriger le boot vers le disque dur !

Modifier les paramètres de "cmdline.txt"  :

  • donnez-vous les droits de super utilisateur : sudo su

  • editez "cmdline.txt" : sudo nano /boot/cmdline.txt

Dans l'éditeur,
modifiez la commande : "root=/dev/mmcblk0p6"
par la commande : "root=/dev/sda2"
pour signifier au noyau que le "Root File System" se trouve désormais sur le disque dur linux : /dev/sda2

rebooter

8.5.  modifier le fichier fstab :

  • donnez-vous les droits de super utilisateur : sudo su

  • editez "fstab" :
    sudo nano  /etc/fstab

et mettre la ligne suivante en commentaire (il suffit de rajouter un # en début de la ligne) :

#/dev/mmcblk0p6   /            ext4      defaults,noatimes   0     14

 sauvegarder, quittez l'éditeur, quittez l'environnement graphique et arrêtez le Raspberry Pi.
Sortir la carte SD de son support, la mettre en Read Only (RO)
Remettre la carte SD et redémarrer le Raspberry Pi

NB : bien sûr, le disque dur externe doit être branché sur un port USB  :o)

Si  votre Raspberry pi démarre, c'est qu'il a booté pour la première fois sur le disque dur (la led clignote), et donc, c'est gagné !

8.6.  étendre le Root files system :

En effet, le "rootfs" (partition /dev/sda2) ne fait que 1.8Go, car c'est le produit de la copie (hard) de la carte SD, il convient donc de l'étendre avec "resize2fs" pour qu'il occupe tout l’espace disponible,

lancez à la commande : sudo resize2fs /dev/sda2

Bon amusement !

Auteur : Jean-Claude Mascarelli - Contact : Email in "qrz.com"