看板 Soft_Job 關於我們 聯絡資訊
※ 引述《pl132 (pl132)》之銘言: : 最近小弟有考上資工在職專班 : 有問到教授是做無線網路演算法 : 他說要熟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
LinuxKernel: 可惡想學 09/03 12:14
cphe: 有神出沒,快拜 09/03 12:15
jserv: @LinuxKernel, 請收下我的膝蓋 09/03 12:15
jserv: https://github.com/sysprog21/lkmpg #請善心網友幫忙打星 09/03 12:18
lturtsamuel: 大師 09/03 12:21
GymRat: 松鼠大,快拜 09/03 12:24
iamgp: 快跪著看.... 09/03 12:33
nicehorse06: 朝聖 09/03 12:36
j0958322080: 前十推 09/03 12:46
lolmap: jserv必須推 09/03 12:47
jserv: @lolmap, 那 GitHub 的星星就麻煩你了 09/03 12:47
yusheng88992: 先跪了 09/03 12:52
neo5277: 先拜 09/03 12:53
matthewka: 有神快推 09/03 12:55
bill1992: 好想上大師的課 09/03 13:02
kenshih1203: 跪著看神 09/03 13:03
jkkert: 朝聖 09/03 13:07
Yan5566: 老師好 09/03 13:10
NciscalA: 推 09/03 13:11
hans1461: 推 09/03 13:12
shooter555: 還是免費的 快拜 09/03 13:15
Lhmstu: 推 09/03 13:15
pl132: 感謝大神回答~ 09/03 13:19
f9g8h7j654: 朝聖 09/03 13:21
pl132: 可惜相見恨晚~沒能報名今年課程 09/03 13:22
lolmap: 已按github星星 09/03 13:28
DCTmaybe: 已打星 09/03 13:35
james732: 推 09/03 13:39
deflife: 竟然出現了XD 09/03 13:40
jserv: @pl132, 沒意外的話,今年底我還會發布另一本電子書,也有 09/03 13:47
jserv: 對應的課程,預祝學習順利 09/03 13:48
ianwind: 推 09/03 13:51
lemontea0328: 感謝分享 09/03 13:52
SuperUnison: 推推推 09/03 13:53
b0920075: ldd 和 lkmpg 分別的定位是什麼啊?我有在看另一本日本 09/03 13:55
b0920075: 人寫的驅動開發,但年代好像有點久,有些 code 在 linu 09/03 13:55
b0920075: x 5.0 以上編譯不過還要自己去改QQ 09/03 13:55
jserv: @b0920075, LDD 完整但不能自由修改,且書中範例過時 09/03 14:00
jserv: LKMPG 的定位就是一本小書,只給你精簡的材料,可自由修改 09/03 14:01
b0920075: 了解,感謝解惑 09/03 14:04
jserv: 我對 LKMPG 的另一個期許是,作為學生日後貢獻 Linux 核心 09/03 14:06
jserv: 的練習環境:學生用 Linux 核心程式碼風格撰寫程式並提交 09/03 14:06
jserv: 對應的 git commmit (關鍵是訊息描述,英文書寫需要多練習) 09/03 14:07
y956403: 推 09/03 14:16
acoupleof123: 推 09/03 14:25
hduek153: 太神了 09/03 14:43
chiel: 有神我就推 09/03 14:53
bab7171: 推 09/03 14:58
kiki86151: 先拜 09/03 15:02
loadingN: 三月的文也能釣到!? 09/03 15:17
benjamin1023: 跪… 09/03 15:18
devilkool: 拜見大神 09/03 15:19
duck10704: 朝聖 09/03 16:09
ericthree: 有神快拜 09/03 16:19
m490521: 大神!請收下膝蓋 09/03 16:27
h3882249: 朝聖 09/03 16:40
whatabiggun: 推爆 09/03 16:46
Eric0605: 大師... 09/03 17:02
xoy232: 大神 感謝你 請收下我的膝蓋 09/03 17:18
GTX9080: 媽我在這 09/03 17:29
smily134: 推 09/03 17:52
sniper2824: 大神 09/03 18:16
Walkers: 有神快拜 09/03 18:30
aaa1234136: 在成大的時候一直想修大大的課QQ 09/03 18:36
wulouise: starred, push 09/03 18:40
linnom: Jserv先推太喜歡老師的課 09/03 18:40
askaleroux: 好色喔 色夫 09/03 18:53
poneponecar: 朝聖推 09/03 18:55
kangan987: 推! 09/03 19:22
Yunyung: 朝聖 09/03 19:29
Burwei: 朝聖推 09/03 19:49
tw00084811: 有神快推 09/03 19:51
TTTTTsai: 朝聖 09/03 20:08
cococing: 朝聖 09/03 20:20
ice831107: 跪著看jserv 09/03 20:23
pttano: 推 09/03 20:53
richer6605: 非常感謝分享 09/03 21:01
laughingman: 有神快拜 09/03 21:09
Rayishere: 推推 09/03 21:13
ptta: 推 09/03 21:14
unmolk: 神… 09/03 21:48
chuegou: 未看先推 09/03 21:48
shorty696820: 看到這個文章標題 我就知道一定會釣到了 09/03 22:09
mmonkeyboyy: 這過這麼久才釣到他XD 09/03 22:25
mmonkeyboyy: ldd 作者就不太更新了 09/03 22:26
mmonkeyboyy: 有這個接上也真的很不錯捏~ 09/03 22:26
jserv: @askaleroux, 是 "colorful" 人生的「彩色」 09/03 23:09
jserv: @loadingN, 是聽到網友的呼喚,我只好犧牲暑假趕工寫書 09/03 23:10
steven8411: 有神先推 09/03 23:17
zmcx16: 推jserv 09/03 23:22
kkroy: 朝聖 09/03 23:31
ejnfu: 推 09/03 23:37
pearlsally: 好猛 09/03 23:44
knme: 推推 09/03 23:51
babymomo0101: 推推 09/04 00:47
ChoDino: 軟體界的福音戰士阿! 09/04 00:55
qwefghiop1: 若能搭配開發版像是樹莓派邊做邊學就更好了。 09/04 01:48
Gazella: 朝聖 努力學習中 09/04 03:00
jserv: @qwefghiop1, LKMPG 裡頭有二個範例就針對 Raspberry Pi 09/04 04:57
yupog2003: 朝聖 09/04 09:07
bewitchsky: 推 09/04 10:51
ID3238: 來看上帝 09/04 10:55
mickey94378: 推爆 jserv 09/04 11:40
pttrAin: 朝聖 09/04 11:47
qwer495: 猛 09/04 12:18
qwe04687: 推 早上才看到另一篇 09/04 12:23
abcdtony2: 感謝老師 09/04 12:46
jimjim951357: 朝聖推 09/04 13:12
e12518166339: 感謝老師,一路以來受到很多幫助,現在能夠從事開 09/04 13:32
e12518166339: 源貢獻真的超爽的 09/04 13:32
tommytyc: 推 09/04 14:56
rongyaya: 老師好 09/04 15:15
PompelmousJ: 太神啦 09/04 17:33
s678131: 感謝 09/04 19:51
JavaScript: 祝福老師身體健康,可以繼續造福更多學子們 09/04 21:42
bcew: 朝聖 09/04 23:46
wheels: 大神推推 09/05 00:52
chaos1993: 有大神快拜 09/05 02:21
goldie: 朝聖推 09/05 11:19
loveu8: 先拜XD 09/05 13:18
AAAWhoAmI: 已跪 09/05 14:56
IhateOGC: 我有買@@ 09/05 18:57
Phenomenon: 推 09/05 23:03
SmallpTsai: 有神快拜 09/05 23:10
jserv: @IhateOGC, 你說買什麼? 09/05 23:18
WaterLengend: 推 09/06 00:31
YYYero: 推 09/06 00:54
yoche2000: 有神快拜 09/06 01:17
yuankwei: 是大神!!! 09/06 02:02
streakray: 推推推推 09/06 06:26
godsparticle: 有神快拜 09/06 08:07
erolissi: 有神快拜 09/06 10:06
MDay56: 謝謝 09/06 10:30
sa074463: 感謝老師 09/06 12:34
mrnegativetw: 有神快拜 09/06 19:52
becca945: 先給星星 09/06 20:47
tom758258: 已給星星 09/06 22:09
a8989332: 老師帥 09/06 23:04
morek: 感恩大大無私分享 09/07 00:26
khalifa16: 推 09/07 09:54
fg008kimo: 居然是大神 09/07 14:02
tumaz: 祝老師身體健康萬事如意 09/08 14:08
william0512: 寫超好 摸一陣driver才看到這篇 相見恨晚 09/08 21:04
mikeqoo1: 大神給推! 09/09 15:49
Jeniberg: 推 09/12 00:48
cookiej4u: 推 09/12 12:25
dyjo4949: 遇到神了!! 09/14 19:10
Tharp: 神人快拜!! 09/16 00:19
sintsu: 見過神人 已拜 09/16 00:25
charliejack: 感謝老師 受惠良多 對台灣Linux Kernel人才培育 09/16 10:21