Como posso provisionar em massa muitos RPis de uma só vez?

10

Aqui no Stack Exchange, estamos implantando um monte de Raspberry Pi para fazer várias exibições em nossa nova e incrível sede em Nova York. Estou tentando provisionar em massa as unidades com a mesma imagem do cartão SD, no entanto, gravar a imagem em 4 MB / s é dolorosamente lento quando se trata de uma imagem direta de 16 GB criada via dd.

Quais são as opções que eu tenho para provisionar muitos Raspberry Pi em massa a partir de uma única imagem de origem? Não tenho tempo para obter uma imagem pré-gravada por um distribuidor.

Peter Grace
fonte
Ótima pergunta. Conversamos sobre isso no mais recente Jamboree. Vou tentar desenterrar os slides.
Jivings
2
Você usa os 16 GB completos ou a maior parte está vazia. Se estiver quase vazio, você poderá criar uma imagem menor e redimensioná-la na primeira inicialização.
Craig
@ Craig você tem um exemplo ou links sobre como fazer isso? Eu estava tentando descobrir como fazer isso conceitualmente, mas se houver arte anterior em algum lugar que seja muito preferível.
Peter Grace
11
O comando raspi-config tem uma opção para expandir os rootfs. Você provavelmente pode configurar um script de inicialização único para fazê-lo usando isso como base.
22413 Craig

Respostas:

2

Este vídeo mostra uma solução (embora não seja particularmente elegante). Essencialmente, o usuário conectou em série uma série de Hubs USB e gravadores de cartão SD para gravar 10 imagens de cartão SD por vez.

insira a descrição da imagem aqui

Ele sugere que o script para fazer isso estará disponível no GitHub, mas infelizmente não consigo encontrá-lo. Este parece ser o site pessoal dele, se você quiser entrar em contato com ele para obter a solução.

No entanto, duvido que o script seja muito complexo e não seja necessário escrever muito do zero.

Jivings
fonte
2

Um leitor de cartão SD USB 3.0 deve poder alimentar dados no limite de velocidade do seu cartão. Ainda será muito mais rápido gravar um sistema mínimo e permitir que cada Raspberry Pi faça o redimensionamento na segunda inicialização.

scruss
fonte
1

Estou fazendo uma coisa semelhante com u-boot para inicializar, usando sua inicialização pxe para o kernel e nfs posteriormente para o sistema de arquivos raiz. Dessa forma, você só precisa escrever cerca de 3 mb, o que é feito rapidamente. Isso também significa que você pode facilitar a manutenção atualizando a única cópia mestre nos nfs. A desvantagem é que a inicialização será mais lenta.

Máx.
fonte
0

Alex Bradbury, da fundação Raspberry Pi, está atualmente empacotando uma ferramenta que permite exibir vários cartões SD ao mesmo tempo (embora seja limitado ao número de slots de cartão SD de hardware que você possui).

Sua conta do Github atualmente não a disponibiliza publicamente, mas deve ser feita em breve (pelo que ele me disse em uma conferência recente).

asfalto
fonte