share facebook facebook twitter menu hatena pocket slack

2019.04.15 MON

Raspberry Pi Zero WHの初期セットアップ(Raspbian Stretch Lite)

木檜 和明

WRITTEN BY 木檜 和明

Raspberry Pi Zero WHにOSをインストールして最低限必要な設定(ローカル環境、Wi-Fi接続、SSHサーバ)を行う手順を示す。

OSはGUI環境を持たないRaspbian Stretch Liteを使用し、GUIに関する設定(フォントやインプットメソッドなど)は行わない。

尚、各種準備作業を行う母艦のOSはUbuntu 18.04とする。

設定(必須)

⦿ ロケール設定
⦿ タイムゾーン設定
⦿ キーボードレイアウト設定
⦿ Wi-Fi設定
⦿ SSHサーバ有効化
⦿ ソフトウェアアップデート

設定(任意)

⦿ ホスト名変更
⦿ デフォルトアカウントpiのパスワード変更
⦿ SSHのパスワードなしログイン設定

インストール

まずOSを書き込むmicroSDカードをFAT32でフォーマットする。ここでは32GBのメディアを使用し、デバイスは/dev/sdeであるものとする。

% umount /dev/sde1

% sudo mkfs.vfat -v -c -F 32 /dev/sde1
mkfs.fat 4.1 (2017-01-24)
/dev/sde1 has 64 heads and 32 sectors per track,
hidden sectors 0x2000;
logical sector size is 512,
using 0xf8 media descriptor, with 60743680 sectors;
drive number 0x80;
filesystem has 2 32-bit FATs and 32 sectors per cluster.
FAT size is 14848 sectors, and provides 1897311 clusters.
There are 32 reserved sectors.
Volume ID is f0eefcfd, no volume label.
Searching for bad blocks 92256... 184672... (略)

% sudo fdisk -l /dev/sde
ディスク /dev/sde: 29 GiB, 31104958464 バイト, 60751872 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x00000000

デバイス   起動 開始位置 最後から   セクタ サイズ Id タイプ
/dev/sde1           8192 60751871 60743680    29G  c W95 FAT32 (LBA)

次にRaspbianのダウンロードサイトからRaspbian Stretch Liteの「Download ZIP」をクリックしてイメージファイルをダウンロードする。

このイメージファイルを解凍してmicroSDカードに書き込む。

% unzip 2018-11-13-raspbian-stretch-lite.zip

% sudo dd if=2018-11-13-raspbian-stretch-lite.img of=/dev/sde bs=1024
1822720+0 レコード入力
1822720+0 レコード出力
1866465280 bytes (1.9 GB, 1.7 GiB) copied, 355.164 s, 5.3 MB/s

このmicroSDカードをRaspberry Pi Zero WHにセットして電源とディスプレイを繋げばRaspbianが起動する。

設定(必須)

ここから実際に設定を行っていくのでデフォルトアカウントのpi(パスワード:raspberry)でログインする。

設定は基本的にraspi-configというメニュー形式のツールで行い、一部はコマンドとエディタを使用する。

% sudo LANG=C raspi-config

ロケール設定

デフォルトで英国(en_GB.UTF-8)に設定されているロケールを日本語(ja_JP.UTF-8)に変更する。

[4 Localisation Options] > [I1 Change Locale]を選択するとロケール選択画面が表示されるのでデフォルトで選択されている[en_GB.UTF-8 UTF-8]のチェックの他に[ja_JP.UTF-8 UTF-8]をチェックして[OK]を押す。

デフォルトロケールを設定する画面が表示されるので[ja_JP.UTF-8]を選択して[OK]を押す。

タイムゾーン設定

タイムゾーンをAsia/Tokyoに設定する。

[4 Localisation Options] > [I2 Change Timezone]を選択すると地域選択画面が表示されるので[Asia]を選択し、次の都市/地域名で[Tokyo]を選択して[OK]を押す。

キーボードレイアウト設定

キーボードレイアウトを日本語キーボードに設定する。

まず[4 Localisation Options] > [I3 Change Keyboard Layout]を選択するとキーボードモデル選択画面が表示される。

一般的な日本語キーボードを使用している場合は[Generic 105-Key (Intel) PC]を選択する。

次のレイアウト選択画面では[Other]を、国選択では[Japanese]を、キーボードレイアウトでは[Japanese]をそれぞれ選択する。

最後にAltGrキーとComposeキーの設定画面が表示されるので必要に応じて設定する。

Wi-Fi設定(国設定)

Wi-Fiは国によって使用できるチャンネルが変わるので日本に設定する。

[4 Localisation Options] > [I4 Change Wi-Fi Country]を選択すると国選択画面が表示されるので[JP Japan]を選択して[OK]を押す。

Wi-Fi設定(接続設定)

[2 Network Options] > [N2 Wi-fi]を選択すると「Please enter SSID」と促されるのでSSIDを入力して[OK]を押す。次に「Please enter passphrase. Leave it empty if none.」と促されるのでパスフレーズを入力して[OK]を押す。パスフレーズがないアクセスポイントの場合は何も入力せず[OK]を押す。

SSHサーバ有効化

外部からSSHによるリモートアクセスができるようにSSHサーバを有効化する。

[5 Interfacing Options] > [P2 SSH]を選択すると「Would you like the SSH server to be enabled?」と聞かれるので[Yes]を選択する。

ここまで設定を終えてraspi-configのトップ画面で[Finish]を押すとログインプロンプトに戻るのでいったんOSを再起動する。

% sudo reboot

ログインプロンプトが出たら設定完了である。

Wi-Fiに接続してDHCPサーバから自動的にIP情報が割り当てられるのでiwconfigとip aコマンドで確認する。

% iwconfig wlan0
wlan0     IEEE 802.11  ESSID:"<ESSID>" 
          Mode:Managed  Frequency:2.462 GHz  Access Point: xx:xx:xx:xx:xx:xx
          Bit Rate=72.2 Mb/s   Tx-Power=31 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on
          Link Quality=70/70  Signal level=-36 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

% ip a
:
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet xxx.xxx.xxx.xxx/xx brd xxx.xxx.xxx.xxx scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 xxxx:xx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 scope global mngtmpaddr noprefixroute dynamic 
       valid_lft 2591860sec preferred_lft 604660sec
    inet6 xxxx::xxxx:xxxx:xxxx:xxxx/64 scope link 
       valid_lft forever preferred_lft forever

ソフトウェアアップデート

ネットワークに接続できるようになったのでソフトウェアアップデートを実施する。

% sudo apt update
% sudo apt upgrade

設定(任意)

必須ではないが必要に応じて以下の設定も行う。

ホスト名変更

ホスト名はデフォルトで「raspberrypi」に設定されているので任意のホスト名に変更する。

% sudo LANG=C raspi-config

[2 Network Options] > [N1 Hostname]を選択すると「Please note: RFCs mandate that a hostname’s labels may contain only the ASCII letters ‘a’ through ‘z’…」としてホスト名の付与基準が示されるので[了解]を押す。

続いて「Please enter a hostname」として現在のホスト名が表示されるので任意のホスト名を入力して[了解]を押す。

デフォルトアカウントpiのパスワード変更

piアカウントのパスワードはデフォルトでは「raspberry」に設定されているので任意のパスワードに変更する。

[1 Change User Password]を選択すると「You will now be asked to enter a new password for the pi user」として新しいパスワードが設定できる旨が表示されるので[OK]を押す。

raspi-configの画面から抜けて「Enter new UNIX password:」と表示されるので任意のパスワードを入力する。

ここまで設定を終えてraspi-configのトップ画面で[Finish]を押すとOS再起動を促されるので再起動すれば設定完了である。

SSHのパスワードなしログイン設定

以下を参照して同設定を行う。SSHバージョン1のRSA鍵を作る方法にすればRaspberry Pi(SSHサーバ)側の設定(/etc/sshd/sshd_config)は変更しなくてよい。

  • 関連資料・記事

[OpenSSH] SSHサーバにパスワードなしでログインする方法

参考サイト

元記事はこちら

Raspberry Pi Zero WHの初期セットアップ(Raspbian Stretch Lite)

木檜 和明

木檜 和明

遠くのクラウドと手元のIoTデバイス、両エッジをつないだものづくりがしたいと妄想中。Arduinoのコミュニテイやってます。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。