NOOBSを使ったRaspberry Pi 3B+と4BでのOSインストールから初期設定までの覚え書き

2020/11/16(月) - 22:26 | bisoh
我が家のX68000 SUPERで、同人ハードのFDX68とRaSCSIを稼働させるために、Raspberry Pi 3B+(1GB)、4B(8GB)、7インチ液晶ディスプレイを購入した。まずはその導入部、Raspberry Pi OSのインストールから初期設定を終えるまでの流れをまとめてみた。Vimのヘンテコな挙動の解決や、ディスプレイ設定も同時に行っている。

Transkit製のRaspberry Pi 4 model Bキット。これにキーボードとマウスがあればすぐにラズパイを始められる (c)Hosoda Bisoh
ラズパイ4Bキットの説明書。OS起動までの必要な情報は揃っている (c)Hosoda Bisoh


Transkit製のRaspberry Pi 4 model Bキットの内容 (c)Hosoda Bisoh

ラズパイ用に買ったROADOM製7インチ液晶ディスプレイ。スピーカー付きなので、配線もスッキリさせやすい (c)Hosoda Bisoh
後日、単体購入したRaspberry Pi 3 model B+とMINIX NEO K2キーボード (c)Hosoda Bisoh


ROADOM製7インチ液晶ディスプレイのセット内容 (c)Hosoda Bisoh

1. NOOBSを使ったOSインストール

NOOBSはRaspberry Pi公式のGUIベースのインストーラー。「Raspberry Pi OS(旧名Raspbian)」をインストールする場合は、ネットワーク経由でOSをダウンロードしながらインストールするLiteより、最初からOSパッケージが入った通常版の方が不安がなくて良いかも。

まず、下記のラズパイ公式サイトURLより「Download Zip」ボタンをクリックしてMacにNOOBSをダウンロードする。

→Raspberry Pi公式サイト NOOBSダウンロードページ

Zipファイルを解凍したら、マイクロSDカードのトップディレクトリに「NOOBS_*****」(*****はバージョンなどが入る)内のファイルやフォルダを全てコピーする。

コピーが終わったら、マイクロSDカードをRaspberry Piに挿入して起動。

起動したら、この段階でWiFiや言語、キーボードの選択をしておくと後が楽。

「Rasberry Pi OS」にチェックを入れて左上のインストールボタンをクリック。

NOOBSやOSが入った状態で起動すると、虹色の画面が出る (c)Hosoda Bisoh
WiFiに繋がっていないと、NOOBSに同梱されている32bit版Raspberry Pi OSとLibreELECだけが出る (c)Hosoda Bisoh


ここでWiFiアイコンをクリックしてWiFiを選択してしまおう (c)Hosoda Bisoh
言語選択もここでしてしまおう (c)Hosoda Bisoh


WiFiに接続出来ると、OSの選択肢が増える (c)Hosoda Bisoh
SDカード内の既存データは上書きされちゃうよと警告が出る。他のデータを入れてなければそのまま進めてヨシ (c)Hosoda Bisoh


インストール進行中は「ラズパイでこんな事できますよー」的な絵がパタパタと流れてループするので、下のプログレスバーを含めてボンヤリ眺めながら完了まで放置。

OSインストールが完了したら再起動。

debianのアイコンやラズパイで出来ること紹介みたいなスライドが流れてOSインストールが進行する (c)Hosoda Bisoh
OSインストールに成功するとメッセージが出るのでOKを押して再起動 (c)Hosoda Bisoh


2. 電力の問題を解決する

ラズパイが起動しなかったり、画面右上に稲妻マークが出ている時は電力不足が考えられる。下記のようなメッセージが出ることもあり。

Low voltage warning
Please check your power supply

対処方法

  1. USBケーブルを変更する(ACアダプターなどが電源供給量が条件を満たしている場合)
  2. 電源供給源の電力自体が足りない場合、ACアダプターやモバイルバッテリーを変更する
  3. ディスプレイや周辺機器などは、別系統から電源を取る
5V3A供給可能な同じモバイルバッテリーとスイッチを使った場合、Raspberry Pi 4Bでは液晶ディスプレイを本体のUSB端子から電源を取っても稲妻マークは出ず正常動作。

3B+では液晶ディスプレイの電源を本体のUSBポートから取ると画面がついたり消えたりを繰り返し、OSも起動しなかったため、すぐに電源を切って外した。ディスプレイを別電源にすると起動するが、時折稲妻が表示された。電源ポートの形状が、4BはType-C、3B+はMicroUSBなので、本体側が受けられる電力量にも規格による違いがありそう(めんどくさいからちゃんと調べてない)。

ラズパイ3B+からディスプレイの電源を取ってみるも、電力不足で起動せず (c)Hosoda Bisoh
電力が足りないとPWRの赤LEDが点灯せず起動しなかったり、点滅して警告したりする (c)Hosoda Bisoh


7インチディスプレイの電源を別系統にして、 ラズパイ3B+が無事起動 (c)Hosoda Bisoh

3. セットアップウィザードでの各種設定

前のバージョンなどは触ったことがないからわからないけれど、Raspberry Pi OS 3.5.xは、最初のOS起動時にセットアップウィザードが開始される。

これをキャンセルして後述する個別設定をまとめて行っても良いが、WiFiと言語の設定はここで確認し直せるので、ひと通り画面を見ていこう。

まずはセットアップウィザードを開始 (c)Hosoda Bisoh
OSインストール時に設定してない場合、表示を英語から日本語へ切り替える (c)Hosoda Bisoh


初期ユーザー(pi)のパスワードを設定する。rootユーザーのパスワード設定はコマンドラインでやる (c)Hosoda Bisoh
スクリーン設定。購入した7インチディスプレイの場合、デスクトップ周辺に黒枠が出てるか、というところにチェックを入れても入れなくても状況は変わらず (c)Hosoda Bisoh


WiFi。OSインストール時に選択してあれば、それが表示されるので、そのままNestをクリック (c)Hosoda Bisoh
最後に出るソフトウェアアップデートは無視。これはコマンドラインで実行する (c)Hosoda Bisoh


全て終えたら再起動 (c)Hosoda Bisoh

4. rootパスワードを設定する

su rootしたい時もあるので下記コマンドにて設定しておく。

$ sudo passwd root

セキュリティー的に見たらこれで終わりではないのだけど、そういう細かいのは後で必要に応じてやる方向。

5. OSのアップデート

最初に買ったラズパイ4BのセットアップウィザードのGUIではなぜか失敗したので、SSH経由でコマンドラインを使ってOSを最新の状態にした。3B+も同様。

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

終わったら再起動。4Bは10分少々だったが、3B+は20分近くかかった。適用される内容が違っていたかもしれないが、CPUやネットワークの速度の差が出たかも。

6. 各種設定

SSH/CUIの場合、ターミナルから下記コマンドでRaspberry Piの環境設定画面を呼び出す。

$ sudo raspi-config

ただし2020年11月時点、これら設定はRasberry Pi OSの「Raspberry Piの設定」でも出来る。OSインストール時かOS初期起動時のセットアップウィザードにて言語を日本語にしておくとわかりやすいので、特に拘りがないならこちらでも良いと思う。見出しや表の後者はGUI設定画面での日本語名称。Wi-Fiは、これも同様に先に設定してあれば、再設定の必要はないから省略(やり方は一緒)。

ラズパイの各種設定は「Raspberry Piの設定」で行える (c)Hosoda Bisoh

「Raspberry Piの設定」の画面。ホスト名やSSHをここで設定していく (c)Hosoda Bisoh

Network Options / システム

項目名LXTerminal/SSHGUI
Hostname
ホスト名
半角英数字で任意の名称を入れる

Interface Options / インターフェイス

SSHを有効化する。

項目名LXTerminal/SSHGUI
SSH「Yes」or「はい」有効

Localization Options / ローカライゼーション

地域とエンコーディングを設定する設定する。この辺もインストール後の初期設定までに終わっている項目。確認して万が一反映されてないようなら変更する。

項目名LXTerminal/SSHGUI
Locale
ロケール
ja_JP.UTF-8 UTF-8言語: ja (japanese)
文字セット: UTF-8
Timezone
タイムゾーン
Asia/Tokyo or アジア地域: Asia
位置: Tokyo
Keyboard
キーボード
使っているものに合わせる。英字キーボードもUK配列とUS配列で微妙な違いがあるので注意。日本で流通している英字キーボードの大半はUS配列。汎用であれば「Generic 105-key PC (intl.)」で間に合う。一覧にはHHKBなど、多くのキーボード設定がある。
WLAN Country
無線LANの国
JP JAPAN

ここまでの設定を保存したらラズパイを再起動する。

7. デフォルトVimの不便さを通常版Vimのインストールで根本的に解決する

ラズパイデフォルトのVimの挿入モードでは、カーソルキーを押すとABCDが出てカーソルが移動しない問題がある。不便すぎるので、ググると対処法も溢れんばかりに出てくる。

なぜ今時こんな挙動をするのかと思ったら、Raspberry PiのデフォルトVimは機能限定版のVim-tinyで、しかもvi互換モードで動いているとのこと。

カーソルキーの挙動については、ユーザー個別のホームディレクトリに.vimrcを作成して1行目に「set nocompatible」と書き入れて保存すれば良い。で、確かに設定ファイルをちょっといじるくらいだと、これで十分ではあり。しかし、他にも挙動が違っていたり機能不足も散見されたため、さすがにその度カスタマイズするのが面倒になってしまった。

そこで、デフォルトで入っているこのVim-tinyのまま使用し続けることを諦め、通常版のVimをインストールし直した。

まずはインストールされているVimを確認。

$ dpkg -l | grep vim

vim-commonとvim-tinyが出たら、それらをまとめてアンインストールする。

$ sudo apt remove -y --purge vim-common vim-tiny

アンインストール中に「/etc/vimが削除出来ませんでした」と言う警告が出た場合、/etc直下のvimディレクトリをrmコマンドで削除しておく。通常版をインストールすれば再作成してくれるので、残しておく必要はない。

そして通常版Vimをインストールする。

$ sudo apt install -y vim

以上で設定ファイルを追加することなく、カーソルキーは方向キーとして正常化するし、構文の色分けなども適用された状態となる。あれこれカスタマイズするにしても、プリミティブな設定をしなくて済む通常版Vimをベースにした方が遥かにやりやすいのでお勧め。

8. .vimrc(vimの設定ファイル)に追加設定した項目

通常版Vimのインストール後、とりいそぎ行番号表示(set number)のみ設定した。グローバル設定にしたい場合は「/etc/vim」にvimrc.localを作成して書き入れればOK(自分はそうした)。ちなみにVim-tinyだとこのvimrc.localの設定も読み込んでくれなかったので、やはりフル機能を入れておいた方が良い。

ユーザー個別に設定する場合のファイル
$ vi ~/.vimrc

グローバル設定とする場合のファイル
$ vi /etc/vi/vimrc.local

上記ファイルに下記行を追記して保存
set number

他にも設定可能項目はたくさんあるので、「vimrc setting」などで検索すると良き。

9. ROADOM製7インチディスプレイ(1024x600)の表示を正常にする

我が家でラズパイ用に準備した液晶ディスプレイはROADOM製の7インチディスプレイ。ラズパイを背面に装着出来、スピーカーも装備しているので、ラズパイを小型PC的に使えるのが素敵な点。ただ解像度が「横1024×縦600ピクセル」と特殊なため、改めて設定が必要となった。

ケーブルの接続が完了したラズパイ4Bと7インチディスプレイ (c)Hosoda Bisoh
電源を入れるとラズパイのロゴが出る (c)Hosoda Bisoh


OSが見つからなかったり、ディスプレイ設定が間違っていたりすると、真っ白な画面になることも (c)Hosoda Bisoh
ディスプレイ台座が斜めなので、GPIOにHAT(シールド)を増設したりすると地面に接触しそう (c)Hosoda Bisoh


OSインストール完了直後、4Bでは横方向に潰れて左右に黒帯がある画面に、3B+では1366x768と一回り大きな解像度が設定されていた。端的に言って見づらい。これをドットバイドットの正常な表示とするため、「/boot/config.txt 」に下記設定を適用した(hdmi_modeの数値を変更、hdmi_cvtを追記)。

この設定は、他社製(KumanやSunFounderなど)の同解像度のディスプレイにも応用できる模様。

$ vi /boot/config.txt 

hdmi_group=2
hdmi_mode=87
hdmi_cvt=1024 600 60 3 0 0 0

「hdmi_group」の数値の意味

項目名
自動検出(Auto-detect from EDID)0
TV出力(CEA)1
PC用ディスプレイ(DMT)2

「hdmi_mode」の数値の意味

たくさんあるから割愛。ラズパイ公式サイトの表を見ると、1〜86までは予約された値が入っており、その中に1024x600と言う解像度は存在しない(raspi-configでも出てこない)。その下の「hdmi_timings」と言う項で「hdmi_group=2、hdmi_mode=87にすると選択したカスタムモードで生のHDMIタイミング値を設定可能」風なことが書いてあったので、hdmi_groupとともに、それら数値をそのまま適用した。

詳しくはラズパイ公式サイトを見るべし。
→Video options in config.txt

「hdmi_cvt(Custom mode)」の数値の意味(左から順に)

例:hdmi_cvt=1024 600 60 3 0 0 0

順番項目名(単位)
1width 画面の幅(pixel)1024
2height 画面の高さ(pixel)600
3frame rate フレームレート(Hz)60 / 70 / 75 ...
4aspect 画面比率1=4:3 / 2=14:9 / 3=16:9 / 4=5:4 / 5=16:10 / 6=15:9
5margins マージン0=disabled / 1=enabled
6interlace インターレース0=progressive / 1=interlaced
7reduced blanking ブランクの削減0=normal / 1=reduced

margins, interlace, reduced blankingの値は、ディスプレイの挙動がおかしくなければ0のままで良いと思う。

設定が終わったらラズパイを再起動。表示がドットバイドットかつ画面一杯となり、見やすくなった。



これでラズパイの準備は完了。次回はX68000とFDX68を繋げる前段階、FDD-DRIVE SWAPPERの組み込み編。