raspberry pi 3 にuefiを入れてdebian10(64bit)をインストールする方法

パーティションを切る

uefiの起動用パーティションを作成するために、ディスクの管理を開きSDカードを選択します。

縮小するために一旦パーティションを削除します。

uefi ブートパーティションを作成します。

新しいシンプルボリュームを選択します。

128MBもあれば十分です。

FAT32でフォーマットします。それ以外は自由です。

以下の状態になればできています。

raspberry pi 用のUEFIをダウンロードする

こちらから最新のUEFIファームウェアをダウンロードします。

zipを展開します。

Binaryフォルダのprebuiltフォルダを開きます。

2019Jan16-GCC5が現時点で最新なのでこれを選択します。

RELEASEを選択します

ファームウエアがあるのでこれをすべてSDカードのUEFIパーティションにコピーします。

コピーするとこうなります。

debianインストーラーをダウンロードする

debian公式サイトを開きます

arm64を選択しダウンロードします。

イメージを焼く

rufusでイメージをUSBに書き込みました。

スタートで書き込みます。

raspberry pi を起動する

書き込みが完了したUSBとSDカードraspberry pi に接続します。

LANケーブルも接続します。

電源を入れるとUEFIshellが起動します。

exitでUEFIの設定に入ります。

CPUの速度を変更する

十分な電力を確保できる場合のみ行ってください

CPUの動作速度を変更するためにデバイスマネージャを開きます。

ラズパイの設定を開きます

チップの設定を開きます

MAXを選択します

必ず設定が終わるごとにF10で変更を保存します。

保存されていない場合は左下に黄色で教えてくれます。

これ以降保存については触れません

設定が終わったらリセットしてください。

debianのインストール

USBから起動する

ブートマネージャーからdebianの入ったUSBを起動します。

gurbが起動してインストール項目が表示されます

インストールを進める

おなじみの画面が出ます。手順に従って進めてください

進めていると以下のようにドライバがないと言われますが、これはwlanのドライバなので無視します。

パーティションを作成する

インストールを進めていると以下のようにパーティションを作成する画面になります。

SDカードのパーティションが以下になるようにしてください。(容量は自由です)

以下のように作成できればいいです。

1,2は必ず基本パーティションでなければいけませんが、3,4は基本、拡張のどちらでも構いません。ただし基本パーティションは最大4つまでなのでギリギリであることに注意してください。

1raspbeery pi UEFI 領域
(windowsで作成したところ いじらない)
2debian UEFI 起動領域
3debian システム領域
4debian swap領域

インストーラーに従って

あとは通常のインストールと変わらないので支持に従って続行してください。

uefiにdebianを登録する

残念ながらこのままではuefiがdebianの場所がわからないため起動できません。これをどうにかします。

ブートメンテナンスマネージャを開きます。

ブートオプションを開きます

ブートオプションの追加を開きます。

debianのgrubを探しに行きます。

みつけました。grubaa64.efiがブートプログラムです。これを選択します。

インプット ディスクリプションはuefiで表示される名前なのでわかり易い名前をつけます。

ちゃんと保存しないとなんの意味のないので保存します。

ブート優先順位を変える

頑張ってdebianを一番上にします。

debianが起動する

rasbianとの比較

unixベンチマーク

arm64(シングル)324.9
arm64(マルチ)829.7
armv7l(シングル) 292.7
armv7l(マルチ) 740.0

openssl

arm64

openssl speed -evp aes-128-cbc
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-cbc      34126.99k    47657.90k    53440.17k    55111.34k    55610.03k    55645.53k
openssl speed  aes-128-cbc
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128 cbc      41404.17k    47610.54k    49810.86k    50393.43k    50561.02k    50561.02k

armv7l

openssl speed -evp aes-128-cbc
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-cbc      29221.55k    41415.34k    46356.39k    47793.15k    48362.94k    47950.51k
openssl speed  aes-128-cbc
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128 cbc      37576.37k    45283.41k    47687.94k    48228.69k    48376.49k    48376.49k

arm64の方がちょっと速いようです

まとめ

arm64になることで若干ですが処理速度が上がるようです。

しかしながら、完全な素のdebianのためラズパイの変態wifiはドライバがない模様。

uefiがあることで、OS開発者は、Raspberrypiのファームウェアを開発ぜずに、uefiアプリケーションからOSを起動することで、ファームウェアを考えずに開発ができるようになります。

debian以外にも、arm64のuefiブートができるOSであればインストールすることができるでしょう。

すでにわかっている方もいると思いますが、debianのインストール先はSDカードでなくてもいいです。つまり、raspberry pi 4のUSB3.0にSSDをつないで...

なんてことをする下準備ができました。