🔖
WSL2でRustでデバイスドライバをビルドする方法
なお、sudoにてRust1.62.0以上のrustcを走らせる必要があるため、走らせられる環境の人はそのままで、走らせられない人は
sudo ln -s $(which rustc) /usr/bin/rustc
などとして、makeコマンドを走らせる場合には
sudo PATH="$PATH" make (オプションなど)
とすればよい。するとRUST_IS_AVAILABLEが有効になるのでRUSTオプションが付けられるようになる。
そしてWSL2にビルドしたカーネルを導入し終えたら、このようなMakefileと
obj-m := rust_minimal.o
all:
make -C /path/to/WSL2-Linux-Kernel/ M=$(pwd) modules
clean:
make -C /path/to/WSL2-Linux-Kernel/ M=$(pwd) clean
ここにあるrust_minimal.rsを用意する。
そしてmakeをするとrust_minimal.koというファイルができる。試しに以下のようにロードやアンロードしてメッセージを確認してみよう。sudo insmod rust_minimal.ko
sudo rmmod rust_minimal.ko
dmesg | tail
Discussion