ubuntu linux-source package
[hirasawa@ubunt1004-32-2 src]$ apt-cache search linux-source linux-source - Linux kernel source with Ubuntu patches linux-source-2.6.32 - Linux kernel source for version 2.6.32 with Ubuntu patches [hirasawa@ubunt1004-32-2 src]$ [hirasawa@ubunt1004-32-2 src]$ sudo apt-get install linux-source パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません: libvpx0 これらを削除するには 'apt-get autoremove' を利用してください。 以下の特別パッケージがインストールされます: linux-source-2.6.32 提案パッケージ: libncurses-dev ncurses-dev kernel-package libqt3-dev 以下のパッケージが新たにインストールされます: linux-source linux-source-2.6.32 アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。 66.0MB のアーカイブを取得する必要があります。 この操作後に追加で 66.2MB のディスク容量が消費されます。 続行しますか [Y/n]? y 取得:1 http://jp.archive.ubuntu.com/ubuntu/ lucid-updates/main linux-source-2.6.32 2.6.32-38.83 [66.0MB] 取得:2 http://jp.archive.ubuntu.com/ubuntu/ lucid-updates/main linux-source 2.6.32.38.44 [4,758B] 66.0MB を 20秒 で取得しました (3,248kB/s) 未選択パッケージ linux-source-2.6.32 を選択しています。 (データベースを読み込んでいます ... 現在 452179 個のファイルとディレクトリがインストールされています。) (.../linux-source-2.6.32_2.6.32-38.83_all.deb から) linux-source-2.6.32 を展開しています... 未選択パッケージ linux-source を選択しています。 (.../linux-source_2.6.32.38.44_all.deb から) linux-source を展開しています... linux-source-2.6.32 (2.6.32-38.83) を設定しています ... linux-source (2.6.32.38.44) を設定しています ... [hirasawa@ubunt1004-32-2 src]$
んでもって、パッケージの中身を確認すると
[hirasawa@ubunt1004-32-2 src]$ dpkg -L linux-source /. /usr /usr/share /usr/share/doc /usr/share/doc/linux-source /usr/share/doc/linux-source/copyright /usr/share/doc/linux-source/changelog.gz [hirasawa@ubunt1004-32-2 src]$ dpkg -L linux-source-2.6.32 /. /usr /usr/src /usr/src/linux-source-2.6.32.tar.bz2 /usr/share /usr/share/doc /usr/share/doc/linux-source-2.6.32 /usr/share/doc/linux-source-2.6.32/copyright /usr/share/doc/linux-source-2.6.32/changelog.Debian.gz [hirasawa@ubunt1004-32-2 src]$
自分でtarballをtar zfxvすんのか
そのあと、ln -s /usr/src/linux-source-xx.xx.xx. /usr/src/linux
てな感じでシンボリックリンクをはっとけばOKかな
make menucofigしようとしたら
root@ubunt1004-32-2:/usr/src/linux# make menuconfig *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Install ncurses (ncurses-devel) and try again. *** make[1]: *** [scripts/kconfig/dochecklxdialog] エラー 1 make: *** [menuconfig] エラー 2
怒られたorz
ncurses-devをいれんとあかんわけやね
これで make menuconfig make old-configとかが動くようになったし、
makeしたら、/usr/src/linux/include/asmが生えてよ
(正確には、/usr/src/linux/include/asmはasm-i386のシンボリックリンクになった)
あと /usr/src/linux/include/linuxの下にautoconf.hが生えた。
あとは、
/usr/include/asmとか
/usr/include/linuxのシンボリックリンクをはる
504 mv asm asm-original 505 ln -s ../src/linux/include/asm /usr/include/ 506 mv linux linux-original 507 ln -s ../src/linux/include/linux /usr/include/
ってとこかしら。
準備完了! これでカーネルハックできるぜw
ああ、ひとつ面倒くさいことに気づいた。プログラミング工房はKernel2.4なんだよね。今とカーネルモジュールの作り方がことなるんだ。
道は遠いw
http://d.hatena.ne.jp/toshi_hirasawa/20081103/1225662480