Raspberry Pi 3 Model BでUbuntu 18.04.1のaarch64(64ビット)カーネルを起動してみました。
起動手順を記録しておこうと思います。
※19.12.1追記:より新しい記事が御座います。
Raspberry Pi 4の場合
Raspberry Pi 3の場合
目次
Raspberry Pi 3 Ubuntu 18.04.1 Multiarch起動手順
基本的にこちらの内容に従い、Raspberry Pi 3起動用microSDカードを作成後、64ビットカーネルをインストールする流れになります。
Raspberry Pi 3起動用microSDカード作成
- ARM-RaspberryPi – Ubuntu Wikiページから「ubuntu-18.04.1-preinstalled-server-armhf+raspi2.img.xz」をダウンロードします。
- EtcherでmicroSDカードへ書き込みます。
- Pi 3で起動できるように、ブート領域のconfig.txtを変更します。既存のkernel行とdevice_tree_address行をコメント化して、新しいkernel行とinitramfs行を書き足すかたちです。
kernel=vmlinuz initramfs initrd.img followkernel #kernel=uboot.bin #device_tree_address=0x02000000
- ブート領域に「bcm2710-rpi-3-b.dtb」をコピーします。こちらからダウンロードさせて頂きました。
- Pi 3B+の場合、次の3つのファイルも更新する必要があるそうです。
- bootcode.bin
- fixup.dat
- start.elf
Ubuntu 18.04.01 32ビットカーネルで起動
- 作成したmicroSDカードをセットしてRaspberry Piを起動します。
armv7l(32ビット)版Ubuntu 18.04.1が起動します。ユーザ/初期パスワードはubuntu/ubuntuのようです。32ビットでUbuntu 18.04.1を利用する場合、以上で完了です。以下、64ビットカーネルのインストールと有効化の手順になります。
64ビットカーネルのインストールと有効化
- 下記のコマンドでMultiarchを有効にして、64ビットカーネルをインストールします。
sudo dpkg --add-architecture arm64 sudo apt update sudo apt install linux-image-raspi2:arm64
Raspberry Pi 3 Model Bで試したところ、カーネルのインストールに5分程度かかりました。(環境により異なります)
- /boot/firmware/config.txtを変更します。
vi /boot/firmware/config.txt
arm_control行を追加します。
arm_control=0x200
- 再起動すると、64ビットモードでUbuntuが起動します。
sudo reboot
ログイン時のメッセージをみると、Linux 4.15.0-1017-raspi2 aarch64と表示され、確かに64ビットカーネルで起動していることがわかります。
一方、コマンド類は32ビットバイナリのままですが、問題なく動作するようです。試しにX Window System(デスクトップ)をインストールしてみました。
デスクトップのインストール
次のコマンドでxubuntu, lubuntu, kubuntuの何れかを選択してインストールが可能のようです。xubuntuをインストールしてみました。
sudo apt-get install xubuntu-desktop # or
sudo apt-get install lubuntu-desktop # or
sudo apt-get install kubuntu-desktop # etc
X Window Systemは32ビットバイナリかと思いますが、64ビットカーネルで起動後、Multiarchで問題なく動作しています。
ただしWikiに記載されている「Accelerated X driver」は、64ビットモード起動後インストールできませんでした。
64ビットパッケージのインストール
下記の要領で64ビット版のアプリケーションをインストールできるようです。
sudo apt install firefox:arm64
Ubuntu 18.04のオフィシャルイメージでMultiarchがサポートされたおかげで、比較的簡単に、64ビットカーネルを起動できるようになりました。
64ビットのアプリケーションは、まだそれほど多くない印象ですが、Multiarchの土台ができたところですので、今後、順次対応アプリケーションが増えてゆくのではないでしょうか。
今後の発展を、応援しつつ、楽しみに待たせて頂きたいと思います。