Rapberry Pi OSのインストール


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以下をコピーペーストするか、キーボードから入力してエンターキーを押します。

マイクロSDカードの中身が一覧表示されたはずです。

Raspberry Piにsshでログインできるようにします。

これは/Volumes/bootの下にsshという名前の空のファイルを作成しています。こうすることで、次回Raspberry Piが起動する際にsshでログインできるように自動的に設定してくれます。

Atomなどのテキストエディタで/Volumes/boot/config.txtを開きます。config.txtは以下の場所にあります。サイドバーの「場所」の下に表示されているbootです。

このファイルの一番下に新たに行を増やし、以下の1行をコピーペーストして保存します。

同じ要領で/Volumes/boot/cmdline.txtをテキストエディタで開きます。このファイルには1行しか内容がないはずです。この行のrootwaitとquietの間に以下の文字列をコピーペーストします。この時、modules-load=dwc2,g_etherの両脇には半角空白が1つ入るようにします。

最終的にcmdline.txtの内容は以下のようになっているはずです。

正しく入力できたら保存します。これで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のターミナルから以下のように入力します。

Windows 10を使っている場合には、ネットで検索して調べてください。例えば、以下のページ。

https://qiita.com/Liesegang/items/dcdc669f80d1bf721c21

パスワードを入力するように促されたら”raspberry”と入力します。

OSをインストールした初期状態では、ユーザ名は”pi”、パスワードは”raspberry”になっています。

以下のようなプロンプトが出れば、ログインは成功です。

Raspberry Piを終了するには、以下のように入力します。$はRaspberry Piのプロンプトを表していますから入力しません。

sudoというのは、管理者権限でコマンドを実行するためのコマンドです。sudoコマンドを使うと通常は管理者のパスワードを聞かれますが、piは管理者でもあるのでパスワードは聞かれないはずです。

しばらくLEDが点滅しているので、点滅しなくなるまで待ちます。点滅しなくなりLEDが消えた状態が続くようになったら、USBケーブルを抜きます。

sshでログインしようとした際に、以下のようなメッセージが出力されてログインできないことがあります。

このような場合には、/Users/ユーザ名/.ssh/known_hostsというファイルにraspberrypi.localから始まる行があるので、その行を削除します。上記の出力の以下の部分に行数が出ています。この例の場合には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を使うことにします。

nanoが立ち上がって、hostnameというファイルが編集できるようになります。ここに現在のホスト名であるraspberrypiが記載されています。これを先ほど決めたホスト名に変更してください。コントロールキーとoで保存、コントロールキーとxで終了です。

さらにhostsというファイルも編集します。

このファイルにも、raspberrypiというホスト名が記載されていますので、これを新しいものに書き換えます。

Raspberry Piを再起動します。

少し時間がかかってから、エラーメッセージが出力されて、Raspberry Piとの通信が切れます。エラーメッセージが出るのは気にしなくていいです。Raspberry Piが立ち上がるのを少し待ってから、以下のように再度sshでログインします。

ログイン後のプロンプトが新しホスト名になったはずです。

パスワードの変更

sshでRaspberry Piにログインして、以下のように入力します。

今現在のパスワード(Current password:)を聞かれるので、入力します。最初はraspberryになっているはずです。
さらに新しいパスワードを2回入力すれば、そのパスワードに変更されます。この変更後のパスワードは忘れないようにしましょう。これを忘れると大変厄介なことになります。

時刻合わせ

まず、タイムゾーンを設定します。タイムゾーンとは、同じ時刻を使用する地理的区画のことです。

raspi-configという環境設定ツールを起動します。

以下のような画面になるので、矢印キーでLocalisation Options ...を選びエンターキーを押します。

Change Time Zoneを選びエンターキーを押し、AsiaTokyoと選択していきます。設定が終わると、raspi-configの最初の画面に戻るので、矢印キーの→で<Finish>を選択しエンターキーを押します。これでタイムゾーンが設定できました。

Raspberry Pi OSの時刻は、dateコマンドで確認します。

恐らく時刻が狂っているはずです。本来であれば時刻合わせサーバに自動的に問い合わせを行うのですが、現在学内Wi-Fiからは時刻合わせサーバに問い合わせができません(しばらくするとできるように変更されるかもしれません)。そこで、まずは手動で設定します。

'2020/09/18 11:31:20'の部分は、現在時刻に置き換えてください。

提出してもらうもの

ここまでの作業を行い、MacBookのターミナルからRaspberry Piにログインし、dateコマンドを実行した結果が出力されている画面のスクリーンショットを提出してください。

— by 石井 健太郎、沼 晃介、飯田 周作 専修大学ネットワーク情報学部