| tags:raspberry pi categories:server
パイ・カーネル64
頑なにこだわり続けてた64bit化。 Archを試したり、公式に64bitをサポートしているopenSuseやDebian.Buster PREVIEW版を試したり、busterで作ったカーネルをラズビアンに入れてみたりと、 色々チャレンジしました。
自分の場合、ブルートゥースがマストなので、鬼門になる。自分でカーネルをビルドするも機能しない、カーネル・オプションの設定も間違いはないように思えるが、まぁ、色々試すもうまくいかず。 ハード的に少しトリッキーでもあると書いてあるところもあったし、ちょっと他の調整もひつようなのかもしれん。。ブルートゥースが問題なく使えるのは、ラズビアンとダイエットパイのみ(32bit)でした。
最後の方で見つけた、Pi3.64用のGentooをインストールしようかとも思ったけれど、、、この、ディストリビューションの存在は相当前から知っていはいるが、癖のあるディストリビューションなので未だインストールもしたことなし。手をつけてませんでした。で、そんな中、そのGentooで使われているカーネルを拝借する方法が出てました。
https://www.raspberrypi.org/forums/viewtopic.php?p=1424256#p1424113
投稿記事の真ん中あたりです。投稿者は sakakiさん 、日本の方なのかな、PiB3をGentooで動かしてます。 しかも、ブルートゥースも動くと書いてあったので、試してみたところ、うまくいきました。
作業手順は丁寧に説明をされています。ほぼ、出ているままです。
Download
ここでは4.19.30.20190326/bcmrpi3-kernel-bis-4.19.30.20190326.tar.xz
をダウンロードしてますが、ていき的にアップデートされているようです。https://github.com/sakaki-/bcmrpi3-kernel-bis#installation
pi@raspberrypi:~ $ wget -c https://github.com/sakaki-/bcmrpi3-kernel-bis/releases/download/4.19.30.20190326/bcmrpi3-kernel-bis-4.19.30.20190326.tar.xz
作業
まず、レポジトリーにあるカーネルをaptでアップデートされないように、保留にします。
pi@raspberrypi:~ $ sudo apt-mark hold raspberrypi-kernel
以前の32bit環境の設定などを、バックアップします
pi@raspberrypi:~ $ sudo mkdir -pv /boot/r32-dtbs
pi@raspberrypi:~ $ sudo mv -v /boot/*.dtb /boot/r32-dtbs/
インストール作業
落としたカーネルファイル一気に展開します。
pi@raspberrypi:~ $ sudo tar --exclude='COPYING.linux' -xJf bcmrpi3-kernel-bis-4.19.30.20190326.tar.xz -C /
pi@raspberrypi:~ $ sync
新しい、デバイストリーなどを整理します。プートパーティションの中は以下のようになります。
pi@raspberrypi:~ $ sudo mkdir -pv /boot/r64-dtbs
pi@raspberrypi:~ $ sudo cp -v /boot/*.dtb /boot/r64-dtbs/
pi@raspberrypi:~ $
pi@raspberrypi:~ $ ls -a /boot/
. ._config.txt System.map bcm2837-rpi-3-b.dtb config.txt fixup_x.dat kernel8.img start.elf
.. COPYING.linux bcm2710-rpi-3-b-plus.dtb bootcode.bin fixup.dat issue.txt overlays start_cd.elf
.Trashes LICENCE.broadcom bcm2710-rpi-3-b.dtb cmdline.txt fixup_cd.dat kernel.img r32-dtbs start_db.elf
._.Trashes LICENSE.oracle bcm2710-rpi-cm3.dtb config fixup_db.dat kernel7.img r64-dtbs start_x.elf
pi@raspberrypi:~ $
そして、再起動します。
pi@raspberrypi:~ $ sudo reboot
そして、ブルートゥースも、cpufreqも動きましたぁ。。
!!イイェイ!!!
あぁ〜〜〜〜〜、長い道のりだったでよ。。。
さて、これのユーザーランドは32bit環境なので、さて、もう一丁最後の仕上げと行くか、、どうするか、、
で、ちょっと試してみるも、、、まぁ、ちょっとよくわからない。。で、当分はこのままの形で運用していきます。 6月頃には少し、落ちつていればな、、と期待しつつ。