Rabbit Note

技術的な事柄をメモしていきます.

Fabric とCuisine による Raspberry Pi の自動セットアップ

Raspberry Pi を Fabric と Cuisine を使って自動セットアップする手順を紹介します.

Fabric

Fabric は Python 製のシンプルなデプロイツールで,シェルスクリプトのような感覚で,リモートで実行する処理を手軽に記述することができます.

一度,Fabric レシピで自動セットアップ出来るようにしておけば,コマンド一発で環境の再構築ができるようになるため,Raspberry Pi を色々といじり倒す際に非常に便利です.

このレシピは,大きく次の 6 つの作業を自動で行います.

  • 日本語環境の設定
  • SSH 公開鍵のコピー
  • 基本的なパッケージのインストール
  • 無線 LAN 接続の設定
  • SD カード領域全体を有効化
  • I2C バスの有効化

2014-12-24 リリースの RASPBIAN で動作確認済です.イメージファイルを SD カードに dd でコピーした後このレシピを実行するだけで,初期設定が完了します.

では早速使い方について説明していきます.

準備

Fabric と Cuisine のインストール

ホスト側の PC に FabricCuisine をインストールします.Cuisine は Fabric に対して Chef のような抽象度の高い機能を追加するラッパーです.

無線 LAN の設定ファイルの作成 (任意)

WiFi USBアダプタを使った無線 LAN 接続を行う場合,以下の手順で,wifi_config.py という設定ファイルを作成します.

  1. wpa_supplicant.conf 用の設定値を取得.

    例えば,接続先のアクセスポイントの SSID を「home_wifi」,パスフレーズを「testtest」とすると, wpa_passphrase の実行により下記の出力が得られます.

  2. wifi_config.py ファイルを作成.

    ファイルに,WIFI_SSID と WIFI_PSK の 2 変数を定義します.WIFI_PSK は先ほどのコマンドの出力結果に書かれているものを記載します.

  3. 書式チェック.

    Python の書式として問題無いかチェックしておきます.エラーが出なければ OK.

Fabric レシピの作成

下記の内容を, fabfile.py というファイルに保存します.

セットアップの実行

Raspberry Pi を LAN 接続した状態で下記のコマンドを実行します.「raspberrypi」というホスト名でアクセス出来ない場合は,「pi@192.168.0.100」のような感じで IP アドレス指定します.パスワードを聞かれますので,「raspberry」を入力して ENTER を押すと,自動的にセットアップが始まります.

数分間かけてセットアップ処理を行った後,Raspberry Pi は自動的に再起動します.

環境の設定と同時にホスト名の変更を行いたい場合は,環境変数 RASP_HOSTNAME にホスト名を指定して実行します.

備考

上に掲載した Fabric レシピは冪等性がありますので,同じホストに対して複数回実行しても問題ありません.
「-a」オプションは,SSH のパスワード認証をするためのものなので,レシピによって SSH の公開鍵を配置したあとは不要となります.

Pocket

, ,

One thought on “Fabric とCuisine による Raspberry Pi の自動セットアップ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です