Raspberry Pi OS の導入
Raspberry Pi OS のインストール手順、初期設定のセットアップ手順を記載します。
※ 環境を日本に設定する手順がありますが、必要のない場合は適宜スキップまたは別設定にしてください。
必須機器
- 5G対応Linuxボード
- 作業PC(Windows10)
- キーボード(USB接続 Type-A)
- マウス(USB接続 Type-A)
- インターネットに接続可能な有線LANケーブル もしくはWi-Fi AP
- USBケーブル(作業PC USBポート - Micro-B)
- HDMIケーブル
- モニター
Raspberry Pi OS のインストール
5G対応Linuxボード に Raspberry Pi OS をインストールする手順を記載します。
Raspberry Pi Imager のインストール
作業PC にRaspberry Pi Imager をインストールします。
- リンクを開き「Download for Windows」からインストーラーをダウンロードします。
- 「imager_x.x.x.exe」を実行し、手順に従ってインストールします。
rpiboot のインストール
作業PC にrpiboot をインストールします。
- リンクからインストーラーをダウンロードします。
- 「rpiboot_setup.exe」を実行し、手順に従ってインストールします。
Raspberry Pi OS の書き込み
- 5G対応Linuxボード は電源OFFにしてください。
- 作業PC と 5G対応Linuxボード の USBSlave をUSBケーブルで接続します。
- 5G対応Linuxボード のジャンパーピン JP1 (1-2) もしくは (2-3) 、および J3 (1-2) をショートさせます。
- 5G対応Linuxボードの電源をONにします。
- 作業PC に 5G対応Linuxボード の eMMC を識別させます。
- 作業PC から「rpiboot」を起動します。
- 起動から数秒後「rpiboot」が自動で閉じます。
- 作業PC に 5G対応Linuxボード の eMMC が識別したことを確認します。
- 作業PC のスタートボタンを右クリックし「ディスクの管理」を開きます。
- 新規のディスクが識別されていることを確認します。
- 5G対応Linuxボード に Raspberry Pi OSを書き込みます。
- 作業PC から「Raspberry Pi Imager」を起動します。
- 「OSを選ぶ」から一番上の「Raspberry Pi OS (32bit)」を選択します。
- 「ストレージを選ぶ」から 5G対応Linuxボード の eMMC を選択します。
- 右下の歯車のボタンをクリックし、イメージをカスタマイズします。
- 「ユーザー名とパスワードを設定する」にチェックを付け設定します。
- 任意のユーザー名、パスワードを設定します。
- Wi-Fi APに接続する場合は「Wi-Fiを設定する」にチェックを付け設定します。
- 環境に合わせてSSID、パスワードを設定します。
- WiFiを使う国を「JP」に設定します。
- 「保存」ボタンをクリックします。
- 「ロケール設定をする」にチェックを付け設定します。
- タイムゾーンを「Asia/Tokyo」に設定します。
- キーボードレイアウトを「jp」に設定します。
- その他の設定項目は任意で設定してください。
- 「保存」ボタンをクリックし、カスタマイズ画面を閉じます。
※ 「保存」ボタンをクリックしても画面が閉じない場合はエラーが存在するため、設定を修正してください。
- 「ユーザー名とパスワードを設定する」にチェックを付け設定します。
- 「書き込む」からイメージを書き込みます。
- OS書き込み完了後に起動準備を行います。
- 5G対応Linuxボードの電源をOFFにします。
- 作業PC と 5G対応Linuxボード のUSBケーブルを切断します。
- J3 のジャンパーピン (1-2) を外します。
基本セットアップ
Raspberry Pi OSの基本的なセットアップ手順を記載します。
以下の手順を上から順に 5G対応Linuxボード に接続したキーボード、マウスを使用して操作してください。
機器の取付
- 5G対応Linuxボード の HDMI0 もしくは HDMI1 とモニターを接続します。
- 5G対応Linuxボード の USBポートにキーボードとマウスを接続します。
- 有線LANで接続する場合は、5G対応Linuxボード の LANポートに有線LANケーブルを接続します。
- 5G対応Linuxボード を電源ONします。
日本語化
- 左上のラズベリーパイのボタンから 「Preferences」 -> 「Raspberry Pi Configuration」 を選択します。
- 「Localisation」タブから「Set Locale」ボタンを押下します。
- Languageを「ja(Japanese)」に変更します。
- Character Setを「UTF-8」に変更します。
- OKを押してダイアログを閉じ、再起動を行うか尋ねるダイアログが表示されるため「Yes」のボタンを押下し再起動します。
アップデート情報の更新
- 右上のダウンロードアイコンをクリックし「Install Updates」を選択します。
- インストールが完了するまで待機します。
I2Cインターフェイスの有効化
5G対応Linuxボード に搭載されているデバイスと I2C経由 で通信を行うため、ハードウェアI2C を有効にします。
- 左上のラズベリーパイのボタンから 「アクセサリ」 -> 「LXTerminal」 を選択します。
sudo nano /boot/config.txt
と入力し実行します。
ハードウェアI2Cの有効化
-
[cm4]
セクションに以下の行を追加します。dtparam=i2c_vc=on
-
ctrl + x, y を入力して保存しエディタを閉じます。
RTCのセットアップ
PCF85063AT RTC をセットアップします。
RTCドライバの有効化
RTCを制御するドライバを有効にします。
sudo nano /boot/config.txt
と入力し実行します。[cm4]
セクションに以下の行を追加します。dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi
- ctrl + x, y を入力して保存しエディタを閉じます。
再起動
- 左上のラズベリーパイのボタンから 「ログアウト」 を選択します。
- 「Reboot」ボタンを押下し再起動します。
- 再起動後、RTCが有効になります。
動作確認
timedatectl
と入力し実行します。- 以下のように
RTC time:
に時刻が出力されていれば設定成功です。(失敗時はn/a
)Local time: 水 2020-12-16 19:56:22 JST Universal time: 水 2020-12-16 10:56:22 UTC RTC time: 水 2020-12-16 10:56:23 Time zone: Japan (JST, +0900) System clock synchronized: yes NTP service: active RTC in local TZ: no
セキュアICのセットアップ
ATECC608B セキュアIC をセットアップします。
必要パッケージのインストール
- 左上のラズベリーパイのボタンから 「アクセサリ」 -> 「LXTerminal」 を選択します。
sudo apt install cmake openssl libssl-dev libengine-pkcs11-openssl1.1 autoconf libtool gnutls-bin p11-kit
と入力し実行します。- 「この操作後に追加で〇〇MBのディスク容量が消費されます。/ 続行しますか? [Y/n]」に対して y で続行します。
- 以下のコマンドを実行して「cryptoauthlib」の取得とインストールを行います。
cd ~; git clone https://github.com/MicrochipTech/cryptoauthlib; cd cryptoauthlib; git reset --hard 9a37b8d6; mkdir build; cd build; cmake \ -DATCA_HAL_I2C=ON \ -DATCA_PKCS11=ON \ -DATCA_TNGTLS_SUPPORT=ON \ -DATCA_ATECC608A_SUPPORT=ON \ -DATCA_OPENSSL=ON ../ cmake --build .; sudo make install
- 以下のコマンドを実行して「libp11」の取得とインストールを行います。
cd ~; git clone https://github.com/OpenSC/libp11; cd libp11; ./bootstrap; ./configure; make; sudo make install
パッケージ設定
-
cryptoauthlibのスロット設定ファイルを作成します。
sudo nano /var/lib/cryptoauthlib/0.conf
と入力し実行します。-
ファイルの中身に以下の行を追加します。
# Reserved Configuration for a device # The objects in this file will be created and marked as undeletable # These are processed in order. Configuration parameters must be comma # delimited and may not contain spaces interface = i2c,0x6A,0x0A freeslots = 1,2,3 device = ATECC608-TNGTLS # Slot 0 is the primary private key #object = private,device,0 # Slot 10 is the certificate data for the device's public key #object = certificate,device,10 # Slot 12 is the intermedate/signer certificate data #object = certificate,signer,12 # Slot 15 is a public key #object = public,root,15
- ctrl + x, y を入力して保存しエディタを閉じます。
- p11-kit-proxyの設定ファイルを作成します。
sudo mkdir /etc/pkcs11
と入力し実行します。sudo nano /etc/pkcs11/pkcs11.conf
と入力し実行します。- ファイルの中身に以下の行を追加します。
user-config: merge
- ctrl + x, y を入力して保存しエディタを閉じます。
sudo nano /usr/share/p11-kit/modules/cryptoauthlib.module
と入力し実行します。- ファイルの中身に以下の行を追加します。
module: /usr/lib/arm-linux-gnueabihf/libcryptoauth.so critical: yes trust-policy: yes managed: yes log-calls: no
- ctrl + x, y を入力して保存しエディタを閉じます。
-
OpenSSLの設定ファイルを作成します。
sudo nano /usr/lib/ssl/openssl.cnf
と入力し実行します。- 19行目を以下に変更します。
openssl_conf = openssl_init
-
ファイルの最後に以下を追加します。
[openssl_init] engines=engine_section [engine_section] pkcs11 = pkcs11_section [pkcs11_section] engine_id = pkcs11 # Wherever the engine installed by libp11 is. For example, for the Raspberry Pi it could be: dynamic_path = /usr/lib/arm-linux-gnueabihf/engines-1.1/libpkcs11.so MODULE_PATH = /usr/lib/arm-linux-gnueabihf/libcryptoauth.so
認証情報へのアクセス確認
ATECC608B-TNGTLS の認証情報へのアクセスができるか確認します。
p11tool --provider /usr/lib/arm-linux-gnueabihf/libcryptoauth.so --list-all
と入力し実行します。-
以下のような文字列が出力された場合は成功です。
Object 0: URL: (省略) Type: (省略) Label: (省略) Flags: (省略) ID: (省略) Object 1: (省略) Object 2: (省略) Object 3: (省略)
※ エラーが出力される場合は、前の手順を見直してください。
5Gモジュールのセットアップ
5Gモジュールを使用する場合は以下のセットアップ手順を行います。
機器の取付
- 5G対応Linuxボード は電源OFFにしてください。
- 5Gモジュール(RM520N-GL) を M.2コネクタ に取り付けます。
- ジャンパーピン JP2~JP4 の (1-2) を全てショートさせます。
- アンテナを 5Gモジュール に取り付けます。
- 5G対応Linuxボード を電源ONします。
画面操作ツールのインストール
- 左上のラズベリーパイのボタンから 「設定」 -> 「Add / Remove Software」 を選択します。
- 開いたダイアログの左上の検索ボックスから"network-manager-gnome"と検索します。
- ヒットした「network management framework(GNOME frontend)」のチェックを入れ「Apply」ボタンを押下しインストールします。
- 検索ボックスから"modem-manager"と検索します。
- ヒットした「GUI front-end for ModemManager/Wader/oFono」のチェックを入れ「Apply」ボタンを押下しインストールします。。
- 「OK」ボタンを押下しダイアログを閉じます。
画面操作ツールのセットアップ
- 左上のラズベリーパイのボタンから 「システムツール」 -> 「Modem Manager GUI」 を選択します。
- Modem managerには「Modem Manager」, Connection managerには「Network Manager」が選択されていることを確認します。
- 「Enable services after activations」 にチェックが入っていることを確認し「Let`s Start!」ボタンを押下します。
モデムコネクション設定
- 左上のラズベリーパイのボタンから 「システムツール」 -> 「Modem Manager GUI」 を選択します。
- 「Devices」タブからConnection項目の「Edit」ボタンを押下します。
- 「Add connection」ボタンからコネクション情報を追加し環境に合わせて項目を設定し「OK」します。
- 「Activate」ボタンからモデムを有効化します。
再起動
- 左上のラズベリーパイのボタンから 「ログアウト」 を選択します。
- 「Reboot」ボタンを押下し再起動します。
- 再起動後、5Gモジュールで通信可能になります。
FANのセットアップ
FANを使用する場合は以下のセットアップ手順を行います。
機器の取付
- 5G対応Linuxボード は電源OFFにしてください。
- FAN を FANコネクタ に取り付けます。
- 5G対応Linuxボード を電源ONします。
EMC2301ドライバの有効化
CPU温度によって自動でemc2301のPWMを制御するドライバを有効にします。
sudo nano /boot/config.txt
と入力し実行します。[cm4]
セクションに以下の行を追加します。dtoverlay=i2c-fan,emc2301,i2c_csi_dsi,midtemp=50000,maxtemp=70000,minpwm=0,maxpwm=255
※ 上記設定ではCPU温度平常時はFANは回転しないため、FANの動作を確認する場合は
minpwm=100
等に設定を変更してください。- ctrl + x, y を入力して保存しエディタを閉じます。
サービス作成
5G対応Linuxボード で FAN を稼働させるにはデフォルトの「open drain type」から「push-pull type」に切り替える必要があるため、起動時に自動で切り替えるサービスファイルを作成し、登録します。
-
sudo nano /usr/lib/systemd/system/emc2301_setup.service
と入力し実行します。-
以下の行を追加します。
[Unit] Description=Switch emc2301 to "push-pull type" After=systemd-modules-load.service [Service] Type=oneshot RemainAfterExit=yes ExecStartPre=/usr/sbin/modprobe -r emc2305 ExecStartPre=/usr/sbin/i2cset -y 10 0x2f 0x2b 1 ExecStart=/usr/sbin/modprobe emc2305 TimeoutSec=90s [Install] WantedBy=multi-user.target
- ctrl + x, y を入力して保存しエディタを閉じます。
-
- サービスを登録します。
sudo systemctl daemon-reload
と入力し実行します。sudo systemctl enable emc2301_setup.service
と入力し実行します。
再起動
- 左上のラズベリーパイのボタンから 「ログアウト」 を選択します。
- 「Reboot」ボタンを押下し再起動します。
- 再起動後、CPU温度によってFANが稼働します。