LoginSignup
5
5

More than 5 years have passed since last update.

Raspberry Pi3用Debianイメージを色々なアーキテクチャに対応させて作成する

Posted at

はじめに

Debian公式サポートにあるようにDebianは公式でarmel,armhf,arm64のアーキテクチャをサポートしている。
https://www.debian.org/ports/#portlist-released

2019年夏にリリース予定のDebian BusterではDebian公式として、ラズパイ3をサポートするらしい。(どうもarm64版として)
http://gihyo.jp/admin/clip/01/linux_dt/201709/07
そのラズパイ3用arm64版BusterのPREVIEW版はすでに2版目がリリースされている。
https://wiki.debian.org/RaspberryPi3
WindowsとWin32 Disk Imagerを使ってもブート用SDカードが作れることを確認できた。

Busterまでは待てないので、Stretchのarm64やarmhfが欲しいという人は、rpi23-gen-imageを使えとDebian Wikiに書いてあるため、実際に作ってパフォーマンスをテストしてみた。

結果

最初に結論を書いてしまうと面白くないのだが、arm64版Debianと公式Raspbianを比べてみたが、Unixbenchの総合評価であるSystem Benchmarks Index Scoreではほとんど差が出なかった。
それだけRaspbianとCPUの最適化が完璧に近いと考察できるが、rpi23-gen-imageがもう少し頑張れるはずと考察もできる。
なお、先に紹介したraspberry-pi-3-buster-PREVIEWはパフォーマンスが出なく、完成にはもう少し時間がかかりそうな結果となった。

イメージ作成方法

結果は残念ではあるが、イメージの作成方法だけ記載しておく。
rpi23-gen-imageがアップデートすればRaspbianと十分差がつく可能性もあるため、それを期待しておく。

ラズパイ3用arm64版Stretch

WSLでは失敗します。VMなどをお使いください。

$ sudo apt update
$ sudo apt install -y debootstrap debian-archive-keyring qemu-user-static binfmt-support dosfstools rsync bmap-tools whois git bc psmisc dbus sudo git crossbuild-essential-arm64
$ git clone https://github.com/drtyhlpr/rpi23-gen-image.git
$ cd rpi23-gen-image
$ sudo su

# CONFIG_TEMPLATE=rpi3-stretch-arm64-4.11.y ./rpi23-gen-image.sh
# exit

rpi23-gen-image/images/stretch/2018-**-**-arm64-rpi-4.11.y-rpi3-stretch-arm64.imgが作成される(2018-**-**は作成日の日付)

これをSDカードに書き込みます。

$ cd images/stretch/
$ umount /dev/mmcblk0p1
$ umount /dev/mmcblk0p2
$ sudo dd bs=4M if=2018-**-**-arm64-rpi-4.11.y-rpi3-stretch-arm64.img of=/dev/mmcblk0 conv=fsync
$ sync

ラズパイ3用armhf版Stretch

WSLでは失敗します。VMなどをお使いください。

$ sudo apt update
$ sudo apt install -y debootstrap debian-archive-keyring qemu-user-static binfmt-support dosfstools rsync bmap-tools whois git bc psmisc dbus sudo git crossbuild-essential-armhf
$ git clone https://github.com/drtyhlpr/rpi23-gen-image.git
$ cd rpi23-gen-image
$ sudo su

# CONFIG_TEMPLATE=rpi3stretch ./rpi23-gen-image.sh
# exit

rpi23-gen-image/images/stretch/2018-**-**-debian-rpi3stretch.imgが作成される(2018-**-**は作成日の日付)

これをSDカードに書き込みます。

$ cd images/stretch/
$ umount /dev/mmcblk0p1
$ umount /dev/mmcblk0p2
$ sudo dd bs=4M if=2018-**-**-debian-rpi3stretch.img of=/dev/mmcblk0 conv=fsync
$ sync

ベンチマーク下準備

設定値
User Name pi
Password raspberry
Host Name pi3-stretch

SSHまたはローカルでログインし、以下のコマンドを実行する。

$ sudo apt update
$ sudo apt install -y git build-essential cpufrequtils
$ grep "" /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

scaling_governor:ondemandと表示されれば、CPUは負荷に応じてフルパワーで駆動する設定になっています。

次にベンチマークソフトのUnixBenchをインストール、実行します。ベンチマーク中はヒートシンクをつけていてもヒートアラートが出ます。筆者はアイスノンで冷やしました。

$ git clone https://github.com/kdlucas/byte-unixbench.git
$ cd byte-unixbench/UnixBench/
$ make
$ ./Run -c 4

結果詳細

Image File 2018-04-18-raspbian-stretch-lite.img 2018-05-14-arm64-rpi-4.11.y-rpi3-stretch-arm64 2018-01-08-raspberry-pi-3-buster-PREVIEW.img
Link Download Raspbian for Raspberry Pi RaspberryPi3 - Debian Wiki
System: raspberrypi: GNU/Linux rpi3-stretch: GNU/Linux rpi3: GNU/Linux
OS: GNU/Linux -- 4.14.34-v7+ -- #1110 SMP Mon Apr 16 15:18:51 BST 2018 GNU/Linux -- 4.11.12-v8 -- #1 SMP PREEMPT Mon May 14 23:29:46 JST 2018 GNU/Linux -- 4.16.0-1-arm64 -- #1 SMP Debian 4.16.5-1 (2018-04-29)
Machine: armv7l: unknown aarch64: unknown aarch64: unknown
Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968") en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968") en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")

Benchmark Run: 4 CPUs; 4 parallel processes

Image File 2018-04-18-raspbian-stretch-lite.img 2018-05-14-arm64-rpi-4.11.y-rpi3-stretch-arm64 2018-01-08-raspberry-pi-3-buster-PREVIEW.img
Dhrystone 2 using register variables 1485.5 2023.5 1102.3
Double-Precision Whetstone 770.1 810.8 398.0
Execl Throughput 506.8 603.9 365.9
File Copy 1024 bufsize 2000 maxblocks 553.5 471.1 327.7
File Copy 256 bufsize 500 maxblocks 372.8 309.8 211.1
File Copy 4096 bufsize 8000 maxblocks 921.8 930.6 646.2
Pipe Throughput 946.8 921.2 517.5
Pipe-based Context Switching 605.0 436.2 270.4
Process Creation 374.4 483.8 269.3
Shell Scripts (1 concurrent) 1061.5 1277.4 738.5
Shell Scripts (8 concurrent) 1024.8 1131.8 670.7
System Call Overhead 1478.2 1067.2 713.1
System Benchmarks Index Score: 761.5 765.3 462.4
5
5
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
5
5