2020-08-27

Raspberry Pi 4BをSD無しでSSD(USB)から起動させる

今までブートにSDがなければ出来なかったがSDなしで直接USB接続のSSDから読み込めるようにバージョンアップされている。ただし、最初のインストール時にSDは必要。

Article Image

目標:SD無しでブート

Raspberry PI 4 をSD無しブートに挑戦する。

インストール時にだけSDが必要になるので注意。

Raspberry Pi Imager

まずはSDにラズパイ用Raspberry Pi OS を書き込む。

以前はここも少し難しかったそうだが最近さらに簡単になったそうでRaspberry Pi ImagerというものからSDを作成する。

DLは次

Raspberry Pi Downloads - Software for the Raspberry Pi

私はWindows版を利用した。

DLして起動

まずは作成するSDをPCに接続しておく。

DLしたEXEを起動。

こちらはWindows側に一度インストールが必要。

インストールして起動

image-20200820203628717

左のChoose OSからOSを選択

Raspberry Pi OS を選択。※Raspbeanから名前が変わっているので注意。

2番めのChoose SD CardでSDカードドライブを選択。

このボタンをクリックしてから読み込みに少し時間掛かるので焦らず。

この2つが終わると右のWriteボタンが押せるようになる。

image-20200820203947046

SDカードのデータは消去されるので注意。

書き込みにかなり時間がかかる。

ラズパイにSDを挿して起動

ラズパイ自体を起動。

初期の設定を終わらせる。

画面に従っていけば出来るので省略。

基本設定

ここでWi-FiとVNC(リモートデスクトップ)の設定を行った。

メモ:VNCはVNC Viewerを入れた(UltraVNCは非対応)

SSD移行前に必要な手順

参考動画:https://youtu.be/r27WcPRtpWM

こちらを参考にコマンドを入れていく。

sudo apt update

sudo apt upgrade

sudo rpi-update

sudo reboot

sudo apt install rpi-eeprom

ここまで実行。最新版をインストールしたばかりなので上の2行は不要だろうが一応。

2020-09-05:追記

sudo rpi-updateに関しては上で紹介したyoutube動画でも危険があるとの紹介があるが次の記事でもお勧めされていなかったので十分注意して行うように。 ただしrpi-update無しでSSD起動+64bit化できるかは検証していない。

Raspberry Pi の OS を最新の安定版にアップデートする(2020年7月版) - Qiita

raspberrypiのOSを更新する方法 - Qiita

64bit karnel

正式版ではないが64bitで動くらしいので一応スイッチしておく。

やり方はとても簡単。

Raspberry Pi 4B 64bit kernel を試す - Qiita

※今回こちらを参考にさせていただいた。

現在の設定を確認。

pi@pi1:~ $ uname -a
Linux pi1 5.4.59-v7l+ #1336 SMP Wed Aug 19 16:09:04 BST 2020 armv7l GNU/Linux

armv7lというのが32bitらしい。

sudo nano /boot/config.txtarm_64bit=1を末尾に追記。

sudo rebootで再起動

起動を確認

確認

pi@pi1:~ $ uname -a
Linux pi1 5.4.59-v8+ #1336 SMP PREEMPT Wed Aug 19 16:16:01 BST 2020 aarch64 GNU/Linux

aarch64になっているので動作している模様。

ブートローダーの確認

Raspberry Pi4のUSB(HDD)起動設定 - Qiita

こちらの記事がとてもわかり易いので参考にさせていただいた。

Youtubeの動画ではpieeprom-2020-05-15.binを指定してるのだけれど、7/31に更新があったそうなので今どのブートローダーが入っているか確認。

pi@pi1:~ $ ls /lib/firmware/raspberrypi/bootloader/stable/
pieeprom-2020-04-16.bin  pieeprom-2020-07-31.bin  vl805-000138a1.bin
pieeprom-2020-06-15.bin  recovery.bin
pieeprom-2020-07-16.bin  vl805-000137ad.bin

pieeprom-2020-07-31.binが入っている模様。

ブートローダーの書き換え

次のコマンドで書き換え

pi@pi1:~ $ sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/stable/pieeprom-2020-07-31.bin
BCM2711 detected
VL805 firmware in bootloader EEPROM
BOOTFS /boot
*** INSTALLING /lib/firmware/raspberrypi/bootloader/stable/pieeprom-2020-07-31.bin  ***
BOOTFS /boot
EEPROM update pending. Please reboot to apply the update.

ここでsudo rebootで再起動。

※動画ではこの作業の前にsudo nano /etc/default/rpi-eeprom-updatecriticalbetaにしているがやらなくてよさげ。

ブートローダーのバージョンを確認

pi@pi1:~ $ vcgencmd bootloader_version
Jul 31 2020 14:43:39
version f8d1dc69144b10b4bd78b4b6d08658ac3005726d (release)
timestamp 1596203019

Jul 31 2020 14:43:39となっているので成功した。

いざSDカードからSSDへ

アクセサリ > SD Card Copierを使う。

image-20200822000954675

上にSD、下にSSD。

New Partition UUIDsをチェックしてstart

SSDの内容は全部消えるがOK? > YES

image-20200822001128246

完了

image-20200822002006678

SDを外して起動

私はこれで無事起動した。

さいごに

皆が口を揃えて「思ったより簡単」と言っているような気がするが、なんとなくその意味がわかった。

手順はいくつもあるのだがエラーのようなものが何もなかったので「楽」に感じる。

さて、ラズパイを何に使うかが問題か。



この記事のタグ

この記事をシェア


謎の技術研究部 (謎技研)