W końcu mogę złożyć zamówienie zbiorcze na Raspberry Pis ! Jednak ich konfiguracja będzie uciążliwa. Chciałbym:
- Pobierz zdjęcie stockowe i majstruj przy nim na jednym pi
- Zapisz / rozpakuj / skopiuj ten obraz na wszystkie inne karty SD
- Niech wszystkie inne Pi są skonfigurowane bez konieczności wykonywania dodatkowej konfiguracji
Mój komputer ma tylko jedno gniazdo SD, więc czy istnieje sposób na wygenerowanie .img
pliku z mojej zmodyfikowanej karty „master”?
Odpowiedzi:
Jest kilka prostych kroków przygotowawczych do zrobienia przed napisaniem mistrza klonowania na kopiach, co pozwoli ci zaoszczędzić wielu problemów.
/etc/ssh/ssh_host*
(zostaną one odtworzone po uruchomieniu SSHD)/etc/udev/rules.d/70-network*
plik, musisz zmodyfikowaćeth0
wpis w czymś innym (użyłemeth9
dla moich mistrzów klonowania) - i pamiętaj, aby zaktualizować powiązanyifconfig
plik - w centos, czyli/etc/sysconfig/network-scripts/ifcfg-eth0
(zrób to9
), aw debian (raspbian) to/etc/network/interfaces
źródło
Miałem te same wymagania, jak
1
i2
do dystrybucji dostosowanych OS. Po rozejrzeniu się znalazłem wiele poleceń, ale ani jednego narzędzia do utworzenia kompaktowego.zip
pliku z karty SD, więc napisałemmkimg.sh
, który działa w ten sposób:Spowoduje to podłączenie odmontowanego urządzenia
/dev/sda
, zmniejszenie systemu plików i partycji oraz zapisanie skompresowanego pliku zip. W moim zastosowaniu zapisuje to ~ 1,5 GB systemu Raspbian, aby utworzyć <500 MB.zip
.Oprócz kontroli poczytalności i obliczeń rozmiaru skrypt zasadniczo wykonuje następujące czynności:
Skrypt i dokumentacja są dostępne na GitHub .
źródło
Możesz użyć Raspberry Pis razem z multixtermem na głównym komputerze, aby „uruchomić pasek” podczas zapisywania karty SD. Powinieneś być w stanie znaleźć multixterm w menedżerach pakietów wielu dystrybucji.
Krok 1: Kup kilka adapterów kart pamięci USB.
Krok 2: Użyj standardowych metod, aby zapisać 2 obrazy kart SD na głównym komputerze.
Krok 3: Włóż 2 karty SD z obrazami do 2 Raspberry Pis i podłącz je do sieci i włącz.
Krok 4: Włóż 2 puste karty SD do adapterów USB i podłącz je do 2 działających Rapsberry Pis.
Krok 5: Teraz tutaj jest interesująco, z głównego komputera użyj multixterm, tak jak z wiersza poleceń multixterm -xc "ssh% n" host1 host2, gdzie host1 i host2 to adresy IP Raspberry Pis.
Krok 6: W oknie standardowego wejścia multixterm możesz użyć dd, tak jak zwykle zapisujesz obrazy na kartach SD, ale teraz multixterm wyśle to polecenie dd do obu Raspberry Pis jednocześnie.
Krok 7: Powtarzaj kroki 3-6, aż wszystkie karty zostaną zapisane.
Im więcej kart SD obrazujesz, tym więcej Raspberry Pis możesz użyć do obrazowania nowych kart SD. Oczywiście ta technika nie zapisuje wszystkich twoich kart za jednym razem, ale zmniejszyłaby ilość czasu potrzebnego na ukończenie pisania wszystkich kart. Ta technika byłaby w dużej mierze eksperymentalna, więc przebieg byłby różny, ale jej teoria brzmi jak ciekawy eksperyment ...
źródło
To, czego szukasz, to urządzenie Gang Programmer do kart SD lub powielacz kart SD.
Tak, te systemy istnieją. Oto jeden ze znalezionych przez Googlinga „programisty kart sd”. To konkretne urządzenie ma gniazdo główne, które można skopiować do 7 podrzędnych kart SD jednocześnie. Dostępni są również inni programiści z 3 lub 11 gniazdami slave.
Istnieją również różne typy programistów. Niektóre mogą sflashować obraz z dysku twardego i są kontrolowane przez oprogramowanie zainstalowane na komputerze. Inne urządzenia, takie jak powyższe, nie muszą łączyć się z serwerami, ponieważ odbijają informacje poza układem głównym.
Warto wspomnieć, że te urządzenia nie są tanie. Są zwykle używane w środowisku produkcji masowej, a popyt nie jest zbyt wysoki. Przygotuj się na zapłacenie co najmniej 1000 USD za dobre urządzenie z tą funkcją.
Wydaje się, że ProDuplicator.com ma jeszcze kilka innych opcji duplikacji kart SD.
źródło
Podobny wymóg dotyczył projektu, w którym codziennie musieliśmy zapisywać obrazy na kartach SD 10+ Raspberry Pi. Przyjrzeliśmy się różnym Powielaczom kart, które można kupić, ale okazało się, że większość z nich z powodzeniem nie tworzy rozruchowej karty SD, ponieważ większość kopiuje tylko pliki bezpośrednio, a nie informacje rozruchowe, są też absurdalnie drogie!
Dlatego jako rozwiązanie napisaliśmy własne proste oprogramowanie internetowe do działania na jednym Raspberry Pi podłączonym do 2 x 7-portowych koncentratorów USB zasilanych Belkin (Pi ma ograniczenie 2 koncentratorów i maksymalnie 14 portów USB).
Wydaliśmy to jako oprogramowanie Open Source, aby pomóc innym, którzy mają takie same wymagania. Obecnie dostępny jest tylko kod źródłowy, ale prześlemy również plik obrazu oparty na Arch Linux ARM z Nginx + php
http://www.rockandscissor.com/projects/osid
źródło
Działa to w systemie Mac OS X.
Odmontuj kartę, którą majstrowałeś, a następnie spróbuj:
sudo dd if=/dev/sdcardlocation of=backupimage.img
.Zamień
sdcardlocation
na lokalizację karty SD.Możesz zamienić za
.img
pomocą.dmg
lub.iso
.Następnie, aby przygotować inne karty, odmontuj je i uruchom poprzedni kod z zamienionymi wartościami. Linia byłaby taka:
sudo dd if=backupimage.img of=/dev/sdcardlocation
.Pamiętaj, aby odmontować je przed wyjęciem ich z czytnika kart.
źródło
Chociaż Jak mogę wykonać kopię zapasową mojego Raspberry Pi? zapewnia doskonałe instrukcje klonowania pojedynczej karty SD, robienie tego pojedynczo, ponieważ dziesiątki kart staną się uciążliwe.
Ponieważ wydaje się, że nikt nie wyprodukował czytnika kart SD z wieloma kartami (takiego, który może pomieścić wiele kart SD jednocześnie) oraz fakt, że można bardzo tanio kupić hub USB i kilka czytników USB z jedną kartą SD, Jednym ze sposobów przyspieszenia tego procesu byłoby utworzenie własnego powielacza kart SD.
Możesz nawet napisać skrypt, aby automatycznie zapisać wybrany obraz Raspberry Pi na dowolnym pustym gnieździe karty SD włożonym do gniazda. Skrypty mogą automatycznie wykryć włożenie karty i wskazać, kiedy kopia zostanie ukończona.
Jak jednak wspomniał darrenjw w komentarzach, będziesz chciał zastąpić certyfikaty ssh w każdym sklonowanym obrazie przy pierwszym uruchomieniu, więc możesz się upewnić, że to pierwsze uruchomienie odbywa się podczas połączenia z prywatnym segmentem sieci przed połączeniem do sieci połączonej z Internetem.
źródło
Zwykle jest to lepsze narzędzie, aby to zrobić, niż skopiować wiele obrazów RP.
Ale to zależy od tego, co naprawdę chcesz zrobić.
Powinieneś rzucić okiem na cfengine3 [1], fai [2], kucharz [3], tkaninę [4] lub marionetkę [5]. Są to narzędzia do automatycznej konfiguracji, które przydadzą się do robienia rzeczy na twoim komputerze przy pierwszym uruchomieniu (i później).
[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/
źródło
PiBakery może być dla Ciebie realnym rozwiązaniem. PiBakery umożliwia tworzenie niestandardowego obrazu Raspbian za pomocą bloków w celu dostosowania różnych rzeczy, takich jak hasła Wi-Fi, klucze ssh itp.
źródło
Inną alternatywą jest użycie flasha , narzędzia wiersza poleceń do flashowania kart SD z pewnymi dostosowaniami do systemu operacyjnego.
źródło
Aby rozwiązać problem posiadania tylko jednego gniazda karty SD w komputerze, łatwą odpowiedzią na wydajne nagrywanie wielu obrazów jest zasilany koncentrator USB i szereg niedrogich adapterów microSD-USB. Testowałem przy użyciu 13-portowego koncentratora USB-3 i tanich (<1 USD) adapterów microSD-USB.
Jeśli chodzi o nagrywanie wielu podstawowych obrazów jednocześnie, sprawdź dcfldd . Jest dostępny w repozytoriach raspbian jessie. To ulepszona wersja GNU dd z możliwością jednoczesnego zapisu do wielu obrazów. Przeprowadziłem przypadkowe testy i byłem w stanie skopiować obraz karty microSD na RPi 3B do mieszanki 7 kart podłączonych do 3 typów adapterów na hubie USB. Wcześniejsze testy 3-portowego koncentratora USB 2.0 na A + również działały. Po prawidłowym ustawieniu parametrów jest prawie jak ognia i zapomnienia. Byłem ograniczony do 7 adapterów, ale nie ma powodu sądzić, że nie będzie działać z większą liczbą kart, choć prędkości będą ograniczone do najwolniejszej karty docelowej.
Jeśli trzeba zachować dużą liczbę spółką RPIS się na bieżąco ze zmianami w konfiguracji po ich używasz i na sieci, że patrzę w użyciu ansibl lub tkaniny , aby umożliwić aktualizacje przez SSH i uniknąć konieczności ponownego spalić karty, aby były aktualne.
Na koniec możesz zmodyfikować swojego wzorca, aby zmienić nazwę hosta na każdym RPi przy użyciu unikalnego identyfikatora (np. Na podstawie adresu MAC sieci), aby umożliwić łatwą lokalizację
avahi
bez konieczności modyfikowania każdego RPi, aby uniknąć konfliktów po uruchomieniu, aby uniknąć konfliktów.źródło