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