RaspberryPi

Raspberry Pi 3 Model Bの初期セットアップのまとめ

概要

Raspberry Pi 3を購入したので、そのセットアップ内容を備忘の為にまとめました。
将来的には電子工作で何かしら面白いことをやってみたいのですがネタが思付かないので、現時点ではOSのセットアップまでとなっています。

環境

  • Raspberry Pi 3 Model B Rev 1.2
  • RASPBIAN STRETCH LITE Version September 2017

参考

準備

OSのイメージファイルのダウンロード

ダウンロードページよりOSのイメージファイルをダウンロードします。
ダウンロードしたのはRASPBIAN STRETCH LITEのVersion September 2017です。

Version:September 2017
Release date:2017-09-07
Kernel version:4.9

OSイメージファイルをmicroSDカードへ書き込む

書き込みにはEtcherというツールを使用しました。
Windows版のインストーラーをダウンロードしてインストールします。
インストールが終わったらPCにmicroSDカードを繋げてEtcherを起動します。

OSイメージファイルを選択しmicroSDカードが繋がっているドライブを指定して書き込みを行います。

e2.png

セットアップ

本体にキーボード、モニター、LANケーブルを繋げておきます。
RaspberryPiにmicroSDカードを差し込み電源ゲーブルを繋げるとOSが起動します。
無事起動するとログインプロンプトが表示されるので初期ユーザーでログインします。

  • 初期ユーザー: pi
  • 初期パスワード: raspberry

パッケージのアップデート

インストールされているパッケージを更新します。

$ sudo apt-get update
$ sudo apt-get upgrade -y

vimのインストール

$ sudo apt-get install -y vim

アップデートが終わったらリブートします。

$ sudo reboot

ファームウェアのアップデート

$ sudo rpi-update

アップデートが終わったらリブートします。

初期設定

raspi-configで初期設定を行います。
テキストベースのメニュー画面が表示されるので下記の設定を行います。

$ sudo raspi-config

ファイルシステムの拡張

  • 7 Advanced Options ->
    • A1 Expand Filesystem -> OK -> ルートメニューに戻る ->
      • Finish -> Would you like to reboot now? -> YES

ここで一旦リブートします。

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

  • 1 Change User Password -> OK
    • 新しいパスワードの入力 -> OK

ロケール

  • 4 Localisation Options ->

    • I1 Change Locale -> en_US.UTF-8、jp_JP.UTF-8にチェック -> OK
      • Default local for the system environment: -> en_GB.UTF-8 -> OK
  • デフォルトのロケールをjp_JP.UTF-8にするとコンソール上で文字化けするので変えないようにしています。

タイムゾーン

  • 4 Localisation Options ->
    • I2 Change Timezone ->
      • Geographic area: Asia ->
      • Time zone: Tokyo -> OK

キーボードレイアウト

  • 4 Localisation Options ->
    • I3 Change Keyboard Layout ->
      • Keyboard model: Generic 105-key (Intl) PC ->
      • Keyboard layout: Other ->
      • Country of origin for the keyboard: Japanese ->
      • Keyboard layout: Japanese (OADG 109A) ->
      • Key to function as AltGr: The default for the keyboard layout ->
      • Compose key: No Compose key -> OK

SSHの有効化

  • 5 Interfacing Options ->
    • P2 SSH -> YES -> OK

以上の設定を行いメニューのFinishを選択して終了します。
ここで一旦リブートします。

rootのパスワード変更

rootユーザーにスイッチしてパスワードを変えます。

$ sudo su
# passwd

ユーザーの追加

Windowsのターミナルから接続するためのユーザーを追加します。

$ sudo useradd -g pi -G sudo -m -s /bin/bash rubytomato
$ sudo passwd rubytomato

.profileに下記の行を追加してロケールを変更します。

$ sudo su - rubytomato
export LANG=ja_JP.UTF-8

ipv6の無効化

/etc/sysctl.confに下記の行を追加します。

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

設定を反映させます。

$ sudo sysctl -p

DHCPの設定

本体に固定IPを割り当てます。
/etc/dhcpcd.confの下記の設定を変更します。

# Example static IP configuration:
interface eth0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8

dhcpcdを再起動します。

$ sudo systemctl restart dhcpcd
$ sudo systemctl daemon-reload

SSHの設定

sshでログインできるユーザーを制限します。
/etc/ssh/sshd_configに下記の行を追加します。

AllowUsers rubytomato@192.168.0.*

sshを再起動します。

$ sudo systemctl restart ssh

Windows側からターミナルまたはWSLのbashで接続できるか確認します。

$ ssh rubytomato@192.168.0.10

補足

OSのバージョンを確認する

$ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

パッケージダウンロードのミラーサイトを変更する

/etc/apt/sources.listを編集してミラーサイトを日本国内のサイトに変更します。
1行目をコメントアウトして、最後の2行を追加しました。

#deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ stretch main contrib non-free rpi

deb http://ftp.jaist.ac.jp/pub/Linux/raspbian-archive/raspbian stretch main contrib non-free
deb http://ftp.yz.yamagata-u.ac.jp/pub/linux/raspbian/raspbian/ stretch main contrib non-free

設定を反映します。

$ sudo apt-get dist-upgrade

最新の情報はRaspbian Repository Mirrorsで確認できます。

ntpdateのインストール

$ sudo apt-get install -y ntpdate

インストールが終わったらNTPサーバーを指定して時刻合わせを行います。

$ sudo ntpdate ntp.nict.jp

この例ではNICT公開NTPサービスを使用しています。