🍀

ラズパイ4の初期設定やってみた

2022/08/18に公開

はじめに

我々が所属しているチームでは、IoTやクラウドに特化したサービス展開を推進していますが、
IoTへの知識や技術をより深めるため、この度IoTに関するブログ発信をスタートします。

ブログで取り扱う内容は、チームメンバーの学習や、手順書の用途も兼ねているため、
IoTの基礎的な内容から徐々に広げて取り扱っていけたらと考えていますので、今後もよろしくお願いします!

概要

  • Raspberry Piの最新版「Raspberry Pi4」をセットアップしていきます。
  • 主にRaspberry Piの組み立てから他端末からSSHで接続までを説明します。

セットアップ

開封の儀

  • スターターキット(Raspberry Pi 4 Model B 8GB starter kit)を購入しました。
  • 今般の世界的な半導体不足により、発送まで時間がかかりましたが、無事到着し開封!
  • スターターキットなので本体の他、アルミケース、ファン、SDカード、HDMIケーブル等、初期設定に必要なモノはすべて揃っています。

部品の接続

次に部品の接続を行っていきます。

https://www.okdo.com/getstarted/
付属品の同梱されていた説明書に記載されているURLを参考に設定を行います。

  • ヒートシンクの取り付け
  • ファンをケースに取り付け
  • 取り付けたファンのコードをGPIOに差し込み
  • 滑り止めシールをケースに貼り付け
  • MicroSDをSDスロットに差し込み
  • マウスとキーボードをUSBスロットに接続
  • HDMIケーブルをスロットに接続
  • 電源をスロットに接続

接続が完了した状態が上の写真です。

OSインストール

インストールしたいOSを選んで、確認後イントールを実行する。
本記事ではRaspberry Pi OS Full(32bit)を選択

初期設定

初期設定を順次行っていきます。

Wi-Fiのカントリーコードを変更する

Wi-Fiの設定の前にWi-Fiの国コードを変更しておく

Raspbianの設定ツールを起動する

$ sudo raspi-config

5 Localisation Optionsを選択

メニューからL4 WLAN Countryを選択

リストからJP JAPANを選択して「了解」を選択

「了解」を選択する

Wi-Fiの設定

Wi-Fiでネットワーク接続するための設定を行う

$ wpa_passphrase 'SSID' 'PASS' | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf"

※'SSID'、'PASS'はWi-Fi設定するSSIDとパスワード

パッケージリストの更新

パッケージリストの更新を行う

$ sudo apt-get update --allow-releaseinfo-change

初回はリリースバージョンの変更を許可する必要があるようで、--allow-releaseinfo-changeオプションを付けています。
※オプションを付けていないとエラーが発生しました。

piユーザのパスワード変更

自身のパスワードの変更を行う

$ passwd

rootユーザのパスワード変更

rootユーザのパスワードを変更する

$ sudo passwd root

ラズパイメンテナンス用ユーザの追加

メンテナンス用ユーザを追加する

$ sudo adduser maintenance

※今回はmaintenanceユーザとした

追加したメンテナンス用ユーザをpiグループに追加

メンテナンス用ユーザをpiグループに追加

$ sudo usermod -aG adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio maintenance

メンテナンス用ユーザで再ログイン

Raspberry piを再起動

$ sudo reboot

raspi-configの更新

設定ツール自体を最新にアップデートする

Raspbianの設定ツールを起動する

$ sudo raspi-config

8 Updateを選択すると更新処理が始まる。

ホスト名の変更

raspi-configコマンドからホスト名を変更する

Raspbianの設定ツールを起動する

$ sudo raspi-config

表示されるメニューから1 System Optionsを選択

表示されるメニューからS4 Hostnameを選択

hostname変更についての注意事項が表示されるので「了解」を選択

任意のホスト名を入力して「了解」を選択

※今回はkdliotblogとしました

Vimのインストール

エディタは何でも良いのですが、Vimがあると便利なのでインストールしておく

vimをインストールする

$ sudo apt-get install vim

Vimの設定

Vimを使いやすくするための基本的な設定を行う

vimの設定ファイルを編集する

$ sudo vim ~/.vimrc

下記の内容を記載し保存する

" シンタックスハイライト
syntax on
" タイトルを表示
set title
" 行番号を表示
set number
" モード名表示
set showmode
" バッファスクロール
set mouse-=a
" カーソルラインをハイライトする
set cursorline
" 文字コード自動判別
set encoding=utf-8
set fileencodings=utf-8,euc-jp,sjis,cp932,iso-2022-jp
" 検索結果をハイライト表示
set hlsearch
" 対応する括弧を強調表示
set showmatch
" 改行時のインデントを継続する
set autoindent

自動ログインを無効化

piユーザの自動ログインを無効にする

設定ファイルを編集

$ sudo vim /etc/lightdm/lightdm.conf

該当の箇所をコメントアウトする

lightdm.conf
autologin-user=pi
↓
#autologin-user=pi

SSHの設定

SSH接続するための設定を行う

Raspbianの設定ツールを起動する

$ sudo raspi-config

3の「Interface Options」を選択

2の「SSH」を選択し、はいを設定し有効化し、再起動

別の端末からターミナルでラズパイにssh接続できるか確認
※設定したホスト名のサフィックスに「.local」を付与しておく

ssh maintenance@kdliotblog.local

※本来SSHの公開鍵認証等、細かい設定が必要ですが、今回は割愛しています。

NTPの設定

ネットワーク経由で時刻の同期をおこなってくれるNTP設定する

NTPをインストール

$ sudo apt install ntp

NTPの設定ファイルを編集する

$ sudo vim /etc/ntp.conf

デフォルト設定をコメントアウトし、日本国内のNTPサーバーを追加

ntp.conf
# pool 0.debian.pool.ntp.org iburst
# pool 1.debian.pool.ntp.org iburst
# pool 2.debian.pool.ntp.org iburst
# pool 3.debian.pool.ntp.org iburst
pool ntp.jst.mfeed.ad.jp
pool ntp.nict.jp iburst

NTPを再起動し、設定を反映させる

$ sudo service ntp restart

ラズパイがハングアウトした際に、自動で再起動する為の設定

ラズパイがハングアウトした場合に、自動で再起動するよう設定を行う

watchdogをインストール

$ sudo apt-get install watchdog

サービスファイルを編集する

$ sudo vim /lib/systemd/system/watchdog.service

該当の箇所を修正する

watchdog.service
[Install]
WantedBy=default.target

↓
[Install]
WantedBy=multi-user.target

watchdogの自動起動・モジュール設定を行う

$ sudo update-rc.d watchdog enable 
$ sudo modprobe bcm2835_wdt

watchdogの設定ファイルを編集する

$ sudo vim /etc/watchdog.conf

該当の箇所を修正する

watchdog.conf
#max-load-1              = 24
#watchdog-device = /dev/watchdog 
↓
max-load-1              = 24
watchdog-device = /dev/watchdog 
watchdog-timeout = 10

/etc/default/watchdogを編集する

$ sudo vim /etc/default/watchdog

該当の箇所を修正する

watchdog
watchdog_module="none"
↓
watchdog_module="bcm2835_wdt"

ラズパイを再起動する

$ sudo reboot

次に動作テストを行う
以下のコマンドを実行しラズパイをハングアウトさせ、1分程度待ったら自動で再起動されるか確認する

:(){ :|:& };:

以上で初期設定としては完了になります。

次回以降は、このセットアップしたラズパイを使って、色々実践していきたいと思います!

Discussion