Jetson JetPack4.5.1 のカーネルビルド
はじめに
2021年2月25日にJetPack4.5.1がリリースされましたので、Jetson Nano (4GB/2GB)でLinux カーネルとモジュールをビルドしてみました。
JetsonHacks の buildKernelAndModules ツールを使ってビルドを行います。
ソースコードのダウンロードリンク
以前はJetson Download Centerから直接ダウンロードできましたが、L4Tのページからダウンロードするように変更されています。
Nano
ビルドツールの変更点
まず、ツールをダウンロードします。
$ git clone https://github.com/JetsonHacksNano/buildKernelAndModules
$ cd buildKernelAndModules
ツールは JetPack 4.3 (r32.3.1) 用に作成されているので、ターゲットバージョンを JetPack 4.5.1 (r32.5.1) に変更します。
$ vi getKernelSources.sh
L4T_TARGET="32.3.1"
↓
L4T_TARGET="32.5.1"
Jetson Nano 2GBの場合は、以下も変更します。
JETSON_MODEL="NVIDIA Jetson Nano Developer Kit"
↓
JETSON_MODEL="NVIDIA Jetson Nano 2GB Developer Kit"
カーネルソースコードのダウンロードリンクを変更します。
$ vi scripts/getKernelSources.sh
wget -N https://developer.nvidia.com/embedded/dlc/r32-3-1_Release_v1.0/Sources/T210/public_sources.tbz2
↓
wget -N https://developer.nvidia.com/embedded/l4t/r32_release_v5.1/r32_release_v5.1/sources/t210/public_sources.tbz2
ビルド手順
1.カーネルソースをダウンロードするスクリプトを実行する
$ ./getKernelSources.sh
2. コンフィグを修正する
$ ./getKernelSources.sh
例として、書籍「Jetson Nano 超入門」の Part 6-2 に沿って MIDI 関連のコンフィグを追加します。
$ sudo vi /usr/src/kernel/kernel-4.9/.config
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_RAWMIDI_SEQ=y
3. カーネルをビルドする
$ ./makeKernel.sh
途中で質問された場合は y で答えます。
OSS Sequencer API (SND_SEQUENCER_OSS) [N/y/?] (NEW) y
Virtual MIDI soundcard (SND_VIRMIDI) [N/m/y/?] (NEW) y
Image makeにかかった時間は以下のとおりでした。
real 32m9.250s
user 77m18.840s
sys 7m26.132s
4. モジュールをビルドする
$ ./makeModules.sh
Modules make にかかった時間は以下のとおりでした。
real 43m21.495s
user 111m11.208s
sys 11m23.764s
5. Image のバックアップを取得する (オプション: 必須ではありません)
$ sudo cp /boot/Image /boot/Image.backup
6. Image をコピーする
ビルドした新しい Image を現在の Image にコピーします。
$ ./copyImage.sh
7. /boot/extlinux/extlinux.conf を修正 (オプション: 必須ではありません)
起動時の backup kernel として /boot/Image.backup を指定することが可能です。
$ sudo vi /boot/extlinux/extlinux.conf
# LABEL backup
# MENU LABEL backup kernel
# LINUX /boot/Image.backup
# INITRD /boot/initrd
# APPEND ${cbootargs}
↓
LABEL backup
MENU LABEL backup kernel
LINUX /boot/Image.backup
INITRD /boot/initrd
APPEND ${cbootargs}
8. 再起動
$ sudo reboot
動作確認
カーネルのビルドされた時刻を確認することができます。
$ uname -a
Linux jetson-desktop 4.9.2014.9.201-tegra #1 SMP PREEMPT Fri Mar 5 14:28:42 JST 2021 aarch64 aarch64 aarch64 GNU/Linux
書籍「Jetson Nano 超入門」の Part 6-3 のサンプルスクリプトを実行して MIDI が鳴れば正常です。
$ wget https://raw.githubusercontent.com/karaage0703/jetson-nano-tools/master/scripts/pocket_miku_test.py
$ sudo apt install libsdl2-dev
$ sudo apt install libsdl2-ttf-dev
$ sudo apt install libsdl2-image-dev
$ sudo apt install libsdl2-mixer-dev
$ sudo apt install libfreetype6-dev
$ sudo apt install libjpeg-dev
$ sudo apt install libportmidi-dev
$ sudo apt install python3-pip
$ sudo -H pip3 install pygame
$ python3 pocket_miku_test.py
Author And Source
この問題について(Jetson JetPack4.5.1 のカーネルビルド), 我々は、より多くの情報をここで見つけました https://qiita.com/kitazaki/items/b1870b8836dc369f8ae8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .