
Raspberry Piは、いくつかのOSをサポートしています。この授業ではRaspberry Pi OS(旧名Raspbian)を使用します。
Raspberry Pi Imager
Raspberry Piは、外部記憶装置としてマイクロSDカードを使用します。16GB(あるいは32GB)Class10のマイクロSDカードを用意してください。

マイクロSDカードは、SDカードリーダーを使ってMacBookに接続します。MacBookを使っている人は、USB-Cになりますから注意してください。
このマイクロSDカードにRaspberry Pi OSを書き込むには、Raspberry Pi Imagerと言うツールを使います以下のリンクからRaspberry Pi Imagerをダウンロードしてインストールしてください。
初回起動時だけ、以下のようなダイアログが出ます。開くをクリックします。

Raspberry Piが起動すると以下のような画面になります。

次のセクションに続きます。
Raspberry Pi OSのインストール
マイクロSDカードをSDカードリーダを使ってMacBookに接続します。Raspberry Pi Imagerの”CHOOSE SD CARD”ボタンを押すと、マイクロSDカードが選択できるはずです。

Generic- Micro SD…をクリックして選択したら、”CHOOSE OS”をクリックします。ここではOSの選択をします。”Raspberry Pi OS (other)”を選び、”Raspberry Pi OS Lite (32-bit)”を選択します。

上記のような状態になったら、”WRITE”をクリックします。これでOSのインストールが始まります。OSはインターネットからダウンロードされるのでMacBookがインターネットに接続されている必要があります。しばらく時間がかかります(5分から10分くらい)。
以下のようなダイアログが表示されたら終了ですから、”CONTINUE”をクリックしてSDカードリーダからマイクロSDカードを取り出します。いきなりマイクロSDカードを取り出してしまって大丈夫です。

これでマイクロSDカードにRaspberry Pi OSがインストールされました。
最初の設定
OSはインストールされましたが、最初にやっておかなければならない設定があります。まず、USBケーブル経由でsshログインできるようにします。
取り出したマイクロSDカードを再度SDカードリーダに差し込みます。これでマイクロSDカードはMacBookから読み書きできる状態になります。マイクロSDカードは/Volumes/boot
というディレクトリにマウントされています。マウントするというのは、物理的なディスク(記憶装置)をOSで読み書きできるようにすることをいいます。
確認してみましょう。ターミナルを立ち上げて、以下のよう入力してください。先頭の%はプロンプトですから入力しません。ls
以下をコピーペーストするか、キーボードから入力してエンターキーを押します。
1 |
% ls -l /Volumes/boot |
マイクロSDカードの中身が一覧表示されたはずです。
1 2 3 4 5 6 7 8 9 10 11 |
[~] % ls -l /Volumes/boot total 108110 -rwxrwxrwx 1 shu0625 staff 18693 5 27 10:57 COPYING.linux -rwxrwxrwx 1 shu0625 staff 1594 5 27 11:22 LICENCE.broadcom -rwxrwxrwx 1 shu0625 staff 25330 8 5 23:36 bcm2708-rpi-b-plus.dtb -rwxrwxrwx 1 shu0625 staff 24678 8 5 23:36 bcm2708-rpi-b-rev1.dtb -rwxrwxrwx 1 shu0625 staff 25067 8 5 23:36 bcm2708-rpi-b.dtb -rwxrwxrwx 1 shu0625 staff 24800 8 5 23:36 bcm2708-rpi-cm.dtb -rwxrwxrwx 1 shu0625 staff 25965 8 5 23:36 bcm2708-rpi-zero-w.dtb -rwxrwxrwx 1 shu0625 staff 24772 8 5 23:36 bcm2708-rpi-zero.dtb ... 省略 ... |
Raspberry Piにsshでログインできるようにします。
1 |
% touch /Volumes/boot/ssh |
これは/Volumes/bootの下にsshという名前の空のファイルを作成しています。こうすることで、次回Raspberry Piが起動する際にsshでログインできるように自動的に設定してくれます。
Atomなどのテキストエディタで/Volumes/boot/config.txt
を開きます。config.txtは以下の場所にあります。サイドバーの「場所」の下に表示されているbootです。

このファイルの一番下に新たに行を増やし、以下の1行をコピーペーストして保存します。
1 |
dtoverlay=dwc2 |
同じ要領で/Volumes/boot/cmdline.txt
をテキストエディタで開きます。このファイルには1行しか内容がないはずです。この行のrootwaitとquietの間に以下の文字列をコピーペーストします。この時、modules-load=dwc2,g_ether
の両脇には半角空白が1つ入るようにします。
1 |
modules-load=dwc2,g_ether |
最終的にcmdline.txt
の内容は以下のようになっているはずです。
1 |
console=serial0,115200 console=tty1 root=PARTUUID=907af7d0-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet init=/usr/lib/raspi-config/init_resize.sh |
正しく入力できたら保存します。これでUSB経由でsshログインできるようになります。
SDカードリーダからマイクロSDカードを取り出します。この時、いきなり取り出してはいけません。Finderのサイドバーの「場所」の下にbootと表示された場所がありますが、この横に取り出しのアイコンがあるはずです。このアイコンをクリックして、bootが消えたら取り出すことができます。
Raspberry Piにログインする
取り出したマイクロSDカードをRaspberry Pi Zeroに差し込みます。差し込む向きはRaspberry Pi Zeroのボードを表向きにしたときにマイクロSDカードも表向きになります。下の写真を参考にしてください。

USBケーブルをRaspberry Piに接続します。Raspberry Pi Zeroには2つのマイクロUSBの口がありますが、USBと印字された方に接続します。上の写真を参考にしてください。
sshでログインするためにはRaspberry Piに割り当てられたIPアドレスを知る必要があります。
Raspberry Pi ZeroとMacBookを接続します。接続すると、緑色のLEDが点滅するはずです。激しく点滅している間はOSが立ち上がってきている最中なのでsshでログインできません。LEDの点滅が収まるまで少し待ちます。
ログインする際には、MacBookのターミナルから以下のように入力します。
1 |
% ssh pi@raspberrypi.local |
Windows 10を使っている場合には、ネットで検索して調べてください。例えば、以下のページ。
https://qiita.com/Liesegang/items/dcdc669f80d1bf721c21
パスワードを入力するように促されたら”raspberry”と入力します。
1 |
pi@raspberrypi.local's password: |
OSをインストールした初期状態では、ユーザ名は”pi”、パスワードは”raspberry”になっています。
以下のようなプロンプトが出れば、ログインは成功です。
1 |
pi@raspberrypi:~ $ |
Raspberry Piを終了するには、以下のように入力します。$
はRaspberry Piのプロンプトを表していますから入力しません。
1 |
$ sudo shutdown -h now |
sudo
というのは、管理者権限でコマンドを実行するためのコマンドです。sudo
コマンドを使うと通常は管理者のパスワードを聞かれますが、pi
は管理者でもあるのでパスワードは聞かれないはずです。
しばらくLEDが点滅しているので、点滅しなくなるまで待ちます。点滅しなくなりLEDが消えた状態が続くようになったら、USBケーブルを抜きます。
sshでログインしようとした際に、以下のようなメッセージが出力されてログインできないことがあります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: POSSIBLE DNS SPOOFING DETECTED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ The ECDSA host key for raspberrypi.local has changed, and the key for the corresponding IP address fe80::5f46:9de7:***:***%en7 is unknown. This could either mean that DNS SPOOFING is happening or the IP address for the host and its host key have changed at the same time. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:T6NtXC1dR46zikl+Lpi2************************* Please contact your system administrator. Add correct host key in /Users/ユーザ名/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /Users/ユーザ名/.ssh/known_hosts:2 ECDSA host key for raspberrypi.local has changed and you have requested strict checking. Host key verification failed. |
このような場合には、/Users/ユーザ名/.ssh/known_hosts
というファイルにraspberrypi.local
から始まる行があるので、その行を削除します。上記の出力の以下の部分に行数が出ています。この例の場合には2行目ということになります。
1 |
Offending ECDSA key in /Users/ユーザ名/.ssh/known_hosts:2 |
ネットワークの構成
sshでログインできるようになったということは、MacBookとRaspberry Piがネットワークでつながっているということです。図で説明すると以下のようになっています。

USB経由でRaspberry Piをネットワークに接続すると、図のように169.255.X.XのようなIPアドレスが振られます。169.254.X.Xはリンクローカルアドレスという特殊なIPアドレスです。これは独自割り当てIPアドレスと呼ばれていて、それが繋がっているLANの中でしか通信できません。つまり、とりあえずMacBookとは通信ができるようになっているという状態です。
このままでは不便なので、来週Raspberry Piが大学の学内Wi-Fiに接続できるように設定をします。
ホスト名の変更
インストールした直後は、Raspberry Piのホスト名はraspberrypi
になっています。今後、皆さんのRaspberry Piを学内無線LANに接続することになりますが、その際に同じホスト名だと都合が悪いです。そこで、以下のようにホスト名を変更してもらいます。
ここでは、学籍番号がNE33-1034B
であると仮定します。ホスト名は、まず先頭がチェックデジットを小文字にしたもの、つまりこの場合にはb
です。続いて1034
の下2桁、つまりこの場合には34
です。その後ろには何を続けても良いです。何か好きな文字列を続けてください。例えばneko
としたとしましょう。この場合のホスト名はb34neko
となります。
それでは実際にホスト名を変更しましょう。Raspberry Piにログインして、2つのファイルを編集します。Raspberry Piでは、テキストエディタとしてviかnanoが使えます。ここではnanoを使うことにします。
1 |
$ sudo nano /etc/hostname |
nanoが立ち上がって、hostnameというファイルが編集できるようになります。ここに現在のホスト名であるraspberrypi
が記載されています。これを先ほど決めたホスト名に変更してください。コントロールキーとoで保存、コントロールキーとxで終了です。
さらにhostsというファイルも編集します。
1 |
$ sudo nano /etc/hosts |
このファイルにも、raspberrypi
というホスト名が記載されていますので、これを新しいものに書き換えます。
Raspberry Piを再起動します。
1 |
$ sudo reboot |
少し時間がかかってから、エラーメッセージが出力されて、Raspberry Piとの通信が切れます。エラーメッセージが出るのは気にしなくていいです。Raspberry Piが立ち上がるのを少し待ってから、以下のように再度sshでログインします。
1 |
% ssh pi@新しく設定したホスト名.local |
ログイン後のプロンプトが新しホスト名になったはずです。
パスワードの変更
sshでRaspberry Piにログインして、以下のように入力します。
1 |
$ passwd |
今現在のパスワード(Current password:
)を聞かれるので、入力します。最初はraspberry
になっているはずです。
さらに新しいパスワードを2回入力すれば、そのパスワードに変更されます。この変更後のパスワードは忘れないようにしましょう。これを忘れると大変厄介なことになります。
時刻合わせ
まず、タイムゾーンを設定します。タイムゾーンとは、同じ時刻を使用する地理的区画のことです。
raspi-configという環境設定ツールを起動します。
1 |
$ sudo raspi-config |
以下のような画面になるので、矢印キーでLocalisation Options ...
を選びエンターキーを押します。

Change Time Zone
を選びエンターキーを押し、Asia
、Tokyo
と選択していきます。設定が終わると、raspi-configの最初の画面に戻るので、矢印キーの→で<Finish>
を選択しエンターキーを押します。これでタイムゾーンが設定できました。
Raspberry Pi OSの時刻は、date
コマンドで確認します。
1 |
$ date |
恐らく時刻が狂っているはずです。本来であれば時刻合わせサーバに自動的に問い合わせを行うのですが、現在学内Wi-Fiからは時刻合わせサーバに問い合わせができません(しばらくするとできるように変更されるかもしれません)。そこで、まずは手動で設定します。
'2020/09/18 11:31:20'
の部分は、現在時刻に置き換えてください。
1 |
$ sudo date --set='2020/09/18 11:31:20' |
提出してもらうもの
ここまでの作業を行い、MacBookのターミナルからRaspberry Piにログインし、dateコマンドを実行した結果が出力されている画面のスクリーンショットを提出してください。
— by 石井 健太郎、沼 晃介、飯田 周作 専修大学ネットワーク情報学部