楼主:
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
作者:
cphe (魔鬼藏在垃圾筒里)
2021-09-03 12:15:00有神出没,快拜
楼主:
jserv (松鼠)
2021-09-03 12:15:00作者: GymRat (鼠鼠有练过) 2021-09-03 12:24:00
松鼠大,快拜
作者: iamgp 2021-09-03 12:33: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
推
作者:
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星星
作者:
deflife (无极而生)
2021-09-03 13:40:00竟然出现了XD
楼主:
jserv (松鼠)
2021-09-03 13:47:00@pl132, 没意外的话,今年底我还会发布另一本电子书,也有对应的课程,预祝学习顺利
作者: ianwind (流风夜月) 2021-09-03 13:51:00
推
作者: SuperUnison (SuperUnison) 2021-09-03 13:53:00
推推推
ldd 和 lkmpg 分别的定位是什么啊?我有在看另一本日本人写的驱动开发,但年代好像有点久,有些 code 在 linux 5.0 以上编译不过还要自己去改QQ
楼主:
jserv (松鼠)
2021-09-03 14:00:00@b0920075, LDD 完整但不能自由修改,且书中范例过时LKMPG 的定位就是一本小书,只给你精简的材料,可自由修改
楼主:
jserv (松鼠)
2021-09-03 14:06:00我对 LKMPG 的另一个期许是,作为学生日后贡献 Linux 核心的练习环境:学生用 Linux 核心程式码风格撰写程式并提交对应的 git commmit (关键是讯息描述,英文书写需要多练习)
作者:
y956403 (寻欢)
2021-09-03 14:16:00推
作者:
hduek153 (专业打酱油)
2021-09-03 14:43:00太神了
作者:
chiel (All 喷 将!!)
2021-09-03 14:53:00有神我就推
作者: bab7171 2021-09-03 14:58:00
推
作者:
loadingN (sarsaparilla)
2021-09-03 15:17:00三月的文也能钓到!?
作者: ericthree (如果 她这样动人) 2021-09-03 16:19:00
有神快拜
作者:
m490521 (阿青)
2021-09-03 16:27: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
推
作者:
Walkers (walkers)
2021-09-03 18:30:00有神快拜
作者:
wulouise (在线上!=在电脑前)
2021-09-03 18:40:00starred, push
作者:
linnom (繁星)
2021-09-03 18:40:00Jserv先推太喜欢老师的课
作者:
Yunyung (Yunyung)
2021-09-03 19:29:00朝圣
作者:
Burwei (系馆守护神)
2021-09-03 19:49:00朝圣推
作者:
TTTTTsai (台科任逍遥)
2021-09-03 20:08:00朝圣
作者: ice831107 (沁雨) 2021-09-03 20:23:00
跪着看jserv
作者:
pttano (pttano)
2021-09-03 20:53: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未看先推
这过这么久才钓到他XDldd 作者就不太更新了有这个接上也真的很不错捏~
楼主:
jserv (松鼠)
2021-09-03 23:09:00@askaleroux, 是 "colorful" 人生的“彩色”@loadingN, 是听到网友的呼唤,我只好牺牲暑假赶工写书
作者:
zmcx16 (zmcx16)
2021-09-03 23:22:00推jserv
作者:
kkroy (☆㊣↖煞气ㄟ阿喂↘ξ★)
2021-09-03 23:31:00朝圣
作者:
ejnfu ((-. .-)b)
2021-09-03 23:37: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软件界的福音战士阿!
作者:
Gazella (飞雪连天射白鹿)
2021-09-04 03:00:00朝圣 努力学习中
楼主:
jserv (松鼠)
2021-09-04 04:57:00@qwefghiop1, LKMPG 里头有二个范例就针对 Raspberry Pi
作者:
ID3238 (默默)
2021-09-04 10:55:00来看上帝
作者:
pttrAin (rAin)
2021-09-04 11:47:00朝圣
作者: qwer495 (没海了) 2021-09-04 12:18:00
猛
感谢老师,一路以来受到很多帮助,现在能够从事开源贡献真的超爽的
作者:
tommytyc (75303301)
2021-09-04 14:56:00推
作者: rongyaya (enyazo) 2021-09-04 15:15:00
老师好
作者:
s678131 (Mu)
2021-09-04 19:51: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
已跪
楼主:
jserv (松鼠)
2021-09-05 23:18:00@IhateOGC, 你说买什么?
作者: YYYero (YYYero) 2021-09-06 00:54:00
推
作者:
yoche2000 (Sushi Desu! 在下寿司)
2021-09-06 01:17:00有神快拜
作者: streakray (条纹衣boy) 2021-09-06 06:26:00
推推推推
作者: erolissi (GOGOGO) 2021-09-06 10:06:00
有神快拜
作者:
MDay56 (他妈妈冲击波)
2021-09-06 10:30:00谢谢
作者:
morek (陆王)
2021-09-07 00:26:00感恩大大无私分享
作者: khalifa16 (卡里发) 2021-09-07 09:54: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
推
作者: dyjo4949 (爌肉王朝) 2021-09-14 19:10:00
遇到神了!!
作者:
Tharp (沙普)
2021-09-16 00:19:00神人快拜!!
作者:
sintsu (Stev)
2021-09-16 00:25:00见过神人 已拜
感谢老师 受惠良多 对台湾Linux Kernel人才培育