Raspberry Pi初期起動

データ分析室

Raspberry Pi初期設定

様々なIT技術を体感するためのデバイスとしてRaspberry Piを使用してきます。毎回初期設定方法を調べるのが手間なのでまとめておきます。

環境

  • Raspberry Pi
    • Model:raspberry pi 4(メモリ:8GB)
    • OS:Raspberry Pi OS(Raspbian)
  • PC
    • OS:macOS Big Sur

OSのインストール

Raspberry Pi Imagerという便利ツールを使って、Raspberry Pi OSのインストールしていきます。

Raspberry Pi Imagerを使ってインストール

  1. Raspberry Pi Imagerを立ち上げる
  2. CHOOSE OSからEraseを選択
  3. CHOOSE STORAGEからOSを書き込みたいSDカードを選択
  4. Writeをクリックする
  5. CHOOSE OSからRaspberry Pi OSを選択
  6. CHOOSE STORAGEからOSを書き込みたいSDカードを選択
  7. Writeをクリックする
  8. 書き込みが終わったら、PCからSDカードを取り外す

Raspberry Piを起動

Raspberry Piの初期起動

Raspberry Piをモニターに接続してから電源を入れる。

Raspberry Piが起動してデスクトップ画面が表示されると初期設定ウィンドウが表示されるので、下記の通り設定する。

※コマンド操作になれるため、初期設定画面では基本的に何も設定しません。

  1. Welcome to the Raspberry Pi Desktopが表示されるので、Nextをクリックする。

  2. Set Country画面でCountryをJapanに変更し、Nextをクリックする。

  3. Change Password画面では何も入力せずNextをクリックする。

  4. Select Wireless Network画面でも何も入力せずSkipをクリックする。

  5. Update Software画面でもSkipをクリックする。

  6. Doneボタンをクリックして設定画面を閉じる。

ネットワークの設定

Raspberry Piをネットワークに接続していく。

無線LANの場合

  1. ターミナルを開く

  2. S下記コマンドでパスフレーズを暗号化する。

    # パスフレーズを暗号化。SSID、パスワード名を入力
    $ wpa_passphrase "SSID" "PASSPHRASE"
    network={
           ssid="SSID"
           #psk="PASSPHRASE"
           psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    }
  3. コンフィグファイルをnanoエディターで開く。

    $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
  4. コンフィグファイルの下部に以下の内容を追記する。

    ~中略~
    network={
           ssid="SSID"
           scan_ssid=1 # ←SSIDをステルスモードにしている場合に追加
           psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
          }
  5. nanoエディターでコンフィグファイルを開く。

    $ sudo nano /etc/dhcpcd.conf
  6. コンフィグファイルの無線LAN部分(interface wlan0)を変更して、IPアドレスを固定する。

    • interface wlan0を見つけ、コメントアウトを外して編集する。
    ~中略~
    # static wifi profile
    interface wlan0
    static ip_address=[設定したい固定IPアドレス]/24
    static routers=[デフォルトゲートウェイのIPアドレス]
    static domain_name_servers=[DNSサーバーのIPアドレス]
  7. Ctrl+Oで上書きして、Ctrl+Xで閉じる。

  8. 再起動する

    $ sudo reboot now
  9. ターミナルを開いて下記コマンドを実行し、IPアドレスが固定されたか確認する。

    $ ifconfig
    >>>wlan0
    >>>設定した内容
  10. Raspberry Pi上でブラウザを開き、インターネットに接続できるかどうか確認する。

SSHの設定

今後、リモートでRaspberry Piに設定していくために、SSHを設定する。

PC側での操作

  1. Raspberry PiのOSが入ったSDカードをPCに差し込む。
  2. SDカードのboot直下に、sshというファイルを作成する。
  3. SDカードを取り出す。

Raspberry Pi側での操作

  1. 取り出したSDカードをRaspberry Piに差し込み、電源を入れる。

PC側での操作

  • ターミナル or Tera TermのようなSSHできるような環境を使用する。
  1. ターミナルを開き、sshコマンドを実行する。

    $ ssh pi@[固定したIPアドレス]
    pi@xxx.xxx.xxx.xxx's password: 
    # 初期パスワードはraspberry
  2. sshでの接続を確認。

    $ pi@raspberrypi:~ $ 

ユーザー名の変更とユーザーの登録

sshで接続した状態 or Raspberry Pi上のターミナルで操作

  1. 下記コマンドで、新規ユーザーを追加する。

    $ sudo useradd -M tmp
  2. 下記コマンドで、tmpユーザーをsudoグループに追加する。

    $ sudo gpasswd --add tmp sudo
    >>> ユーザ tmp をグループ sudo に追加
  3. 下記コマンドで、tmpユーザーのパスワードを変更する。

    $ sudo passwd tmp
    >>> 新しいパスワード: # hoge
    >>> 新しいパスワードを再入力してください:
    >>> passwd: パスワードは正しく更新されました
  4. 下記コマンドで、raspp-configを開く。

    $ sudo raspi-config
  5. 1 System Option > S5 Boot/Auto Login > B3 Desktopを選択し、ログイン時にユーザー名とパスワードを求める設定にする。

  6. finishを選択し、再起動する。

  7. 再度sshを使って、piユーザーでログイン。

  8. 下記コマンドを実行して、ファイルを編集する。

    $    sudo nano /etc/systemd/system/autologin@.service

    ファイル内

    # 変更前
    ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM
    
    # 変更後
    ExecStart=-/sbin/agetty --autologin tmp --noclear %I $TERM
  9. Ctrl+Oで上書きして、Ctrl+Xで閉じる。

  10. 再起動する。

    $ sudo reboot now
  11. 再度SSHでログイン(ユーザー:tmp、パスワード:hoge) or ラズパイのターミナルを開く。

  12. 下記コマンドを実行して、tmpユーザーしかいないことを確認する。

    $ who
    tmp      pts/0        2021-07-11 17:37 (XXX.XXX.X.X)
  13. piユーザーを任意のユーザーに変更する。

    $ sudo usermod -l [user] pi
  14. piディレクトリを変更したユーザーでそのまま使えるようにする。

    $ sudo usermod -d /home/[user] -m [user]
    
    $ sudo groupmod -n [user] pi
  15. 再起動する。

    $ sudo reboot now
  16. 再度SSHでログイン(ユーザー:[user]、パスワード:raspberry) or ラズパイのターミナルを開く。

  17. 新規ユーザーのパスワードを変更する。

    $ sudo passwd [user]
    >>> [sudo] [user] のパスワード: # raspberyy
    >>> 新しいパスワード: # 新規のパスワード
    >>> 新しいパスワードを再入力してください:
    >>> passwd: パスワードは正しく更新されました
  18. 下記コマンドを実行して、コンフィグファイルを編集する

    $ sudo nano /etc/systemd/system/autologin@.service 

    ファイル内

    # 変更前
    ExecStart=-/sbin/agetty --autologin tmp --noclear %I $TERM
    
    # 変更後
    ExecStart=-/sbin/agetty --autologin [user] --noclear %I $TERM
  19. 再起動する

    $ sudo reboot now
  20. 再度SSHでログイン(ユーザー:[user]、パスワード:[password]) or ラズパイのターミナルを開く。

  21. tmpユーザーを削除

    $ sudo userdel tmp
  22. 再起動する

    $ sudo reboot now

sudoコマンド時にパスワードを要求させる

  1. sshでログイン

  2. 下記コマンドを実行して、パスワードを要求させる

    $ sudo nano /etc/sudoers.d/010_pi-nopasswd

    コンフィグファイルの中身

       # 変更前
       pi ALL=(ALL) NOPASSWD: ALL
    
       # 変更後
       [user] ALL=(ALL) NOPASSWD: ALL

パッケージリストの更新

  1. sshでログイン

  2. 下記コマンドを実行して、パッケージリストを更新する

    $ sudo apt update
  3. 下記コマンドを実行して、パッケージ更新して新しいバージョンにアップグレードする

    $ sudo apt upgrade

コメント