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) :
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 sauvegarder 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 !
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"
:
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 :
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 !
|