Existe-t-il un moyen de démarrer à partir d'un disque dur externe connecté au périphérique via le port USB (par opposition au démarrage à partir de la carte SD)?
Existe-t-il un moyen de démarrer à partir d'un disque dur externe connecté au périphérique via le port USB (par opposition au démarrage à partir de la carte SD)?
Réponses:
Aujourd'hui, près de cinq ans après que l'auteur eut posé cette question,
Raspberry Pi prend officiellement en charge le démarrage à partir d'un périphérique de stockage de masse USB .
Toutefois, cela n’est pris en charge que pour Raspberry Pi 3 . Voici pourquoi:
Sera-t-il possible de démarrer un Pi 1 ou un Pi 2 en utilisant MSD?
Malheureusement non. Le code de démarrage est stocké dans le périphérique BCM2837 uniquement. Par conséquent, les cartes Pi 1, Pi 2 et Pi Zero nécessitent toutes des cartes SD.
Il n’est pas possible d’amorcer RPi directement à partir de l’USB au sens propre du terme. Cependant, rien n'empêche quelqu'un de créer une mini-distribution qui contiendrait / boot et une sorte de gestionnaire de démarrage. Cela pourrait alors implémenter le démarrage à partir d'USB ou même d'un environnement de style PXE. Cela pourrait tenir sur une petite carte SD - 64 Mo sont maintenant disponibles pour quelques centimes. Je m'attends à ce que quelqu'un lance une distribution pour cela - mais je n'en ai pas trouvé à ce jour.
En attendant, vous pouvez déplacer votre propre partition racine sur le disque dur pour obtenir des temps de démarrage plus rapides, mais c'est un peu compliqué, car vous aurez besoin d'un noyau prenant en charge le stockage USB. Vous trouverez de bonnes instructions sur la procédure à suivre à l’ adresse suivante : http://mitchtech.net/raspberry-pi-root-fs-on-usb-drive/
De la FAQ Raspberry Pi :
Vous devez démarrer à partir d'une carte SD, mais une clé USB HD peut «prendre la relève» après le démarrage initial. Vous ne pouvez pas démarrer sans une carte SD.
En effet, si vous ne pouvez vivre qu'avec la partition SD MS-DOS (/ boot) où réside le noyau, vous pouvez avoir / root et tout le reste sur un périphérique externe. Une carte mémoire USB ou un disque dur physique conviennent parfaitement comme lecteur secondaire. La bonne chose est que, à moins que vous n'utilisiez le "mauvais" lieu, il s'agit d'une procédure non destructive: une édition et vous revenez à l'original,
Pour configurer cette configuration est assez facile. Vous configurez votre installation normalement et déplacez / copiez la partition EXT4 sur le lecteur externe.
En utilisant la fdisk
partition de votre lecteur secondaire sélectionné, créez une partition de taille égale ou supérieure à celle de votre mmcblk0p2 actuel (ou mmcblk0p5). Enregistrez la nouvelle configuration.
Recherchez le nom de la partition dans cet exemple, '/ dev / sda5', mais cette partition dépendra de votre configuration.
Copier la partition en cours d’exécution (remarque: il n’est pas conseillé de copier une partition en cours d’exécution, certains fichiers sont à l’état «instable» ou ouverts, mais fonctionnent correctement):
dd if=/dev/mmcblk0p2 of=/dev/sda5 bs=10M
Maintenant, éditez la ligne suivante sur le fichier /boot/cmdline.txt et modifiez l’emplacement 'root':
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
Pour cette nouvelle ligne.
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/sda5 rootfstype=ext4 elevator=deadline rootwait
Notez que la partition de démarrage est MS-DOS. Par conséquent, si vous devez résoudre le problème, vous pouvez monter le fichier SD ailleurs et le modifier. Si le démarrage échoue, le chargeur affichera sur votre écran (HDMI) les points de montage disponibles.
Cette configuration est subordonnée à l'ordre de montage. Le numéro de partition peut changer si le périphérique est monté sur un autre emplacement. Vous pouvez rendre cet emplacement indépendant comme suit.
Trouver le périphérique 'UUID'
blkid /dev/sda5
/dev/sda5: UUID="13d368bf-6dbf-4751-8ba1-88bed06bef77" TYPE="ext4"
ou en créer un nouveau
tune2fs -U random /dev/sda5
et obtenez le nom nouvellement attribué
blkid /dev/sda5
/dev/sda5: UUID="25b6aa72-ddc4-485e-8044-900ac24d662b" TYPE="ext4"
puis éditez le fichier cmdline.txt précédemment modifié en modifiant l'emplacement de la racine en:
root=UUID=25b6aa72-ddc4-485e-8044-900ac24d662b
Après l’amorçage de la nouvelle configuration, éditez le fstab, supprimez l’ancien / mmcblk0p2 remarque: il s’agit d’un fichier situé sur le nouveau périphérique / root
Remplacez / dev / mmcblk0p% (% correspond à la partition linux)
nano /etc/fstab
UUID=25b6aa72-ddc4-485e-8044-900ac24d662b ...
Dans raspbian, il suffit de changer le root
drapeau /boot/cmdline.txt
à root=/dev/sdaX
où X
est le nombre de la partition appropriée.
Pour plus de détails sur la façon d'obtenir Raspbian sur votre usb, etc., vous pouvez vérifier ici http://blog.krastanov.org/2014/01/30/booting-pi-reliably-from-usb/
J'ai plutôt utilisé Windows pour 100% de la création.
J'ai utilisé (le logiciel gratuit) 'Gestionnaire de partition MiniTool' et je viens de transférer le démarrage sur ma plus petite carte SD, qui peut être étendue automatiquement avec le gestionnaire de partition. Ouvrez le cmdline.txt
et changez pour root=/dev/sda5
.
Le même gestionnaire de partitions m'a laissé copier l'ext4 sur mon 1 To portable (pour info, supprimez d'abord toutes les partitions des lecteurs afin de disposer d'un espace non partitionné avant le transfert). Vala - démarré. Je remarque avec le disque dur standard que les temps d'accès manquent un peu, même s'ils ont des vitesses de lecture / écriture très rapides par rapport à la plupart des cartes SD.
Le seul problème que je rencontre maintenant est le développement de la partition ext4 (racine) à partir des 32 Go d'origine (de ma carte SD d'origine). Donc, je n'ai que 32 Go du 1To actuellement. Hmm. Je ne suis qu'un novice avec le terminal et ses commandes, le partitionnement sous Linux est donc un peu énervant, mais ce guide a été TRÈS utile.