¡Así que finalmente puedo hacer ese pedido a granel para Raspberry Pis ! Sin embargo, configurarlos será una tarea difícil. Lo que me gustaría hacer es:
- Descargue una imagen de archivo y juegue con ella en una sola Pi
- Guardar / extraer / copiar esa imagen en todas las otras tarjetas SD
- Haga que el otro Pi esté configurado sin necesidad de configuración adicional.
Mi computadora solo tiene una ranura SD, entonces, ¿hay alguna forma de generar un .img
archivo desde mi tarjeta 'maestra' modificada?
Respuestas:
Hay un par de sencillos pasos de preparación que hacer antes de escribir un clon master en copias que le ahorrará muchos dolores de cabeza.
/etc/ssh/ssh_host*
(estos se recrean cuando ejecuta SSHD)/etc/udev/rules.d/70-network*
archivo, necesitará modificar laeth0
entrada a otra cosa (que utilicéeth9
para mis maestros de clones), y recuerde actualizar elifconfig
archivo asociado , en centos que es/etc/sysconfig/network-scripts/ifcfg-eth0
(hacer9
) y en debian (raspbian) es/etc/network/interfaces
fuente
Tenía los mismos requisitos que
1
y2
para distribuir un sistema operativo personalizado. Después de mirar alrededor, encontré muchos comandos, pero no una sola herramienta para crear un.zip
archivo compacto desde una tarjeta SD, así que escribímkimg.sh
, que funciona así:Esto toma el dispositivo desmontado en
/dev/sda
, reduce el sistema de archivos y la partición, y escribe un zip comprimido. En mi uso, esto escribe un sistema Raspbian ~ 1.5GB para crear <500MB.zip
.Junto con los controles de cordura y los cálculos de tamaño, el script esencialmente hace esto:
El script y la documentación están disponibles en GitHub .
fuente
Podrías usar el Raspberry Pis junto con multixterm en tu computadora principal para "arrancar" la escritura de tu tarjeta SD. Debería poder encontrar multixterm en muchos administradores de paquetes de distro.
Paso 1: Compre un montón de adaptadores de tarjeta SD de memoria USB.
Paso 2: Use los métodos estándar para escribir 2 de las imágenes de la tarjeta SD con su computadora principal.
Paso 3: coloque las 2 tarjetas SD con imágenes en 2 Raspberry Pis y conéctelas a su red y enciéndalas.
Paso 4: coloque 2 tarjetas SD vacías en los adaptadores de memoria USB y conéctelas a las 2 Rapsberry Pis en ejecución.
Paso 5: Ahora aquí es donde se pone interesante, desde su computadora principal use multixterm como tal desde la línea de comando multixterm -xc "ssh% n" host1 host2 donde host1 y host2 son las direcciones IP de Raspberry Pis.
Paso 6: Dentro de la ventana stdin de multixterm, puede usar dd como lo haría normalmente para escribir imágenes en las tarjetas SD, pero ahora multixterm enviará ese comando dd a Raspberry Pis simultáneamente.
Paso 7: Repita los pasos 3-6 hasta que tenga todas sus tarjetas escritas.
Cuantas más tarjetas SD imagines, más Raspberry Pis podrás usar para crear imágenes de nuevas tarjetas SD. Obviamente, esta técnica no escribirá todas sus tarjetas de una vez, pero reduciría la cantidad de tiempo que lleva completar la escritura de todas las tarjetas. Esta técnica sería en gran medida experimental, por lo que su kilometraje variaría, pero la teoría parece un experimento interesante ...
fuente
Lo que está buscando es un dispositivo Gang Programmer para tarjetas SD o Duplicador de tarjetas SD.
Sí, estos sistemas existen. Aquí hay uno que encontré en Google "programador de pandillas de tarjetas SD". Este dispositivo específico tiene una ranura maestra, que puede copiar hasta 7 tarjetas SD esclavas a la vez. Otros programadores con 3 u 11 ranuras esclavas también están disponibles.
También hay diferentes tipos de programadores. Algunos pueden mostrar una imagen desde su disco duro y es controlada por un software instalado en una PC. Otros dispositivos, como el vinculado anteriormente, no tienen que conectarse a un servidor porque reflejan la información de un chip maestro.
Vale la pena mencionar que estos dispositivos no son baratos. Por lo general, se usan en un entorno de producción en masa y la demanda no es excesivamente alta. Esté preparado para pagar al menos $ 1,000 por un buen dispositivo con esta funcionalidad.
ProDuplicator.com también parece tener muchas más opciones de duplicación de tarjetas SD.
fuente
Tuvimos un requisito similar para un proyecto en el que necesitábamos poder escribir imágenes en más de 10 tarjetas SD Raspberry Pi diariamente. Observamos los diversos duplicadores de tarjetas disponibles para comprar, pero descubrimos que la mayoría de ellos no crearán con éxito una tarjeta SD de arranque, ya que la mayoría solo copia archivos directamente y no la información de arranque, ¡también son ridículamente caros!
Entonces, como solución, escribimos nuestro propio software simple basado en la web para ejecutar en una sola Raspberry Pi conectada a 2 x 7 puertos USB con alimentación Belkin (The Pi tiene una limitación de 2 centros y un máximo de 14 puertos USB).
Ahora hemos lanzado esto como software de código abierto para ayudar a otros que tienen el mismo requisito. Actualmente solo está disponible el código fuente, pero también cargaremos un archivo de imagen basado en ARM Arch Linux que ejecuta Nginx + php
http://www.rockandscissor.com/projects/osid
fuente
Esto funciona en Mac OS X.
Desmonta la tarjeta con la que has jugado, luego prueba:
sudo dd if=/dev/sdcardlocation of=backupimage.img
.Reemplace
sdcardlocation
con la ubicación de su tarjeta SD.Puedes intercambiar
.img
con.dmg
o.iso
.Luego, para preparar las otras tarjetas, desmóntelas y ejecute el código anterior con los valores intercambiados. La línea sería esta:
sudo dd if=backupimage.img of=/dev/sdcardlocation
.Asegúrese de desmontarlos antes de sacarlos del lector de tarjetas.
fuente
Aunque ¿Cómo hago una copia de seguridad de mi Raspberry Pi? proporciona excelentes instrucciones sobre cómo clonar una sola tarjeta SD, haciéndola una a la vez para que docenas de tarjetas se vuelvan tediosas.
Dado que nadie parece haber producido un lector de tarjetas SD de múltiples tarjetas (uno que pueda contener múltiples tarjetas SD a la vez) y el hecho de que puede comprar un concentrador USB y un montón de lectores USB de tarjetas SD a muy bajo costo, Una forma de acelerar el proceso sería hacer su propio duplicador de tarjetas SD.
Incluso podría escribir un script para escribir automáticamente la imagen de Raspberry Pi elegida en cualquier ranura para tarjeta SD vacía insertada en una ranura. Las secuencias de comandos podrían detectar automáticamente que se ha insertado una tarjeta e indicar cuándo se completa la copia.
Como darrenjw mencionado en los comentarios, sin embargo, tendrá que sustituir los certificados de ssh en cada una de las imágenes clonadas la primera vez que se inician, por lo que puede asegurarse de que este primer arranque se realiza mientras está conectado a un segmento de red privada antes de conectar a una red conectada a internet.
fuente
Por lo general, hay una mejor herramienta para hacer esto, que copiar muchas imágenes RP.
Pero depende de lo que realmente quieras hacer.
Debes echar un vistazo a cfengine3 [1], fai [2], chef [3], fabric [4] o puppet [5]. Son herramientas de configuración automática, que serían útiles para hacer cosas en su máquina cuando se inicia por primera vez (y más tarde).
[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/
fuente
PiBakery podría ser una solución viable para usted. PiBakery le permite crear una imagen Raspbian personalizada utilizando bloques para personalizar varias cosas como contraseñas wifi, claves ssh, etc.
fuente
Otra alternativa es usar flash , una herramienta de línea de comandos para flashear tarjetas SD con ciertas personalizaciones para el sistema operativo.
fuente
Para abordar solo tener una sola ranura para tarjeta SD en su computadora, la respuesta fácil para grabar múltiples imágenes de manera eficiente es un concentrador USB con alimentación y una serie de adaptadores microSD-USB económicos. He probado usando un concentrador USB-3 de 13 puertos y adaptadores microSD-USB económicos (<$ 1).
En cuanto a la grabación simultánea de muchas imágenes base, consulte dcfldd . Está disponible en los repositorios raspbian jessie. Es una versión mejorada de GNU dd, con la capacidad de escribir simultáneamente en múltiples imágenes. Hice algunas pruebas casuales y pude copiar una imagen de tarjeta microSD en un RPi 3B en una combinación de 7 tarjetas conectadas a 3 tipos de adaptadores en un concentrador USB. Las pruebas previas a un concentrador USB 2.0 de 3 puertos en un A + también funcionaron. Es más o menos disparar y olvidar una vez que obtiene los parámetros configurados correctamente. Estaba limitado a 7 adaptadores, pero no hay razón para pensar que no funcionaría con una mayor cantidad de tarjetas, aunque las velocidades se limitarán a la de la tarjeta de destino más lenta.
Si necesita mantener una gran cantidad de RPis actualizados con los cambios de configuración una vez que se ejecutan y en su red, buscaría usar ansible o fabric para permitir actualizaciones a través de ssh y evitar la necesidad de volver a grabar el tarjetas para mantenerlos al día.
Finalmente, puede modificar su maestro para cambiar el nombre de host en cada RPi utilizando un identificador único (por ejemplo, basado en la dirección MAC de la red) para permitir una ubicación fácil
avahi
sin tener que modificar cada RPi para evitar conflictos después de que se inicie para evitar conflictos.fuente