同じ画像を多くのSDにコピーするにはどうすればよいですか?


23

最後に、Raspberry Pisの一括注文を行うことができます!ただし、それらを構成するのは面倒です。私がやりたいことは:

  1. ストックイメージをダウンロードし、単一のPiでそれをいじくりまわす
  2. その画像を他のすべてのSDカードに保存/抽出/コピーします
  3. 追加の構成を行う必要なく、他のPiをすべてセットアップする

私のコンピューターにはSDスロットが1つしかないので.img、変更した「マスター」カードからファイルを生成する方法はありますか?


4
トムはこの投稿を確認してくださいraspberrypi.stackexchange.com/questions/311/…それはあなたの質問に答えると思います。
スティーブロビラード

@SteveRobillard +1それは質問に完璧に答えます。
-Jivings

4
知っておくべきことの1つはSSHです。マスターでSSHをセットアップすると、すべてのイメージでクローンSSH証明書が作成されますが、これは必ずしも必要なものではありません。あなたは小僧のヘッドレスを使用しようとしている場合OTOH、あなたはおそらく... SSHをインストールしたいですか
ダレン・ウィルキンソン

@darrenjwそれは非常に良い点です。あなたは私に恥ずかしさを少しも救わず、間違いもしませんでした。ありがとうございました。
-Jivings

大量のPiをどのように使用するかに応じて、Andrew MulhollandのRaspi-LTSPプロジェクトをチェックしてください。教室での使用だけでなく、クラスターにも非常に適しています。
デイブジョーンズ

回答:


7

クローンマスターをコピーに書き込む前に行う簡単な準備手順がいくつかあり、これにより多くの頭痛の種を節約できます。

  1. DHCPのクローンマスターを構成する
  2. すべてを削除します/etc/ssh/ssh_host*(SSHDを実行すると、これらが再作成されます)
  3. あなたが持っている場合は/etc/udev/rules.d/70-network*、ファイルを、あなたは変更する必要がありますeth0何か他のもの(私が使用するエントリをeth9、私のクローンマスターのために) -と、関連する更新することを忘れないでくださいifconfigファイル- CentOSのである/etc/sysconfig/network-scripts/ifcfg-eth0(それを作るが9、それはだ)とDebianで(raspbian)/etc/network/interfaces

7

カスタマイズされたOS 1と同じ要件2を配布しました。周りを見て回った後.zip、SDカードからコンパクトなファイルを作成するための単一のツールではなく、多くのコマンドを見つけたので、次のように記述しましたmkimg.sh

sudo bash mkimg.sh /dev/sda sdcard.img.zip

これにより、マウントされていないデバイスが/dev/sdaで取得され、ファイルシステムとパーティションが縮小され、圧縮されたzipが書き出されます。私の使用では、これは<1.5GBのRaspbianシステムを書き込み、<500MBを作成します.zip

健全性チェックとサイズ計算に加えて、スクリプトは基本的にこれを行います。

e2fsck -f /dev/sda2
resize2fs -M /dev/sda2
parted --align optimal /dev/sda unit MB resizepart 2 1700 yes
dd bs=1M if=/dev/sda of=sdcard.img count=1900
zip sdcard.img.zip sdcard.img
parted /dev/sda resizepart 2 16.0GB
resize2fs /dev/sda2

スクリプトとドキュメントはGitHub入手できます


5

メインコンピューターのmultixtermと共にRaspberry Pi自体を使用して、SDカードの書き込みを「ブートストラップ」できます。多くのディストリビューションのパッケージマネージャーでmultixtermを見つけることができるはずです。

ステップ1:USBスティックSDカードアダプターをたくさん購入します。

手順2:標準の方法を使用して、メインコンピューターで2つのSDカードイメージを書き込みます。

ステップ3:2枚のSDカードを2つのRaspberry Piに入れ、ネットワークに接続して電源を入れます。

ステップ4:2枚の空のSDカードをUSBスティックアダプターに挿入し、実行中の2枚のRapsberry Piに差し込みます。

ステップ5:ここで興味深いのは、メインコンピューターからmultixtermをコマンドラインmultixterm -xc "ssh%n" host1 host2から使用することです。host1 とhost2はRaspberry PiのIPアドレスです。

ステップ6:multixtermのstdinウィンドウ内で、通常SDカードに画像を書き込むのと同じようにddを使用できますが、multixtermはそのddコマンドを両方のRaspberry Piに同時に送信します。

ステップ7:すべてのカードが書き込まれるまで、ステップ3〜6を繰り返します。

イメージングするSDカードが多いほど、新しいSDカードのイメージングに使用できるRaspberry Piが増えます。明らかに、この手法ではすべてのカードを一度に書き込むことはできませんが、すべてのカードの書き込みを完了するのにかかる時間を短縮できます。この手法は主に実験的なものなので、走行距離は異なりますが、その理論は興味深い実験のように聞こえます...


非常に興味深い-しかし、質量スケールのために非常に高価=)heheそれが大好きです。異なるコンソールの画像を異なるUSB SDアダプターに書き込むハイパースレッドを作成する方法はありませんか?
ピョートルクラ

5

探しているのは、SDカード用のギャングプログラマーデバイス、またはSDカードデュプリケーターです。

はい、これらのシステムは存在します。 ここでは一つであり、私は、「SDカードのギャングプログラマ」グーグルで見つけたこと。この特定のデバイスにはマスタースロットがあり、最大7つのスレーブSDカードを一度にコピーできます。3または11個のスレーブスロットを持つ他のプログラマも利用可能です。

さまざまな種類のプログラマーもいます。ハードドライブからイメージをフラッシュできるものもあり、PCにインストールされたソフトウェアによって制御されます。上記のリンクのような他のデバイスは、マスターチップから情報をミラーリングするため、サーバーに接続する必要はありません。

これらのデバイスは安くはないことを言及する価値があります。通常、大量生産環境で使用され、需要はそれほど高くありません。この機能を備えた優れたデバイスに少なくとも1,000ドルを支払う準備をしてください。

ProDuplicator.comには、さらに多くのSDカード複製オプションもあるようです。


SDカードを手動で出し入れするために、まだこのことをベビーシッターで行う必要があることを考えると、なぜこれらのコストがかかるのだろうか。
ドミトリーグリゴリエフ

@DmitryGrigoryev私の答えから5年で、複製サイトには600ドル未満の価格があり、私見では安いようです。数量が価格を左右することに留意してください。多くの人がこれらを必要としないので、開発および製造コストを回収する必要があるため、高価です。10台のPCまたはラップトップごとにこれらのいずれかがあれば、おそらく100〜150ドルのデバイスになります。
RLH

5

毎日10枚以上のRaspberry Pi SDカードに画像を書き込む必要があるプロジェクトでも、同様の要件がありました。購入可能なさまざまなカードデュプリケーターを調べましたが、それらのほとんどはブータブルSDカードを正常に作成できないことがわかりました。ほとんどの場合、ブータブル情報ではなくファイルを直接コピーするだけで、途方もなく高価です!

ソリューションとして、2つの7ポートBelkin給電USBハブに接続された単一のRaspberry Piで実行する独自のシンプルなWebベースのソフトウェアを作成しました(Piには2つのハブと最大14のUSBポートの制限があります)。

同じ要件を持つ他のユーザーを支援するために、これをオープンソースソフトウェアとしてリリースしました。現在、ソースコードのみが利用可能ですが、Nginx + phpを実行しているArch Linux ARMに基づく画像ファイルもアップロードします

http://www.rockandscissor.com/projects/osid


2

これはMac OS Xで動作します。

いじくり回したカードをアンマウントし、試してください:

sudo dd if=/dev/sdcardlocation of=backupimage.img

sdcardlocationSDカードの場所に置き換えます。

あなたは入れ替えることができ.img.dmgたり.iso

次に、他のカードを準備してアンマウントし、値を入れ替えて前のコードを実行します。行は次のようになります。

sudo dd if=backupimage.img of=/dev/sdcardlocation

カードリーダーから取り出す前に、必ずマウントを解除してください。


1

どのようにバックアップ私のラズベリーパイのですか?1枚のSDカードのクローンを作成する方法に優れた制限を提供します。一度に1枚のSDカードをクローンすると、退屈になります。

マルチカードSDカードリーダー(一度に複数のSDカードを保持できるもの)を誰も生産していないようで、USBハブと単一のSDカードUSBリーダーを非常に安く購入できるという事実を考えると、プロセスを高速化する1つの方法は、独自のSDカードデュプリケーターを作成することです。

スロットに挿入された空のSDカードスロットに、選択したRaspberry Piイメージを自動的に書き込むスクリプトを作成することもできます。スクリプトは、カードが挿入されたことを自動的に検出し、コピーが完了したことを示します。

以下のようdarrenjwはいえ、コメントで述べたように、あなたが接続する前にプライベートネットワークセグメントに接続しながら、この最初のブートが行われていることを確認することがありので、クローン化された画像のそれぞれに、それらが起動されている最初の時間をSSH認証を交換したいと思うでしょうインターネットに接続されたネットワークに接続します。


通常、カードをマウントして画像をフラッシュすることはありません。
アレックスチェンバレン

@AlexChamberlainに感謝します。Piが届くまでにまだ2週間あります(Grrr、長いリードタイムでRSの待機リストに載っていることを知っていたら、ファーネルに長い間注文したばかりだったでしょう)そもそもリードタイム)なので、実際にはまだ試していません。
マークブース

1

通常、これを行うためのより優れたツールがあり、それから多くの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/


1

PiBakeryはあなたにとって実行可能なソリューションです。PiBakeryでは、ブロックを使用してカスタマイズされたRaspbianイメージを作成し、wifiパスワード、sshキーなどのさまざまなものをカスタマイズできます。


0

別の代替方法は、OSに対して特定のカスタマイズを行ったSDカードをフラッシュするコマンドラインツールであるflashを使用することです。


0

コンピューターにSDカードスロットが1つしかない場合、複数の画像を効率的に書き込むための簡単な答えは、給電されたUSBハブと多数の安価なmicroSD-USBアダプターです。13ポートUSB-3ハブと安価な(1ドル未満)microSD-USBアダプターを使用してテストしました。

多数のベースイメージを同時に書き込む場合は、dcflddを確認してください。Raspbian jessieリポジトリで利用可能です。GNU ddの拡張バージョンであり、複数のイメージに同時に書き込むことができます。簡単なテストをいくつか行い、RPi 3BのmicroSDカードイメージを、USBハブの3種類のアダプターに接続された7枚のカードの混合にコピーすることができました。A +の3ポートUSB 2.0ハブに対する以前のテストも機能しました。パラメータを正しく設定すれば、それはほとんど忘れられません。アダプターは7つに制限されていましたが、速度が最も遅い宛先カードの速度に制限されますが、より多くのカードでは機能しないと考える理由はありません。

実行中およびネットワーク上で多数のRPを構成変更で最新の状態に保つ必要がある場合は、ansibleまたはファブリックを使用してsshでの更新を許可し、再書き込みの必要性を回避することを検討しますそれらを最新に保つためのカード。

最後に、一意の識別子(ネットワークMACアドレスに基づく)を使用して各RPiのホスト名を変更し、avahi競合を避けるためにブート後に競合を回避するためにすべてのRPiを変更することなく簡単に場所を特定できるように、マスターを変更できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.