1. ホーム
  2. ナレッジ・ベース
  3. Mixtile Blade 3
  4. 開発者向けリソース
  5. Blade 3でのドライバのコンパイルとインストール

Blade 3でのドライバのコンパイルとインストール

以下は、Blade 3 にドライバをコンパイルしてインストールする手順です。

  1. カーネルのソースコードは以下からダウンロードできる。 Githubリンク のフォルダに入れる。
git clone --single-branch --branch mixtile/blade3/debian11/kernel5.10 https://github.com/mixtile/linux.git

git clone -single-branch -branch mixtile/blade3/debian11/kernel5.10 https://github.com/mixtile/linux.git

2.Blade 3コンソールを使用し、/lib/modulesディレクトリのビルドリンクを、新しくダウンロードしたカーネルファイルのフォルダディレクトリに変更します。

rm /lib/modules/5.10.66/build

ln -snf xxx/kernel /lib/modules/5.10.66/build

(注: "xxx"をカーネル・フォルダーの絶対パスに置き換えてください)

  1. 以下のコマンドでコンパイルツールをインストールする:
apt-get update

apt-get install -y git ssh make gcc libssl-dev liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat software-properties-common bison flex fakeroot cmake unzip device-tree-compiler libncurses-dev python3-pip python3-pyelftools bc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev python rsync

apt-get install gcc-aarch64-linux-gnu

4.カーネルの設定

4.1 カーネル・ディレクトリに移動し、カーネルを設定する。

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- blade3_linux_defconfig

4.2 カーネルのコンパイル

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3588-blade3-v101-linux.img

5.ドライバファイルのコンパイル

5.1 ドライバファイルの書き込み、以下は簡単な例です:

        (a) ドライバファイル hello.c を書く

#include 
#include  
#include 

MODULE_AUTHOR("fengyc");
MODULE_DESCRIPTION("This is a demo.");
MODULE_VERSION("0.0.1");
MODULE_LICENSE("GPL");

static int __init hello_init(void)
{
printk(KERN_INFO "Hello, world!\n");
return 0;
}

static void __exit hello_exit(void)
{
printk(KERN_INFO "Goodbye, world!\n");
}

module_init(hello_init);
module_exit(hello_exit);

 (b) Makefileを書く

obj-m += hello.o

all:
make -C "/lib/modules/$(shell uname -r)/build" M=$(PWD) modules

clean:
make -C "/lib/modules/$(shell uname -r)/build" M=$(PWD) clean

5.2 ドライバのコンパイル

そのディレクトリでmakeを実行する

make

すると次のようなファイルができる:

Makefile hello.c hello.mod hello.mod.o modules.order Module.symvers hello.ko hello.mod.c hello.o

5.3 ドライバのインストール

insmod hello.ko

5.4 ドライバのアンインストール

rmmod hello.ko
この記事は役に立ちましたか?

関連記事

サポートが必要ですか?

お探しの答えが見つかりませんか?
サポート