LoginSignup
10
1

More than 3 years have passed since last update.

raspberry pi を mstata SSDからbootする

Last updated at Posted at 2020-12-04

日本Androidの会秋葉原支部ロボット部 Advent Calendar 2020 5日目です。

aliexpressで独身セールの時に購入したのが届きました。

ラズパイに下駄を履かせて msata ssd をつなげる拡張ボートです。
msata ssdも独身セールで購入したのが届いたので、これを使って msata ssdからOSブートさせてみようと思います。

作業

組み立てはこんな感じです。
取説とかは特についてないですが、直感でわかる思います。

image.png

image.png

image.png

この方の記事を参考に作業を行います。
https://alexellisuk.medium.com/upgrade-your-raspberry-pi-4-with-a-nvme-boot-drive-d9ab4e8aa3c2

OSをアップグレードをして再起動します。

pi@raspberrypi:~ $ sudo apt update
pi@raspberrypi:~ $ sudo apt upgrade -y
pi@raspberrypi:~ $ sudo reboot

bootloaderのVersionは以下になりました。

pi@raspberrypi:~ $ sudo vcgencmd bootloader_version
Sep  3 2020 13:11:43
version c305221a6d7e532693cc7ff57fddfc8649def167 (release)
timestamp 1599135103

再起動したらraspi-configからAdvanced OptionsからBoot Orderを選択してUSB BootでOKを押します。

image.png

ddコマンドでsdカードからmsataにコピーします。

pi@raspberrypi:~ $ sudo dd if=/dev/mmcblk0 of=/dev/sda bs=1M

コピーが終了したらラズパイをシャットダウンしてsdカードを取り外したら電源を入れ直します。
ちゃんとmsataから起動するようになりました :clap:

pi@raspberrypi:~ $ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0 59.6G  0 disk
tqsda1   8:1    0  256M  0 part /boot
mqsda2   8:2    0 59.4G  0 part /
pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        59G  6.3G   50G  12% /
devtmpfs        1.8G     0  1.8G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  8.5M  1.9G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1       253M   54M  199M  22% /boot
tmpfs           385M     0  385M   0% /run/user/1000

比較

system-analyzeコマンドで起動時間、ddコマンドでwriteの時間を測ってみました。
あくまで参考値ですが起動時間が約半分、writeはざっくり1/8~1/9とsdカードより大幅に向上が得られました :heart_eyes:

・起動時間(sdカード)

pi@raspberrypi:~ $ sudo systemd-analyze
Startup finished in 2.543s (kernel) + 33.429s (userspace) = 35.973s
graphical.target reached after 33.047s in userspace

・ddコマンド(sdカード)

pi@raspberrypi:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 43.023 s, 25.0 MB/s
pi@raspberrypi:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 111.219 s, 9.7 MB/s
pi@raspberrypi:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 52.4544 s, 20.5 MB/s

・起動時間(msata)

pi@raspberrypi:~ $ systemd-analyze
Startup finished in 1.590s (kernel) + 16.330s (userspace) = 17.921s
graphical.target reached after 16.303s in userspace

・ddコマンド(msata)

pi@raspberrypi:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.95291 s, 180 MB/s
pi@raspberrypi:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.73165 s, 187 MB/s
pi@raspberrypi:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.77155 s, 186 MB/s

SSDからbootさせると性能向上が見込まれていいですね。
SATA SSDのボートも買ってるので別途比較してみたいと思います。

10
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
1