Jessie et boot sur disque ssd externe

Bonjour,

J’ai un RPI2 et j’étais depuis quelques temps sur une raspbian wheezy avec un rootfs sur un disk externe SSD.
Tout fonctionnait parfaitement et les performances en lecture/écriture étaient au rendez vous malgré le fait que le system passe par l’USB (plus lent qu’un port sata).
Cette config m’allait très bien également pour limiter les problèmes de durée de vie de la carteSD (j’ai plusieurs sites, un kodi, un piwik …etc sur ce rasp) a cause des nombreux écritures sur le system.

Sous wheezy, j’avais déjà quelques problemes pour monter du partage SMB au démarrage, mais je l’avais décalé après la sequence de boot. Rien de grave pour le fonctionnement du system.

Malheureusement j’ai fait un dist-ugrade … je suis passé sous jessie, et là catastrophe : impossible de booter le system sur un disque externe.

J’ai donc rebooté sur la partition system de la carteSD : /dev/mmcblk0p2

Si je place mon disque SSD connecté en usb dans le montage de /etc/fstab : il n’est pas monté (même en spécifiant l’UUID et les paramètres : « noauto » et « nofail » recommandés par la doc debian ou encore ici).
Si je l’ajoute dans mon crontab en @reboot avec la séquence de montage de mes partages SMB, il est correctement monté.
J’ai essayé d’alimenter le disque SSD avec sa propre alimentation 5V, mais Il y a toujours un probleme avec les points de montage sous jessie dans la séquence de boot.
J’ai également installé usbmount comme conseillé ici :filesystem - Automount various USB stick file systems on Jessie Lite - Raspberry Pi Stack Exchange.

Auriez vous une idée de comment je peux booter mon system sur un disque connecté via l’USB sous jessie ? Y’a t-il un paramètre à passer dans le /boot/cmdline.txt pour qu’il reconnaisse ou « attende » le disque externe dès la séquence de boot ?

Je suppose que l’ordre des services géré par systemctl ou dans /etcmtab est également important ?
Peut-être que spécifier l’UUID du disque SSD dans /boot/cmdline.txt pourrait également solutionner le problème, mais je n’ai pas trouver la bonne syntaxe …

d’avance, merci pour vos réponses.

bonjour,
je tenais à venir partager la solution à mon problème.

Donc pour booter mon raspberry 2 sous raspbian jessie sur un disk SSD externe, je me suis inspiré de la réponse de ce blog :
https://www.raspberrypi.org/forums/viewtopic.php?t=104646

Tout d’abord, dans la partie /boot/cmdline.txt j’ai du ajouter deux paramètres de mises en attente pour que mon disk SSD soit alimenté puis monté.
j’ai donc ajouté ces arguments : rootwait rootdelay=5

Ensuite, dans l’idée, j’avais cloné ma carteSD sur le SSD, les partions de mon rootFS sur la SD et celle du SSD avaient donc le même UUID ! c’était un des pièges.

Il a donc fallu que j’utilise à la place l’PARTUUID de la partition GPT que l’on découvre avec la commande suivante :
sudo blkid
/dev/mmcblk0p1: SEC_TYPE=« msdos » LABEL=« boot » UUID=« 15CD-3B79 » TYPE=« vfat » PARTUUID=« a6202af7-01 »
/dev/mmcblk0p2: UUID=« 13d368bf-6dbf-4751-8ba1-88bed06bef77 » TYPE=« ext4 » PARTUUID=« a6202af7-02 »
/dev/sda1: UUID=« 13d368bf-6dbf-4751-8ba1-88bed06bef77 » TYPE=« ext4 » PARTUUID=« 91a821d1-01 »

au final, voici a quoi ressemble ma cmdline.txt :
dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=91a821d1-01 rootfstype=ext4 cgroup_enable=memory elevator=deadline rootwait rootdelay=5

Voila a quoi ressemble mon /etc/fstab :
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
#/dev/mmcblk0p2 / ext4 defaults,noatime,noauto,nofail 0 1
UUID=« 13d368bf-6dbf-4751-8ba1-88bed06bef77 » / ext4 nofail,noauto,x-systemd.automount,defaults,noatime, 0 1
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

L’utilisation de l’UUID ici n’a pas d’importance car on a deja booté le rootFS sur la bonne partition du SSD.
A noté que j’utilise aussi tmpfs pour que mes fichiers temporaires soient chargés en RAM plutôt qu’écrit sur la SD ou le SSD.

Dans l’idée et malgré un goulot d’étranglement dû au port USB, j’ai donc un systeme plus rapide (ca se ressent nettement sur Kodi, un wordpress, piwik ou xbmc-video-server sur le même rasp, et probablement plus résistant dans le temps en terme de cycle de lectures/écritures max qu’une carte SD peux encaisser.