Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。 記事の転載や、基板・キットの商用利用の方は、ご連絡ください。学生やサークルの学習目的でまとめてご購入する場合は特別価格でご提供させていただきます。
無料ブログはココログ

スポンサー

« 小型の新ヘッドホンアンプ基板(2) | トップページ | RaspberryPi 5 の公式OSは32bit版でも64bit? »

2024年10月 7日 (月)

秋の夜長にはRaspberry Pi5 64bit カーネル・セフル・ビルド 

何年かぶりにkernel build をしてみました。

いつから対応したのか把握しておりませんでしたが、64bit版のgccなどが用意されていました。これでセルフビルドが手軽にできるようになりました。

Sabreberry32_pi4

Pi4Pi5が同じカーネルで起動するのか、ちょっと調べてみました。

 

 

各ラズパイが使用するカーネルは以下のようになっています。

ラズパイの種類 CPUコア 使用するkernel img
初代Raspberry Pi B ARM11 kernel
初代Raspberry Pi A ARM11 kernel
Raspberry Pi B+ ARM11 kernel
Raspberry Pi A+ ARM11 kernel
Raspberry Pi ZERO ARM11 kernel
Raspberry Pi ZERO W ARM11 kernel
Raspberry Pi 2 B Cortex-A7 kernel7
Raspberry Pi 2 B v1.2 Cortex-A53 kernel7 / kernel8
Raspberry Pi 3 B Cortex-A53 kernel7 / kernel8
Raspberry Pi 3 B+ Cortex-A53 kernel7 / kernel8
Raspberry Pi 3 A+ Cortex-A53 kernel7 / kernel8
Raspberry Pi ZERO 2 W Cortex-A53 kernel7 / kernel8
Raspberry Pi 4 B Cortex-A72 kernel7l / kernel8
Raspberry Pi 400 Cortex-A72 kernel7l / kernel8
Raspberry Pi 5 Cortex-A76 kernel_2712 / kernel8

赤いのが64bit版です。 Pi5はデフォルトでkernel_2712、それがないときはkernel8が走るようなことが書いてありました。 

情報源は、こちらと、こちら。

 

 

 

ラズパイ公式のRaspberryPi OS も64bit版が用意されています。

Pios64bit

Raspberry Pi OS Lite(64bit) を使っていきましょう。

 

ではさっそく

公式の方法でやってみます。

以下、ピンク文字がコマンド入力です。

SSHを有効にしてリモート接続します。ユーザー名とパスワード、WifiなどはRaspberryPi imagerで設定しておきます。

USER=pi

PASS=raspberry

 

 

■ カーネルソースのダウンロード(安定板)

安定板のURLを探します。 公式のGithubへ行って、

https://github.com/raspberrypi/linux

Github_tag_stable_00

ブランチの横あたりの「Tags」をクリック。

今回はRaspberryPi OS Liteと同じ日付の「Stable_20240529」を選択しました。

Github_tag_stable_01

tar.gz を右クリックするとリンクのアドレスをコピーできます。

https://github.com/raspberrypi/linux/archive/refs/tags/stable_20240529.tar.gz

でした。これをラズパイでダウンロードします。(ブラウザによって右が見切れてしまうようです。ご注意ください。stable_20240529.tar.gz です)

wget https://github.com/raspberrypi/linux/archive/refs/tags/stable_20240529.tar.gz

次に解凍します。

tar -zxvf stable_20240529.tar.gz

便宜上 /home/pi/linux にソースを置きたいのでシンボリックリンクを作成。

ln -s linux-stable_20240529 linux

 

 

■ カーネルソースのダウンロード(最新版)

sudo apt update
sudo apt install git
git clone --depth=1 https://github.com/raspberrypi/linux

 

公式の方法はgitで最新版のソースを持ってきますが、安定して動作するソースかどうかはタイミングによります。

rpi-sourceが動作すれば、実行中のソースを取得できるのですが・・・(下の方に追記しました)

 

 

■ ビルドツールのインストール

sudo apt install bc bison flex libssl-dev make

これで準備が整いました。公式の64bit版コンパイラが用意されたので32bitのときと何も変わらずお手軽になりました。

 

 

■ Pi4 64bitの場合

cd linux
KERNEL=kernel8
make bcm2711_defconfig

make -j6 Image.gz modules dtbs

50~60分くらい待つと完成。

 

nohup make -j6 Image.gz modules dtbs 2>&1 | tee make.log &

としてssh接続を切ってもよいでしょう。

 

 

■ Pi5 64bitの場合

cd linux
KERNEL=kernel_2712
make bcm2712_defconfig

make -j6 Image.gz modules dtbs

30~40分くらい待つと完成。さすがにPi5は速いです。

 

nohup make -j6 Image.gz modules dtbs 2>&1 | tee make.log &

としてsshの接続切ってもよいでしょう。

 

 

■ kernelとmoduleのインストール

kernelとkernel moduleをOSが起動するときに使う場所へコピー(インストール)します。

sudo make -j6 modules_install
sudo cp /boot/firmware/$KERNEL.img /boot/firmware/$KERNEL-backup.img
sudo cp arch/arm64/boot/Image.gz /boot/firmware/$KERNEL.img
sudo cp arch/arm64/boot/dts/broadcom/*.dtb /boot/firmware/
sudo cp arch/arm64/boot/dts/overlays/*.dtb* /boot/firmware/overlays/
sudo cp arch/arm64/boot/dts/overlays/README /boot/firmware/overlays/

 

 

終わったら再起動してみます。

sudo reboot

 

::::::起動を待ちます::::::

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 6.6.51-v8-16k+ #1 SMP PREEMPT Thu Oct 6 21:15:19 JST 2024 aarch64 GNU/Linux

 

ビルドした64bit kernelが起動できたみたいです。

 

 

本日はここまで。

このあとSerberBerry32ドライバをコンパイルしていきます。

 


rpi-sourceを試してみましたが、ダメなようです。

sudo wget https://raw.githubusercontent.com/RPi-Distro/rpi-source/master/rpi-source -O /usr/local/bin/rpi-source
sudo chmod +x /usr/local/bin/rpi-source
sudo rpi-source --skip-gcc -d /home/pi/

*** SoC: BCM2712

*** Arch: 64-bit

*** Page Size: 4096
ERROR:
Can't find a source for this kernel

Help: https://github.com/RPi-Distro/rpi-source/blob/master/README.md

 

32bit版でもダメだったので現在のkernelには対応できていないようです。 もう少し古いkernelでは使えるかもしれません。

 

 

« 小型の新ヘッドホンアンプ基板(2) | トップページ | RaspberryPi 5 の公式OSは32bit版でも64bit? »

Raspberry Pi」カテゴリの記事

コメント

久々にSabreberry32の登場ですね。
ラズパイ5でも活躍できそうですね!

我が家ではラズパイ4→Sabreberry32→HPA-1000
で使用しています。
syncモードの音が好きで、Sabreberry32がメイン機です。
新しいZ-mpd でもsyncモードが使えるととても嬉しいです。

あみのんさん

ありがとうございます。 現在64bit版で試行錯誤していますが、Pi4では音がでるものの、Pi5ではドライバが正常に動作しておりません。

Pi5 32bit版ではどうなのか。 Pi5 特有の問題なのか。 など調査が必要です。

syncモードのキレ味はやみつきになりますよね。 完全にDPLLを止めるモードは、なかなかありません。 HPA-1000との相性も抜群ですね。

コメントを書く

(ウェブ上には掲載しません)

« 小型の新ヘッドホンアンプ基板(2) | トップページ | RaspberryPi 5 の公式OSは32bit版でも64bit? »

サイト内検索(new)

2025年3月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31