RaspberryPi ZERO WHのPHPバージョンが7.3でPHP8を使いたくてインストールしようとしたのですがOSの起動が失敗してOSを再インストールするはめになったので、Raspberry Pi ImagerからOSをインストールする方法を書き残します。
契約しているレンタルサーバーのPHPバージョンが8なのでラズパイで同じ環境にしようと思いましたが、PI ZERO WHでsuryのリポジトリからPHP8をインストールしたら失敗し、コマンド打つと「Illegal opcode」が出て一切受け付けなくなり強制的に再起動するとカーネルパニックが起きてし舞う状態。なので、ラズパイOSのaptからインストールするPHP7.3またはPHP7.4のまま使うことにしました。
RaspberryPi ZERO WHにはRaspberryPi OSの「Legacy」をインストールする必要がありました。他を選ぶと起動が出来ませんでした。
RaspberryPi OS Lite(32bit)もモニターに画面が映らないだけで正常?にインストールされたことが確認できたので、最後に後述してます。Legacy版インストール内容は変更せずにそのまま載せています。
またまた追記、どうもHDMIケーブルの問題だったようで違うケーブルに交換したら問題なく映りました。追記した情報は「とりあえずこんな事もある」と言うことでそのまま残しておきます。OSインストールはLite(32bit)」版も「Legacy」版と同様にインストール行えます。GLドライバ有効は不要。
以前、RaspberryPiでOSをインストールすときはOSが入ってるイメージファイルをmicroSDに直接書き込むか、noobsを入れてラズパイからOSを選択してインストールする方法さあったのですが、noobsからインストールする方法は廃止され今は「Raspberry Pi Imager」を使ってインストールするそうです。
RaspberryPiのOS名もRasopbianからRaspberryPi OSに変わってます。
環境
- Windows 10
- RaspberryPi ZERO WH
- microSDカード 16GB
- Raspberry Pi Imager 1.7.3
Raspberry Pi OSはCUIのみのLite版を使います。
インストールは2022/12/4現在の情報です。
Raspberry Pi Imagerを入手
RaspberryPi公式サイトのダウンロードページからRaspberry Pi Imagerを入手します。
パソコンにRaspberry Pi Imageをインストールして実行します。

サイトは英語でしたが、Raspberry Pi Imageは日本語対応になってるようです。
Raspberry Pi ImagerでOS書き込み
Raspberry Pi ImagerでOSを起動してインストールするOSを選択します。

「RaspberryPi OS(other)」を選択。
「OSを選ぶ」項目からストレージのフォーマットも選択できます。

「Raspberry Pi WHにRaspberryPi OS Lite(Legacy)」を選択。
うちの環境だとRaspberryPi ZERO WHは「Legacy」を選択する必要がありました。32bit板など選択してインストールすと最初は液晶モニタに起動画面が表示され起動時の情報が流れていくのですが、しばらくたつとHDMIの信号が無信号になり液晶モニタは「No Signal」となり何も映らなくなってダメでした。
OSを選択したらストレージも選択して【設定】を開きます。

「設定」を開くとユーザー名や無線LAN接続、タイムゾーンなどの設定など行えます。

ユーザ名やパスワード、SSH、無線LAN、タイムゾーンなどの設定を行う。

最後に【保存】をクリックして設定を終える。
ここで、無線LAN接続設定とSSH接続を有効にしておくと、RaspberryPiを起動したときに直ぐにパソコンから遠隔操作が行えます。
Raspberry Pi Imagerで設定しておくと、OS書き込み時に設定した情報も書き込まれるのでラズパイ上で無線LAN接続などの設定をしなくていいので楽です。
RaspberryPiがネットワークに繋がらないことが何度もあり、OSの書き込みを何度も行いましたが、SSIDかパスワードを間違えてるだけでした。無線LAN接続の設定が正しいとラズパイを起動するだけでネット―ワークに接続します。
OS、ストレージの選択、設定を終えたら書き込みます。
※選択したストレージをフォーマットするため、ストレージに間違いがないか確認してください。

【書き込む】を選択。

最終確認で【はい】を選択してmicroSDにOSを書き込みます。
この時、エクスプローラーでmicroSDのディスクが開き「フォーマットしますか?」のメッセージが何度も出ますが無視します。

SDカードに書き込みが完了したら、カードをラズパイZERO WHに移して起動します。
RaspberryPi ZERO WHを起動する
起動したら、ラズパイでログインしてラズパイのIPアドレスを確認。
ip a

WindowsからターミナルでSSH接続た時の画像になりますが、無線LAN接続が出来ていると「wlan0」の項目がありIPアドレスも表示されてます。
WindowsからターミナルでSSH接続する
ラズパイZERO WHがネットワークに接続されていることが確認できたので、WindowsからターミナルでSSH接続をします。
ターミナルは「Tera Term」を使います。
先ほど確認したラズパイのIPアドレスを入力して接続。

最初の接続では「セキュリティの警告」が表示されるので、【継続】を選択。

ラズパイのユーザー名とパスワードを入力して【OK】を選択。

接続が出来ました。
あとは、アップデートやら固定IPに変更、Apacheやsambaなど設定や使用するソフトをインストールして環境を整えます。
RaspberryPi OS Lite(32bit)のインストール
HDMIケーブルを交換したら問題なくモニターに映ったので、OSインストールだけで大丈夫かと思います。GLドライバ有効にする手順は不要。
ただ、「こういった事もある」と言うことで内容を修正しないでそのまま載せておきます。
SSH接続オンリーでラズパイから直接キーボード・マウスで操作しないのであれば、OSインストール後の内容は不要かと思います。
RaspberryPi OS Lite(32bit)をRaspberryPi ZERO WHにインストールすると画面が映らないのでインストールが出来ないと思っていましたが、OSインストール時に無線LAN接続の設定が正しいとパソコンからSSH接続が出来た事が分かり、またRaspberryPi ZERO WHにHDMI接続してるモニターにも表示することが出来たので、その手順を書いていきます。
OSインストールとSSH接続の手順はLegacy版とあまり変わりはないので補足程度の内容になります。
追記:2022/12/6
OSインストール

「RaspberryPi OS Lite(32bit)」を選択。
パソコンからSSH接続するために、【設定】から「無線LAN接続設定」「SSH有効」を行ってからインストール。
※ストレージ選択間違いに注意してください!何度もすいません。
インストールしたmicroSDをラズパイZERO WHにセットして起動。

ブルーバックにグレーの子画面が表示され何やら処理をしている。このまま何もしないで待っていると再起動される。

ラズパイいつもの起動画面、このまま待つと…

HDMI接続してるモニターの画面が無信号となり何も映らなくなる。
さらに待ち続けるともう1度ラズパイ起動時の画面が表示され、再び無信号。その後、1時間ほど待っても画面に何も映らないままの状態です。
画面に何も映ってないですが、ラズパイZERO WHに接続してるキーボードから画面が見えない状態ですが「ログイン」して「reboot」を行うと再起動されるので、操作は行えるようです。
パソコンからSSHで接続
ラズパイZERO WHと接続してるモニターには何も映ってないですが、OSインストール時の無線LAN設定が正しいのなら、ラズパイZERO WHはネットワークに繋がっているはずです。
しかし、ラズパイZERO WHのIPアドレスが分からにので「NetEnum」というツールを使ってローカルネットワーク内に接続してる端末のIPを確認します。

NetEnumを起動して、ツールメニュー【検索】>【検索設定】

ローカルネットワーク内のIPアドレスを範囲指定「例:192.168.1.1/24」して【検索】ボタンを選択。

接続してる端末が検出されるので、ベンダー名からRaspberryPi ZERO WHのIPアドレスを確認。
確認できたIPアドレスでターミナルからSSH接続します。
RaspberryPi ZERO WHにHDMI接続してるモニターに画面を出力する
SSH接続してログインしたら、ここから管理者権限で作業します。
管理者権限で以下のコマンドを実行
raspi-config
【6 Advanced Options】>【A2 GL Driver】を選択して実行


グラフィックドライバーを有効・無効にする項目のようです。

インストールしますかと聞かれるので「YES」。

どちらをインストールするか聞かれるので、とりあえず「G1 Legacy」を選択した。
グラフィックドライバを有効に出来たら「raspi-config」を終了。再起動しますか?と聞かれるので「YES」で再起動。

ラズパイZERO WHに繋いだモニターに画面が表示された。
OSのバージョンも確認
cat /etc/debian_version

「11.5」と確認。
Legacy版は画面キャプチャないですが、バージョン「10」と確認。※細かい数字は忘れました。
「v3d driver」がFailedになっていますが、モニターに画面が表示されているのでヨシとします。
GPUに関する項目のようですが、CUIで動かすしSSH接続できない時にラズパイで操作するだけなのでモニタ表示されているだけでいいかな。
あとは、Legacy版OSインストールした時と同じくアップデートやApache、samba、phpなど環境構築します。