Pour commencer, il faut installer raspbian sur la carte SD.
Préparer le disque dur
Il faut formater le disque dur en Ext4 pour pouvoir y déplacer la partition Root de l’OS (avec gparted ou la commande fdisk, puis mkfs -t ext4 /dev/sda1).
Copie de root
Toutes les commandes ci-dessous sont à faire avec les droits Root.
Identifier la carte SD et le disque dur pour pouvoir les monter (affiché sd?? dans les commandes ci-dessous) :
sudo fdisk -l
Copier la partition Root depuis la carte SD vers le HDD (if=SD of=HDD).
sudo dd if=/dev/sd?? of=/dev/sd?? bs=512
En clair : copie tout ce qui est dans la carte SD vers la partition sda2 du disque dur, par blocs de 512 octets (bs=block size).
Finalement, étendre la ROOT FILE SYSTEM :
sudo resize2fs /dev/sd??
Vérifier copie et nettoyer SD
Monter le disque dur dans un répertoire créé préalablement (ici /home/user/hdd) :
sudo mount -t ext4 /dev/sd?? /home/user/hdd
Vérifier que la copie c’est bien passée sur le HDD :
cd /home/user/hdd ls -l
Si tout est OK, on supprime la partition Root de la carte avec la commande fdisk ou avec gparted.
Configuration pour démarrage sur HDD
Pour que l’OS démarre sur le HDD, il faut modifier deux fichiers : cmdline.txt et fstab.
Pour commencer, il faut monter la partition boot de la carte SD :
sudo mount -t vfat /dev/sd?? /home/user/sd cd /home/user/sd
Modifier cmdline.txt
Dans le fichier, remplacer la partie root=/dev/mmcblk0p2 par root=/dev/sda1 :
sudo nano cmdline.txt
Modifier fstab
Modifier le chargement de la partition root comme suite :
roc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults,ro 0 2
#/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
/dev/sda1 / ext4 defaults,noatime 0 1
avec la commande :
cd /home/user/hdd/etc sudo nano fstab
On démonte la carte SD et le HDD :
sudo umount /home/user/hdd /home/user/sd
Conclusion
Le Raspberry Pi peut maintenant être démarrer. Il ne reste plus qu’à y installer les logiciels souhaités.