Raspbian (Raspberry Pi) を FA の現場で使うための、基本的なセットアップ方法を公開しています。

SDカードとファイルシステム

高耐久な microSD カードを利用しても、突然の停電には耐えられません。 高耐久な microSD カードは、言ってみれば丈夫な車と同じです。いくら車が丈夫でも、運転が下手だったり悪路を走ったりしていれば事故になってしまいます。

FA の現場に対応するためには、適切な microSD カードを選び、適切なファイルシステムを選び、細かい設定も調整する必要があります。

不安定な時の動作設定

一般ユーザー向けの OS は、ハードウェアにエラーが発生してパソコンが不安定な状態になっても、出来るだけ動き続けるように構成されています。これはユーザーが作業中のデータを保存する時間を稼ぐための機能です。Raspberry Pi の OS も、初期設定では普通のパソコンと同じように、不安定な状態でも出来るだけ動き続けるよう構成されています。

FA の現場に対応するためには、不安定な動作を出来るだけ避けるよう、OS の設定を変更する必要があります。

細かいところまで最適化

ionice 対応、ドライバを問わず無線LANの省エネ制御を無効化する設定、閏秒問題を回避する NTP 設定など…さきラボの Raspberry Pi for FA セットアップでは、普通の IT 技術者が気づかないような細かい部分まで、FA 向けに最適化しています。

標準の RaspbianRaspbian for FA
ファイルシステムext4Btrfs
ionice 対応
Locale en_GB.UTF-8 C / ja_JP.UTF-8
ウォッチドッグ
メモリ不足発生時の動作OOM Killer再起動
TCP再送タイムアウト15分以上約100秒
無線LAN省エネ制御無効化
I2C 通信速度安定化
スワップファイル無効化
閏秒対策
.xsession-errors 無効化

セットアップ方法

以下の URL で Raspbian for FA のセットアップスクリプトを公開しています。
https://sakilabo.jp/fapp/raspi-setup-fa.sh

  1. Raspberry Pi を用意してください。
    最新のセットアップスクリプトは Raspberry Pi 3 B と Raspberry Pi 4 で動作を確認しています。
  2. 電源障害対策機能を備えた microSD カードを用意してください。
    推奨品は SanDisk SDSDQAF3 (XI) です。 → Mouser で検索
  3. microSD カードに、2019年9月26日リリースの Raspbian Buster または Buster Lite を書き込んでください。
    - https://downloads.raspberrypi.org/raspbian/images/raspbian-2019-09-30/
    - https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-09-30/
    イメージの書き込みには balenaEtcher を利用すると、zip ファイルをそのまま書き込みできるので便利です。
  4. SSH 接続できるようにしてください。/boot パーティションに ssh ファイルを作る方法が簡単です。
    - https://www.raspberrypi.org/documentation/remote-access/ssh/README.md
    > 3. Enable SSH on a headless Raspberry Pi (add file to SD card on another machine)
  5. Raspberry Pi を起動し、SSH でログインしてください。
  6. 任意のディレクトリでセットアップスクリプトをダウンロードしてください。ダウンロードしたスクリプトには実行権限を設定しておきます。
    $ curl -O https://sakilabo.jp/fapp/raspi-setup-fa.sh
    $ chmod a+x raspi-setup-fa.sh
  7. セットアップスクリプトを実行してください。
    セットアップには2つの動作モードが用意されています。
    - International: $ sudo ./raspi-setup-fa.sh intl
    - Japanese: $ sudo ./raspi-setup-fa.sh jp
  8. 最初のセットアップが終わると Raspberry Pi の電源が切れます。microSD カードを取り出してください。
  9. ファイルシステムを Btrfs に変換します。 → ファイルシステムの変換方法
  10. Btrfs になった microSD カードで Raspberry Pi を起動し、SSH でログインしてください。
  11. もう一度 [7] のセットアップを実行してください。

制限事項

  • Btrfs はスワップファイルに対応していません。仮想メモリが必要な場合は swap パーティションを作成する必要があります。
  • ext4 の拡張属性を対象とした処理 (chattr コマンドの一部等) は動作しません。