Donc, finalement, je peux passer cette commande groupée de Raspberry Pis ! Cependant, leur configuration va être une corvée. Ce que j'aimerais faire, c'est:
- Téléchargez une image de stock et bricolez-la sur un seul Pi
- Enregistrer / extraire / copier cette image sur toutes les autres cartes SD
- Ayez tous les autres Pi configurés sans aucune configuration supplémentaire à faire
Mon ordinateur ne dispose que d'un seul emplacement SD, donc existe-t-il un moyen de générer un .img
fichier à partir de ma carte «maître» modifiée?
Réponses:
Il y a quelques étapes de préparation faciles à faire avant d'écrire un maître de clone sur des copies qui vous éviteront beaucoup de maux de tête.
/etc/ssh/ssh_host*
(ceux-ci sont recréés lorsque vous exécutez SSHD)/etc/udev/rules.d/70-network*
fichier, vous devrez modifier l'eth0
entrée à quelque chose d'autre (j'ai utiliséeth9
pour mes maîtres de clone) - et n'oubliez pas de mettre à jour leifconfig
fichier associé - en centos c'est-à-dire/etc/sysconfig/network-scripts/ifcfg-eth0
(faire9
) et en debian (raspbian) c'est/etc/network/interfaces
la source
J'ai eu les mêmes exigences
1
et2
de distribuer un système d' exploitation personnalisé. Après avoir regardé autour de moi, j'ai trouvé de nombreuses commandes, mais pas un seul outil pour créer un.zip
fichier compact à partir d'une carte SD, alors j'ai écritmkimg.sh
, qui fonctionne comme ceci:Cela prend le périphérique non monté à
/dev/sda
, réduit le système de fichiers et la partition, et écrit un zip compressé. Dans mon utilisation, ce système écrit un Raspbian ~ 1.5GB pour créer un <500Mo.zip
.En plus des vérifications d'intégrité et des calculs de taille, le script fait essentiellement ceci:
Le script et la documentation sont disponibles sur GitHub .
la source
Vous pouvez utiliser les Raspberry Pis eux-mêmes ainsi que le multixterm sur votre ordinateur principal pour "démarrer" l'écriture de votre carte SD. Vous devriez pouvoir trouver multixterm dans de nombreux gestionnaires de paquets de distribution.
Étape 1: Achetez un tas d'adaptateurs de carte SD pour clé USB.
Étape 2: Utilisez les méthodes standard pour écrire 2 des images de la carte SD avec votre ordinateur principal.
Étape 3: Mettez les 2 cartes SD avec images dans 2 Raspberry Pis et connectez-les à votre réseau et mettez-les sous tension.
Étape 4: Insérez 2 cartes SD vides dans les adaptateurs de clé USB et branchez-les sur les 2 Rapsberry Pis en cours d'exécution.
Étape 5: Maintenant, voici où cela devient intéressant, à partir de votre ordinateur principal, utilisez multixterm comme cela à partir de la ligne de commande multixterm -xc "ssh% n" host1 host2 où host1 et host2 sont les adresses IP du Raspberry Pis.
Étape 6: À l'intérieur de la fenêtre stdin de multixterm, vous pouvez utiliser dd comme vous le feriez normalement pour écrire des images sur les cartes SD, mais maintenant multixterm enverra cette commande dd aux deux Raspberry Pis simultanément.
Étape 7: Répétez les étapes 3 à 6 jusqu'à ce que toutes vos cartes soient écrites.
Plus vous créez de cartes SD, plus vous pouvez utiliser de Raspberry Pis pour créer de nouvelles cartes SD. Évidemment, cette technique n'écrira pas toutes vos cartes en une seule fois, mais elle réduirait le temps nécessaire pour terminer l'écriture de toutes les cartes. Cette technique serait largement expérimentale donc votre kilométrage varierait, mais sa théorie sonne comme une expérience intéressante ...
la source
Ce que vous cherchez, c'est un appareil Gang Programmer pour cartes SD, ou SD Card Duplicator.
Oui, ces systèmes existent. Voici celui que j'ai trouvé par Googling "programmeur de gangs de cartes SD". Cet appareil spécifique dispose d'un emplacement maître, qu'il peut copier jusqu'à 7 cartes SD esclaves à la fois. D'autres programmeurs avec 3 ou 11 emplacements esclaves sont également disponibles.
Il existe également différents types de programmeurs. Certains peuvent flasher une image de votre disque dur et sont contrôlés par un logiciel installé sur un PC. D'autres appareils, comme celui lié ci-dessus, n'ont pas à s'interfacer avec un serveur car ils reflètent les informations d'une puce principale.
Il convient de mentionner que ces appareils ne sont pas bon marché. Ils sont généralement utilisés dans un environnement de production de masse et la demande n'est pas excessivement élevée. Soyez prêt à payer au moins 1 000 $ pour un bon appareil doté de cette fonctionnalité.
ProDuplicator.com semble également avoir plusieurs options de duplication de carte SD.
la source
Nous avions une exigence similaire pour un projet où nous devions être en mesure d'écrire des images sur plus de 10 cartes SD Raspberry Pi quotidiennement. Nous avons examiné les différents duplicateurs de cartes disponibles à l'achat, mais nous avons constaté que la plupart d'entre eux ne réussiraient pas à créer une carte SD amorçable, car la plupart ne copient que des fichiers directement et non les informations de démarrage, ils sont également ridiculement chers!
Donc, comme solution, nous avons écrit notre propre logiciel Web simple à exécuter sur un seul Raspberry Pi connecté à 2 concentrateurs USB alimentés par Belkin à 7 ports (le Pi a une limitation de 2 concentrateurs et un maximum de 14 ports USB).
Nous l'avons maintenant publié en tant que logiciel Open Source pour aider ceux qui ont la même exigence. Actuellement, seul le code source est disponible, mais nous téléchargerons également un fichier image basé sur Arch Linux ARM exécutant Nginx + php
http://www.rockandscissor.com/projects/osid
la source
Cela fonctionne sur Mac OS X.
Démontez la carte avec laquelle vous avez bricolé, puis essayez:
sudo dd if=/dev/sdcardlocation of=backupimage.img
.Remplacez
sdcardlocation
par l'emplacement de votre carte SD.Vous pouvez échanger
.img
avec.dmg
ou.iso
.Ensuite, pour préparer les autres cartes, démontez-les et exécutez le code précédent avec les valeurs échangées. La ligne serait la suivante:
sudo dd if=backupimage.img of=/dev/sdcardlocation
.Assurez-vous de les démonter avant de les retirer du lecteur de carte.
la source
Bien comment sauvegarder mon Raspberry Pi? fournit d'excellentes restrictions sur la façon de cloner une seule carte SD, le faire une à la fois pour des dizaines de cartes deviendra fastidieux.
Étant donné que personne ne semble avoir produit un lecteur de carte SD multi-cartes (un qui peut contenir plusieurs cartes SD à la fois) et le fait que vous pouvez acheter un concentrateur USB et un tas de lecteurs USB de carte SD à très bon marché, une façon d'accélérer le processus serait de créer votre propre duplicateur de carte SD.
Vous pouvez même écrire un script pour écrire automatiquement l'image de votre Raspberry Pi choisie sur n'importe quel emplacement de carte SD vide inséré dans un emplacement. Les scripts pourraient détecter automatiquement qu'une carte a été insérée et indiquer quand la copie est terminée.
Comme darrenjw l'a mentionné dans les commentaires, vous souhaiterez remplacer les certificats ssh dans chacune des images clonées la première fois qu'elles sont démarrées, vous pouvez donc vous assurer que ce premier démarrage est effectué lors de la connexion à un segment de réseau privé avant la connexion à un réseau connecté à Internet.
la source
Il existe généralement un meilleur outil pour ce faire, puis pour copier un grand nombre d'images RP.
Mais cela dépend de ce que vous voulez vraiment faire.
Vous devriez jeter un œil à cfengine3 [1], fai [2], chef [3], tissu [4] ou marionnette [5]. Ce sont des outils de configuration automatique, qui seraient utiles pour faire des choses dans votre machine lors du premier démarrage (et plus tard).
[1] http://cfengine.com/ [2] http://fai-project.org/ [3] http://www.opscode.com/chef/ [4] http: //www.debian- administration.org/articles/671 [5] http://puppetlabs.com/puppet/puppet-enterprise/
la source
PiBakery pourrait être une solution viable pour vous. PiBakery vous permet de créer une image Raspbian personnalisée à l'aide de blocs pour personnaliser diverses choses comme les mots de passe wifi, les clés ssh, etc ...
la source
Une autre alternative consiste à utiliser flash , un outil en ligne de commande pour flasher les cartes SD avec certaines personnalisations du système d'exploitation.
la source
Pour éviter d'avoir un seul emplacement pour carte SD sur votre ordinateur, la solution la plus simple pour graver efficacement plusieurs images est un concentrateur USB alimenté et un certain nombre d'adaptateurs microSD-USB bon marché. J'ai testé en utilisant un concentrateur USB-3 à 13 ports et des adaptateurs microSD-USB bon marché (<$ 1).
En ce qui concerne la gravure simultanée de nombreuses images de base, consultez dcfldd . Il est disponible dans les dépôts raspbian jessie. Il s'agit d'une version améliorée de GNU dd, avec la possibilité d'écrire simultanément sur plusieurs images. J'ai fait quelques tests occasionnels et j'ai pu copier une image de carte microSD sur un RPi 3B vers un mélange de 7 cartes branchées sur 3 types d'adaptateurs sur un hub USB. Les tests précédents sur un concentrateur USB 2.0 à 3 ports sur un A + ont également fonctionné. C'est à peu près feu-et-oublier une fois que les paramètres sont correctement définis. J'étais limité à 7 adaptateurs, mais il n'y a aucune raison de penser que cela ne fonctionnerait pas avec un plus grand nombre de cartes, bien que les vitesses soient limitées à celles de la carte de destination la plus lente.
Si vous devez garder un grand nombre de RPis à jour avec les changements de configuration une fois qu'ils sont en cours d'exécution et sur votre réseau, je chercherais à utiliser ansible ou fabric pour autoriser les mises à jour sur ssh et éviter d'avoir à re-graver le cartes pour les tenir à jour.
Enfin, vous pouvez modifier votre maître pour changer le nom d'hôte sur chaque RPi en utilisant un identifiant unique (par exemple basé sur l'adresse MAC du réseau) pour permettre une localisation facile via
avahi
sans avoir à modifier chaque RPi pour éviter les conflits après son démarrage pour éviter les conflits.la source