Booter avec un SSD Sata sur une banana pi

Ayant récemment changé le disque SSD de mon ordinateur par un de plus grande capacité, j’en ai profité pour transférer l’ancien sur la Banana Pi afin d’augmenter les performances en terme de vitesse d’accès aux fichiers. Il est difficile de trouver LA procédure qui marche sur le net, celles que j’ai essayé, en grande majorité, ne marchant pas.

Tout d’abords le SSD en question est un Samsung 850 EVO de 120 Go donné pour environ 520 Mo/s en débit de lecture/écriture. La banana Pi, en plus de posséder un port Sata, dispose également d’une alimentation 5V dédié au disque. Par contre, il faut avoir (ou fabriquer) le câble qui va bien pour s’adapter à une prise d’alim Sata. J’ai privilégié l’achat d’un adaptateur (2,3€) bien qu’il aurait été possible d’en fabriquer un à partir de récup. Voici à quoi ressemble l’installation une fois le tout branché :

SSD de 120 Go sur la banana Pi

Dans un premier temps, la procédure consiste à copier tout les fichiers existant de la carte SD sur le SSD puis à modifier la partition de boot pour pointer le démarrage sur le SSD. A noter qu’il n’est pas possible de se dispenser de carte SD, elle reste nécessaire pour le boot de la banana pi. Privilégier donc une carte SD de faible capacité.

1. Préparation du disque

S’assurer que le disque est bien détecté :

fdisk -l

On obtient alors :

Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf0584047

Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 234441647 234439600 111.8G 83 Linux

Disk /dev/mmcblk0: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0ccea0b3

Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 2048 43007 40960 20M 83 Linux
/dev/mmcblk0p2 43008 31116287 31073280 14.8G 83 Linux

Le SSD est détecté en tant que /dev/sda tandis que la SD est déclaré comme /dev/mmcblk0 avec deux partitions. La première est la partition de boot qu’il faudra modifié tandis que la deuxième contient toutes les données.

Lancer l’utilitaire de gestion des partition pour le SSD:

fdisk /dev/sda

Effacer les partitions existantes en tapant « d ». J’ai du l’effectuer au début comme j’avais Windows installé dessus. Créer une nouvelle partition primaire en tapant « n » puis « p ». Laisser par défaut la taille maximale. Sauvegarder les modifications en tapant « w ».

Maintenant formater la partition du SSD sous le format .ext4 :

mkfs.ext4 /dev/sda1

2. Transfert des données

Maintenant que le disque est formaté,  on va copier les données de la partition 2 de la carte SD sur le SSD. Pour cela :

mkdir /tmp/source /tmp/target
mount /dev/mmcblk0p2 /tmp/source
mount /dev/sda1 /tmp/target
(cd /tmp/source; tar --backup -c *) |tar -C /tmp/target -xv

Cela devrait prendre un certain temps suivant la quantité de données à transférer…

3. Modifier la partition de boot

Ce qui suit va dépendre de la version de votre OS installé sur la banana Pi. Pour cela taper :

cat /proc/version

Pour ceux ayant la version Linux version 3.4.111-bananian, on va modifier le boot.cmd dans la partition 1 de la carte SD. Pour les autres, voir le lien en référence en bas de page.

mount /dev/mmcblk0p1 /mnt
cd /mnt
nano boot.cmd

Changer TOUS les (il y en a 2) :

root=/dev/mmcblk0p2

par

root=/dev/sda1

Maintenant installer u-boot-tools :

apt-get install u-boot-tools

Convertir boot.cmd en boot.scr

mkimage -C none -A arm -T script -d boot.cmd boot.scr

En sortie :

Image Name:
Created: Sun Dec 3 09:22:58 2017
Image Type: ARM Linux Script (uncompressed)
Data Size: 1602 Bytes = 1.56 kB = 0.00 MB
Load Address: 00000000
Entry Point: 00000000
Contents:
Image 0: 1594 Bytes = 1.56 kB = 0.00 MB

Rebooter la banana Pi :

shutdown -r now

On peut vérifier avec df-h que sda1 est bien la partition principale (11G Go au lieu des 15Go de la SD):

Filesystem Size Used Avail Use% Mounted on
/dev/root 111G 14G 92G 13% /
devtmpfs 486M 0 486M 0% /dev
tmpfs 98M 220K 97M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 195M 0 195M 0% /run/shm

On peut en profiter pour vérifier le débit :

apt-get install hdparm
hdparm -t --direct /dev/sda

Ce qui nous donne :

/dev/sda:
Timing O_DIRECT disk reads: 506 MB in 3.00 seconds = 168.63 MB/sec

Rien à voir avec les 10MB/sec qu’on avait avant !!

 

Source : http://forum.lemaker.org/thread-12057-1-1.html

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*