Итак, наконец, я могу разместить этот оптовый заказ на Raspberry Pis ! Однако их настройка будет рутиной. Что я хотел бы сделать, это:
- Скачайте стоковую картинку и повозитесь с ней на одном пи
- Сохранить / извлечь / скопировать это изображение на все другие SD-карты
- Настройте все остальные Pi без необходимости каких-либо дополнительных настроек
У моего компьютера только один слот для SD, так есть ли способ создать .img
файл из моей модифицированной «основной» карты?
Ответы:
Перед записью мастера клонирования в копии необходимо выполнить несколько простых подготовительных шагов, что избавит вас от многих головных болей.
/etc/ssh/ssh_host*
(они воссоздаются при запуске SSHD)/etc/udev/rules.d/70-network*
файл, вам нужно изменитьeth0
запись на что-то другое (я использовалeth9
для моих клонов) - и не забудьте обновить связанныйifconfig
файл - в centos, то есть/etc/sysconfig/network-scripts/ifcfg-eth0
(сделать его9
) и в debian (raspbian) это/etc/network/interfaces
источник
У меня были те же требования, что
1
и2
для распространения кастомизированной ОС. Посмотрев вокруг, я нашел много команд, но ни одного инструмента для создания компактного.zip
файла с SD-карты, поэтому я написалmkimg.sh
, что работает так:Это берет размонтированное устройство в
/dev/sda
, сокращает файловую систему и раздел, и записывает сжатый почтовый индекс. В моем случае это пишет систему Rasbbian размером ~ 1,5 ГБ для создания <500 МБ.zip
.Наряду с проверками работоспособности и вычислениями размера скрипт по сути делает это:
Сценарий и документация доступны на GitHub .
источник
Вы можете использовать сами Raspberry Pis вместе с multixterm на вашем главном компьютере, чтобы «загрузить ремешок» для записи SD-карты. Вы должны быть в состоянии найти multixterm во многих пакетных менеджерах дистрибутива.
Шаг 1: Купите несколько адаптеров для карты памяти USB.
Шаг 2: Используйте стандартные методы, чтобы записать 2 изображения SD-карты на ваш главный компьютер.
Шаг 3: Поместите 2 SD-карты с изображениями в 2 Raspberry Pis и подключите их к сети и включите питание.
Шаг 4: Вставьте 2 пустые SD-карты в адаптеры USB-флешки и подключите их к двум работающим Rapsberry Pis.
Шаг 5: Теперь вот где это становится интересным: с вашего основного компьютера используйте multixterm, например, из командной строки multixterm -xc "ssh% n" host1 host2, где host1 и host2 - это ip-адреса Raspberry Pis.
Шаг 6: Внутри окна стандартного ввода multixterm вы можете использовать dd, как обычно, для записи изображений на SD-карты, но теперь multixterm отправит эту команду dd на оба Raspberry Pis одновременно.
Шаг 7: Повторяйте шаги 3-6, пока у вас не будут написаны все ваши карточки.
Чем больше SD-карт вы создадите, тем больше Raspberry Pis вы сможете использовать для создания новых SD-карт. Очевидно, что эта техника не будет записывать все ваши карты за один раз, но это сократит время, необходимое для завершения записи всех карт. Эта техника будет в значительной степени экспериментальной, поэтому ваш пробег будет варьироваться, но теория звучит как интересный эксперимент ...
источник
То, что вы ищете, это устройство Gang Programmer для SD-карт или SD Card Duplicator.
Да, эти системы существуют. Вот то, что я нашел Googling "программистом SD Card Gang". Это конкретное устройство имеет главный слот, в который можно копировать до 7 ведомых SD-карт одновременно. Другие программисты с 3 или 11 слотами слотов также доступны.
Есть также разные типы программистов. Некоторые могут прошивать образ с вашего жесткого диска и управляются программным обеспечением, установленным на ПК. Другие устройства, такие как те, что связаны выше, не должны взаимодействовать с серверами, потому что они отражают информацию от мастер-чипа.
Стоит отметить, что эти устройства не дешевые. Они обычно используются в условиях массового производства, и спрос не слишком высок. Будьте готовы заплатить не менее 1000 долларов за хорошее устройство с этой функциональностью.
ProDuplicator.com, похоже, имеет еще несколько вариантов дублирования SD-карты.
источник
У нас было аналогичное требование для проекта, в котором нам нужно было ежедневно записывать изображения на 10+ SD-карт Raspberry Pi. Мы рассмотрели различные карты Card Duplicator, доступные для покупки, но обнаружили, что большинство из них не смогут успешно создать загрузочную SD-карту, так как большинство копирует только файлы напрямую, а не загрузочную информацию, они также смехотворно дороги!
Таким образом, в качестве решения мы написали наше собственное простое веб-программное обеспечение для запуска на одном Raspberry Pi, подключенном к 2 х 7-портовым USB-концентраторам с питанием от Belkin (у Pi есть ограничение на 2 хаба и максимум 14 USB-портов).
Теперь мы выпустили это программное обеспечение с открытым исходным кодом, чтобы помочь другим, у кого есть такие же требования. В настоящее время доступен только исходный код, но мы также будем загружать файл изображения на основе Arch Linux ARM под управлением Nginx + php
http://www.rockandscissor.com/projects/osid
источник
Это работает на Mac OS X.
Размонтируйте карту, с которой вы возились, затем попробуйте:
sudo dd if=/dev/sdcardlocation of=backupimage.img
,Замените
sdcardlocation
на местоположение вашей SD-карты.Вы можете поменяться
.img
с.dmg
или.iso
.Затем, чтобы подготовить другие карты, размонтируйте их и запустите предыдущий код со значениями, поменяемыми местами. Строка будет такой:
sudo dd if=backupimage.img of=/dev/sdcardlocation
,Обязательно размонтируйте их, прежде чем вынимать их из устройства чтения карт.
источник
Хотя, как мне сделать резервную копию моего Raspberry Pi? предоставляет отличные инструкции о том, как клонировать одну SD-карту, делая это по одной за десятки карт, будет утомительно.
Учитывая, что никто, кажется, не производил считыватель SD-карт с несколькими картами (который может одновременно хранить несколько SD-карт) и тот факт, что вы можете купить USB-концентратор и несколько USB-считывателей с одной SD-картой очень дешево, Один из способов ускорить процесс - создать собственный дубликатор SD-карты.
Вы даже можете написать скрипт для автоматической записи выбранного вами изображения Raspberry Pi на любой пустой слот для SD-карты, вставленный в слот. Скрипты могут автоматически обнаружить, что карта была вставлена, и указать, когда копирование завершится.
Как упоминалось в комментариях darrenjw , вы захотите заменить ssh-сертификаты в каждом из клонированных образов при первой загрузке, поэтому вы можете убедиться, что эта первая загрузка выполнена при подключении к сегменту частной сети перед подключением это к сети, подключенной к интернету.
источник
Обычно есть лучший инструмент для этого, чем копировать много RP изображений.
Но это зависит от того, что вы действительно хотите сделать.
Вы должны взглянуть на cfengine3 [1], fai [2], chef [3], fabric [4] или puppet [5]. Они являются инструментами автоматической настройки, которые могут быть полезны для выполнения каких-либо действий на вашем компьютере при первом запуске (и позже).
[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/
источник
PiBakery может быть жизнеспособным решением для вас. PiBakery позволяет создавать настраиваемое изображение Raspbian, используя блоки для настройки различных вещей, таких как пароли Wi-Fi, ключи SSH и т. Д.
источник
Другой альтернативой является использование flash , инструмента командной строки для прошивки SD-карт с определенными настройками ОС.
источник
Чтобы решить проблему, связанную с наличием только одного слота для SD-карты на вашем компьютере, простой способ эффективно записать несколько изображений - это USB-концентратор с питанием и ряд недорогих адаптеров microSD-USB. Я тестировал с использованием 13-портового концентратора USB-3 и дешевых (<$ 1) адаптеров microSD-USB.
Так как прожигание большого количества базовых изображений одновременно, проверьте Поскольку вы записываете dcfldd . Он доступен в репозиториях raspbian jessie. Это расширенная версия GNU dd, с возможностью одновременной записи в несколько изображений. Я провел некоторое случайное тестирование и смог скопировать образ карты microSD на RPi 3B на набор из 7 карт, подключенных к адаптерам 3 типов на концентраторе USB. Предыдущие тесты с 3-портовым USB 2.0 хабом на A + также работали. Это в значительной степени запускается и забывается, как только вы правильно установите параметры. Я был ограничен 7 адаптерами, но нет никаких причин думать, что он не будет работать с большим количеством карт, хотя скорость будет ограничена скоростью самой медленной карты назначения.
Если вам нужно постоянно обновлять RPS с изменениями конфигурации после их запуска и в вашей сети, я бы хотел использовать ANSIBLE или fabric, чтобы разрешить обновления через ssh и избежать необходимости повторной записи карты, чтобы держать их в курсе.
Наконец, вы можете изменить свой мастер, чтобы изменить имя хоста на каждом RPi, используя уникальный идентификатор (например, основанный на сетевом MAC-адресе), чтобы обеспечить простое определение местоположения
avahi
без необходимости изменять каждый RPi, чтобы избежать конфликтов после его загрузки, чтобы избежать конфликтов.источник