About me

我的相片
I'm a web and software developer from Kaohsiung, Taiwan.
I design and implement user interfaces, also contribute to open source projects.
http://penkia.net/portfolio

2008年5月29日 星期四

模組編譯的小技巧

最近在玩 Ubuntu Mobile 的時候發現, 有很多好東西藏在 linux-ubuntu-modules 的源碼裡面, 因為種種原因而沒有編譯成套件發佈, 甚至連 debian/config 都沒有寫. 另外 PPA 裡面的更新也是不能錯過的..

所以我們的使用情境就是, 要怎麼 1) 只編譯我想要的模組 2) 並且讓它能安裝於現在的核心. 原本我用 dpkg-buildpackage 試了半天, 發現要嘛編出來的版本號不符合 , 要嘛是我不會改 debian/control 還有 debian/rules 所以編了一堆沒必要的模組跟套件..後來總算是找到更簡單的模組編譯方法了!

安裝必要工具


# apt-get install build-essential linux-headers-$(uname -r)

取得源碼


# apt-get source linux-ubuntu-modules-$(uname -r)

修改版號


# cd /lib/module/$(uname -r)/build ; vi Makefile

這部份就比較 tricky 了, 將 EXTRAVERSION = 改成我們要的版號比如說 -17-generic (目前在 hardy-updates 的最新版本).

編譯模組


# make M=/path/to/your/module/directory \
-C /lib/module/$(uname -r)/build


大功告成! :-)

沒有留言: