Démarrer à partir du disque dur USB?

44

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)?

Système hors service
la source
1
Ceci est seulement un lien vers le tutoriel, je le laisse donc sous forme de commentaire: blog.krastanov.org/2014/01/30/booting-pi-reliably-from-usb
Krastanov Le

Réponses:

8

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.

Andrejs Cainikovs
la source
28

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/

Maria Zverina
la source
3
C'est une bonne idée.
Jivings
Mise à jour: il existe maintenant un support expérimental pour démarrer directement sur USB; aucune carte SD requise après la configuration initiale.
Hydraxan14
21

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.

Darren Wilkinson
la source
1
cela signifie-t-il qu'après que le disque dur prend le relais, la voiture de mémoire n'est plus nécessaire?
Suhaib
5

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 fdiskpartition 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 ...
fcm
la source
1

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.txtet 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.

Dave
la source
Désolé, quel guide?
Bex
Désolé, ce forum.
Dave