Re: [请益] Linux device driver好不好自学上手?

楼主: jserv (松鼠)   2021-09-03 12:09:29
※ 引述《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
作者: LinuxKernel (Linus Torvalds)   2021-09-03 12:14:00
可恶想学
作者: cphe (魔鬼藏在垃圾筒里)   2021-09-03 12:15:00
有神出没,快拜
楼主: jserv (松鼠)   2021-09-03 12:15:00
@LinuxKernel, 请收下我的膝盖https://github.com/sysprog21/lkmpg #请善心网友帮忙打星
作者: lturtsamuel (港都都教授)   2021-09-03 12:21:00
大师
作者: GymRat (鼠鼠有练过)   2021-09-03 12:24:00
松鼠大,快拜
作者: iamgp   2021-09-03 12:33:00
快跪着看....
作者: nicehorse06 (嘿嘿马)   2021-09-03 12:36:00
朝圣
作者: j0958322080 (Tidus)   2021-09-03 12:46:00
前十推
作者: lolmap (休伊yo)   2021-09-03 12:47:00
jserv必须推
楼主: jserv (松鼠)   2021-09-03 12:47:00
@lolmap, 那 GitHub 的星星就麻烦你了
作者: yusheng88992 (搭小黄囉)   2021-09-03 12:52:00
先跪了
作者: neo5277 (I am an agent of chaos)   2021-09-03 12:53:00
先拜
作者: matthewka   2021-09-03 12:55:00
有神快推
作者: bill1992 (我是魔法的踪迹)   2021-09-03 13:02:00
好想上大师的课
作者: kenshih1203 (阿莱)   2021-09-03 13:03:00
跪着看神
作者: jkkert   2021-09-03 13:07:00
朝圣
作者: Yan5566   2021-09-03 13:10:00
老师好
作者: NciscalA   2021-09-03 13:11:00
作者: hans1461 (小憨吉)   2021-09-03 13:12:00
作者: shooter555 (shooter)   2021-09-03 13:15:00
还是免费的 快拜
作者: Lhmstu (lhmstu)   2021-09-03 13:15:00
作者: pl132 (pl132)   2021-09-03 13:19:00
感谢大神回答~
作者: f9g8h7j654 (whoIswho)   2021-09-03 13:21:00
朝圣
作者: pl132 (pl132)   2021-09-03 13:22:00
可惜相见恨晚~没能报名今年课程
作者: lolmap (休伊yo)   2021-09-03 13:28:00
已按github星星
作者: DCTmaybe (竹竹人)   2021-09-03 13:35:00
已打星
作者: james732 (好人超)   2021-09-03 13:39:00
作者: deflife (无极而生)   2021-09-03 13:40:00
竟然出现了XD
楼主: jserv (松鼠)   2021-09-03 13:47:00
@pl132, 没意外的话,今年底我还会发布另一本电子书,也有对应的课程,预祝学习顺利
作者: ianwind (流风夜月)   2021-09-03 13:51:00
作者: lemontea0328 (魔幻柠檬)   2021-09-03 13:52:00
感谢分享
作者: SuperUnison (SuperUnison)   2021-09-03 13:53:00
推推推
作者: b0920075 (Void)   2021-09-03 13:55:00
ldd 和 lkmpg 分别的定位是什么啊?我有在看另一本日本人写的驱动开发,但年代好像有点久,有些 code 在 linux 5.0 以上编译不过还要自己去改QQ
楼主: jserv (松鼠)   2021-09-03 14:00:00
@b0920075, LDD 完整但不能自由修改,且书中范例过时LKMPG 的定位就是一本小书,只给你精简的材料,可自由修改
作者: b0920075 (Void)   2021-09-03 14:04:00
了解,感谢解惑
楼主: jserv (松鼠)   2021-09-03 14:06:00
我对 LKMPG 的另一个期许是,作为学生日后贡献 Linux 核心的练习环境:学生用 Linux 核心程式码风格撰写程式并提交对应的 git commmit (关键是讯息描述,英文书写需要多练习)
作者: y956403 (寻欢)   2021-09-03 14:16:00
作者: acoupleof123 (physitist)   2021-09-03 14:25:00
作者: hduek153 (专业打酱油)   2021-09-03 14:43:00
太神了
作者: chiel (All 喷 将!!)   2021-09-03 14:53:00
有神我就推
作者: bab7171   2021-09-03 14:58:00
作者: kiki86151 (鲁饭)   2021-09-03 15:02:00
先拜
作者: loadingN (sarsaparilla)   2021-09-03 15:17:00
三月的文也能钓到!?
作者: benjamin1023 (酷毙了)   2021-09-03 15:18:00
跪…
作者: devilkool (对猫毛过敏的猫控)   2021-09-03 15:19:00
拜见大神
作者: duck10704 (duck)   2021-09-03 16:09:00
朝圣
作者: ericthree (如果 她这样动人)   2021-09-03 16:19:00
有神快拜
作者: m490521 (阿青)   2021-09-03 16:27:00
大神!请收下膝盖
作者: h3882249 (ㄧ可莲雾)   2021-09-03 16:40:00
朝圣
作者: whatabiggun (奶奶早安)   2021-09-03 16:46:00
推爆
作者: Eric0605 (我还有点饿)   2021-09-03 17:02:00
大师...
作者: xoy232 (鬼岛希特勒)   2021-09-03 17:18:00
大神 感谢你 请收下我的膝盖
作者: GTX9080 (你有Bootloader吗)   2021-09-03 17:29:00
妈我在这
作者: smily134 (father134)   2021-09-03 17:52:00
作者: sniper2824 (月夜)   2021-09-03 18:16:00
大神
作者: Walkers (walkers)   2021-09-03 18:30:00
有神快拜
作者: aaa1234136 (淡水活鱼)   2021-09-03 18:36:00
在成大的时候一直想修大大的课QQ
作者: wulouise (在线上!=在电脑前)   2021-09-03 18:40:00
starred, push
作者: linnom (繁星)   2021-09-03 18:40:00
Jserv先推太喜欢老师的课
作者: askaleroux (FalconTW)   2021-09-03 18:53:00
好色喔 色夫
作者: poneponecar   2021-09-03 18:55:00
朝圣推
作者: kangan987 (Jon.Snow)   2021-09-03 19:22:00
推!
作者: Yunyung (Yunyung)   2021-09-03 19:29:00
朝圣
作者: Burwei (系馆守护神)   2021-09-03 19:49:00
朝圣推
作者: tw00084811 (Fixie万岁!!)   2021-09-03 19:51:00
有神快推
作者: TTTTTsai (台科任逍遥)   2021-09-03 20:08:00
朝圣
作者: cococing (大肥)   2021-09-03 20:20:00
朝圣
作者: ice831107 (沁雨)   2021-09-03 20:23:00
跪着看jserv
作者: pttano (pttano)   2021-09-03 20:53:00
作者: richer6605 (Rhapsody)   2021-09-03 21:01:00
非常感谢分享
作者: laughingman (笑面男)   2021-09-03 21:09:00
有神快拜
作者: Rayishere (Rayishere)   2021-09-03 21:13:00
推推
作者: ptta (ptta)   2021-09-03 21:14:00
作者: unmolk (UJ)   2021-09-03 21:48:00
神…
作者: chuegou (chuegou)   2021-09-03 21:48:00
未看先推
作者: shorty696820 (虹彩弟弟)   2021-09-03 22:09:00
看到这个文章标题 我就知道一定会钓到了
作者: mmonkeyboyy (great)   2021-09-03 22:25:00
这过这么久才钓到他XDldd 作者就不太更新了有这个接上也真的很不错捏~
楼主: jserv (松鼠)   2021-09-03 23:09:00
@askaleroux, 是 "colorful" 人生的“彩色”@loadingN, 是听到网友的呼唤,我只好牺牲暑假赶工写书
作者: steven8411 (唬烂兽)   2021-09-03 23:17:00
有神先推
作者: zmcx16 (zmcx16)   2021-09-03 23:22:00
推jserv
作者: kkroy (☆㊣↖煞气ㄟ阿喂↘ξ★)   2021-09-03 23:31:00
朝圣
作者: ejnfu ((-. .-)b)   2021-09-03 23:37:00
作者: pearlsally (yllaslraep)   2021-09-03 23:44:00
好猛
作者: knme (knem)   2021-09-03 23:51:00
推推
作者: babymomo0101 (babymomo19)   2021-09-04 00:47:00
推推
作者: ChoDino (Dino)   2021-09-04 00:55:00
软件界的福音战士阿!
作者: qwefghiop1 (只有肥宅知道的世界2)   2021-09-04 01:48:00
若能搭配开发版像是树莓派边做边学就更好了。
作者: Gazella (飞雪连天射白鹿)   2021-09-04 03:00:00
朝圣 努力学习中
楼主: jserv (松鼠)   2021-09-04 04:57:00
@qwefghiop1, LKMPG 里头有二个范例就针对 Raspberry Pi
作者: yupog2003 (屁股)   2021-09-04 09:07:00
朝圣
作者: bewitchsky (Shopping)   2021-09-04 10:51:00
作者: ID3238 (默默)   2021-09-04 10:55:00
来看上帝
作者: mickey94378 (Holy)   2021-09-04 11:40:00
推爆 jserv
作者: pttrAin (rAin)   2021-09-04 11:47:00
朝圣
作者: qwer495 (没海了)   2021-09-04 12:18:00
作者: qwe04687 (国一臭宅)   2021-09-04 12:23:00
推 早上才看到另一篇
作者: abcdtony2 (肥肉在颤抖)   2021-09-04 12:46:00
感谢老师
作者: jimjim951357 (v54dt)   2021-09-04 13:12:00
朝圣推
作者: e12518166339 (耐纶)   2021-09-04 13:32:00
感谢老师,一路以来受到很多帮助,现在能够从事开源贡献真的超爽的
作者: tommytyc (75303301)   2021-09-04 14:56:00
作者: rongyaya (enyazo)   2021-09-04 15:15:00
老师好
作者: PompelmousJ (PompelmousJ)   2021-09-04 17:33:00
太神啦
作者: s678131 (Mu)   2021-09-04 19:51:00
感谢
作者: JavaScript (JavaScript)   2021-09-04 21:42:00
祝福老师身体健康,可以继续造福更多学子们
作者: bcew (bcew)   2021-09-04 23:46:00
朝圣
作者: wheels   2021-09-05 00:52:00
大神推推
作者: chaos1993 (栈前小二)   2021-09-05 02:21:00
有大神快拜
作者: goldie (阿良)   2021-09-05 11:19:00
朝圣推
作者: loveu8 (RA1-推广)   2021-09-05 13:18:00
先拜XD
作者: AAAWhoAmI   2021-09-05 14:56:00
已跪
作者: IhateOGC (我讨厌)   2021-09-05 18:57:00
我有买@@
作者: Phenomenon (Kuma)   2021-09-05 23:03:00
作者: SmallpTsai (Smallp Tsai)   2021-09-05 23:10:00
有神快拜
楼主: jserv (松鼠)   2021-09-05 23:18:00
@IhateOGC, 你说买什么?
作者: WaterLengend (Leeeeeeeeooooooo)   2021-09-06 00:31:00
作者: YYYero (YYYero)   2021-09-06 00:54:00
作者: yoche2000 (Sushi Desu! 在下寿司)   2021-09-06 01:17:00
有神快拜
作者: yuankwei ( )   2021-09-06 02:02:00
是大神!!!
作者: streakray (条纹衣boy)   2021-09-06 06:26:00
推推推推
作者: godsparticle (阿粒)   2021-09-06 08:07:00
有神快拜
作者: erolissi (GOGOGO)   2021-09-06 10:06:00
有神快拜
作者: MDay56 (他妈妈冲击波)   2021-09-06 10:30:00
谢谢
作者: sa074463 (垒包)   2021-09-06 12:34:00
感谢老师
作者: mrnegativetw (每天来点负能量)   2021-09-06 19:52:00
有神快拜
作者: becca945 (频果芽子)   2021-09-06 20:47:00
先给星星
作者: tom758258 (大笨猪)   2021-09-06 22:09:00
已给星星
作者: a8989332 (天创)   2021-09-06 23:04:00
老师帅
作者: morek (陆王)   2021-09-07 00:26:00
感恩大大无私分享
作者: khalifa16 (卡里发)   2021-09-07 09:54:00
作者: fg008kimo (大安海瑟威)   2021-09-07 14:02:00
居然是大神
作者: tumaz (台湾黑熊)   2021-09-08 14:08:00
祝老师身体健康万事如意
作者: william0512 (Go go life.)   2021-09-08 21:04:00
写超好 摸一阵driver才看到这篇 相见恨晚
作者: mikeqoo1 (海葵)   2021-09-09 15:49:00
大神给推!
作者: Jeniberg (与世界接轨)   2021-09-12 00:48:00
作者: cookiej4u (考焦饼干)   2021-09-12 12:25:00
作者: dyjo4949 (爌肉王朝)   2021-09-14 19:10:00
遇到神了!!
作者: Tharp (沙普)   2021-09-16 00:19:00
神人快拜!!
作者: sintsu (Stev)   2021-09-16 00:25:00
见过神人 已拜
作者: charliejack (charliejack)   2021-09-16 10:21:00
感谢老师 受惠良多 对台湾Linux Kernel人才培育

Links booklink

Contact Us: admin [ a t ] ucptt.com