0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL環境でのUbuntu環境構築失敗ケース

0
Last updated at Posted at 2026-02-16

注意

※失敗ケースの記事です。閲覧は自己責任でお願いいたします。

実施背景

デバイスドライバ開発の勉強をするため、環境構築を実施。
makeファイルを使ってLinuxのモジュール経由でハローワールドするつもりであった。

目的

デバイスドライバのライブラリを使用すること。

結論

デバイスドライバを動かす目的で使用する場合、
WSL2環境での実装は諦めたほうがいい。

理由

AI回答はこちら
スクリーンショット 2026-02-17 123351.png

AIが嘘を言っている可能性はあるか

0ではないと思われるが、解決する技術力は私にはない。

実装しようとした環境

WSLで動作するUbuntu

ハローワールドモジュールを作成

#include<linux/init.h>
#include<linux/module.h>

MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void)
{
        printk(KERN_ALERT "HELLO, WORLD\n");
        return 0;
}

static void hello_exit(void)
{
        printk(KERN_ALERT "GOODBYE, CUREL WORLD\n");
        return 0;
}

module_init(hello_init);
module_exit(hello_exit);

includeヘッダをインストールする

sudo apt install linux-headers-generic

malefileをインストールする

sudo apt install make

makeでエラー

make: *** No targets specified and no makefile found.  Stop.

make -f ファイル名でエラー

missing separatorってなんだろう。調べる。

hello_module.c:4: *** missing separator.  Stop.

どうやらこれが読み込めていないみたい。

MODULE_LICENSE("Dual BSD/GPL");

以下を参考に、Kernelモジュールを作成してみる。

sudo apt update

aptアップデートして
(※習慣づけると良いかも。クーロンタブ動かして月一パッチするとか?)

sudo apt upgrade

aptアップグレードして
(※習慣づけると以下略)

uname -r

unameコマンドで、このコマンドを入力しているPCのKernelバージョン用ヘッダを取得

sudo apt install linux-headers-$(uname -r)
6.6.87.2-microsoft-standard-WSL2

うまくいってない。ヘッダをインストールできてない。
こちらが使えそうだったが失敗

ここから雲行きが怪しくなる

apt-fileをインストール

sudo apt install apt-file
sudo apt-file update

使いたいヘッダファイルがインストールされているか確認する。
スクリーンショット 2026-02-16 144033.png

イケてるっぽいが、やはりだめだった。
スクリーンショット 2026-02-16 144314.png

その後調べたが、うまく行っている記事も見つからず。

スクリーンショット 2026-02-16 151131.png

スクリーンショット 2026-02-16 145324.png

失敗

ここで計画が頓挫。白旗を上げることとなる。

今後の展開

仮想環境を使って改めて環境構築を行うこととする。

仮想環境候補

VMware Workstation Player

従来は無償版を手に入れられて過去の私も使用していたが、状況が変わっていた。

うまく環境構築している方をお見かけしたため、メモ

Docker

あまり使ったことがない。
AI大先生もデバイスドライバの学習に使用するには疑問を呈している。

スクリーンショット 2026-02-17 130154.png

なお、私はAIには人権を認めていないため敬語は使わない。使いたくない。

どうすれば改善できると思うか

1.WSL2環境上でlinuxのヘッダファイルをuname -r環境と紐づけて、makeに書き込む
 →makeに関しての知識が浅いため、実施は困難
2.src配下のどれかのファイルをcpして、uname -rで出た名称に書き換える
→力技が過ぎる上、公式でヘッダファイル更新されないため保守性の観点から実用的ではない

今後どうしていくべきか

下記の本を購入してmakeの知識をつける
https://www.oreilly.co.jp/books/4900900605/

後始末

こちらの記事を参考に、WSL2を削除。

今後

VirtualBoxで仮想環境を構築し、Ubuntuで開発学習を行う。

スクリーンショット 2026-02-17 155852.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?