Re: [請益] Linux device driver好不好自學上手?

軟工

1391240

: 最近小弟有考上資工在職專班
: 有問到教授是做無線網路演算法
: 他說要熟linux device driver怎麼寫
: 但是無奈小弟是用python做儀控比較多
: 實在不熟C,大學非本科,程式是上班後自學的
: 想請問各位版友這塊到底好不好做啊?自學上手要多久呢?

同學你好,我最近跟學生一起編撰《The Linux Kernel Module Programming Guide》,
這本電子書原本在 2007 年 (相當於 Linux v2.6.20 釋出的年代) 就停止更新,但秉持
「路見不平,拿 patch 來填」的精神,我們就接手維護,更新書中描述和對應的範例程
式碼到 Linux v5.x (配合 Ubuntu Linux LTS 的發布)。可線上免費存取:
https://sysprog21.github.io/lkmpg/


這本書簡稱為 LKMPG,儘管有很多地方需要改進,但關於 Linux 裝置驅動程式開發的
基本概念應已涵蓋。我知道好幾位讀者都用下班時間自學 [1],只要腳步踏實,仍可累
積些認知和成果。

另外,我也準備 vwifi 這個針對 Linux cfg80211 子系統 [2] 的虛擬無線網路驅動程
式,僅用不到 300 行就可開發,支援無線網路的掃描、連接,和斷線等功能,請見:
https://github.com/sysprog21/vwifi


Linux 核心裝置驅動程式和內部實作需要對 C 語言有更入的掌握,歡迎利用線上免費
講座「你所不知道的 C 語言」來學習:
https://hackmd.io/@sysprog/c-prog


以及「Linux 核心設計」系列講座:
https://hackmd.io/@sysprog/linux-kernel-internal


關於「自學上手要多久」這樣的問題,我沒有資格回覆,畢竟我從 1997 年學習 Linux
以來,一直認為自己不理解 Linux 核心,一如蘇格拉底所說:「我唯一知道的,就是我
一無所知」。

[1] 暑期 Linux 核心課程大約六成的學員是上班族:
https://hackmd.io/@sysprog/linux2021-summer

[2] cfg80211 子系統:
https://www.kernel.org/doc/html/latest/driver-api/80211/cfg80211.html


--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.246.163 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1630642175.A.AE5.html
LinuxKernel1樓可惡想學 09/03 12:14
cphe2樓有神出沒,快拜 09/03 12:15
本人3樓@LinuxKernel, 請收下我的膝蓋 09/03 12:15
lturtsamuel5樓大師 09/03 12:21
GymRat6樓松鼠大,快拜 09/03 12:24
iamgp7樓快跪著看.... 09/03 12:33
nicehorse068樓朝聖 09/03 12:36
j09583220809樓前十推 09/03 12:46
lolmap10樓jserv必須推 09/03 12:47
本人11樓@lolmap, 那 GitHub 的星星就麻煩你了 09/03 12:47
yusheng8899212樓先跪了 09/03 12:52
neo527713樓先拜 09/03 12:53
matthewka14樓有神快推 09/03 12:55
bill199215樓好想上大師的課 09/03 13:02
kenshih120316樓跪著看神 09/03 13:03
jkkert17樓朝聖 09/03 13:07
Yan556618樓老師好 09/03 13:10
NciscalA19樓 09/03 13:11
hans146120樓 09/03 13:12
shooter55521樓還是免費的 快拜 09/03 13:15
Lhmstu22樓 09/03 13:15
pl13223樓感謝大神回答~ 09/03 13:19
f9g8h7j65424樓朝聖 09/03 13:21
pl13225樓可惜相見恨晚~沒能報名今年課程 09/03 13:22
lolmap26樓已按github星星 09/03 13:28
DCTmaybe27樓已打星 09/03 13:35
james73228樓 09/03 13:39
deflife29樓竟然出現了XD 09/03 13:40
本人30樓@pl132, 沒意外的話,今年底我還會發布另一本電子書,也有 09/03 13:47