Re: [請益] Linux device driver好不好自學上手?
※ 引述《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, 請收下我的膝蓋
https://github.com/sysprog21/lkmpg #請善心網友幫忙打星
大師
松鼠大,快拜
快跪著看....
朝聖
前十推
jserv必須推
@lolmap, 那 GitHub 的星星就麻煩你了
先跪了
先拜
有神快推
好想上大師的課
跪著看神
朝聖
老師好
推
推
還是免費的 快拜
推
感謝大神回答~
朝聖
可惜相見恨晚~沒能報名今年課程
已按github星星
已打星
推
竟然出現了XD
@pl132, 沒意外的話,今年底我還會發布另一本電子書,也有
對應的課程,預祝學習順利
推
感謝分享
推推推
ldd 和 lkmpg 分別的定位是什麼啊?我有在看另一本日本
人寫的驅動開發,但年代好像有點久,有些 code 在 linu
x 5.0 以上編譯不過還要自己去改QQ
@b0920075, LDD 完整但不能自由修改,且書中範例過時
LKMPG 的定位就是一本小書,只給你精簡的材料,可自由修改
了解,感謝解惑
我對 LKMPG 的另一個期許是,作為學生日後貢獻 Linux 核心
的練習環境:學生用 Linux 核心程式碼風格撰寫程式並提交
對應的 git commmit (關鍵是訊息描述,英文書寫需要多練習)
推
推
太神了
有神我就推
推
先拜
三月的文也能釣到!?
跪…
拜見大神
朝聖
有神快拜
大神!請收下膝蓋
朝聖
推爆
大師...
大神 感謝你 請收下我的膝蓋
媽我在這
推
大神
有神快拜
在成大的時候一直想修大大的課QQ
starred, push
Jserv先推太喜歡老師的課
好色喔 色夫
朝聖推
推!
朝聖
朝聖推
有神快推
朝聖
朝聖
跪著看jserv
推
非常感謝分享
有神快拜
推推
推
神…
未看先推
看到這個文章標題 我就知道一定會釣到了
這過這麼久才釣到他XD
ldd 作者就不太更新了
有這個接上也真的很不錯捏~
@askaleroux, 是 "colorful" 人生的「彩色」
@loadingN, 是聽到網友的呼喚,我只好犧牲暑假趕工寫書
有神先推
推jserv
朝聖
推
好猛
推推
推推
軟體界的福音戰士阿!
若能搭配開發版像是樹莓派邊做邊學就更好了。
朝聖 努力學習中
@qwefghiop1, LKMPG 裡頭有二個範例就針對 Raspberry Pi
朝聖
推
來看上帝
推爆 jserv
朝聖
猛
推 早上才看到另一篇
感謝老師
朝聖推
感謝老師,一路以來受到很多幫助,現在能夠從事開
源貢獻真的超爽的
推
老師好
太神啦
感謝
祝福老師身體健康,可以繼續造福更多學子們
朝聖
大神推推
有大神快拜
朝聖推
先拜XD
已跪
我有買@@
推
有神快拜
@IhateOGC, 你說買什麼?
推
推
有神快拜
是大神!!!
推推推推
有神快拜
有神快拜
謝謝
感謝老師
有神快拜
先給星星
已給星星
老師帥
感恩大大無私分享
推
居然是大神
祝老師身體健康萬事如意
寫超好 摸一陣driver才看到這篇 相見恨晚
大神給推!
推
推
遇到神了!!
神人快拜!!
見過神人 已拜
感謝老師 受惠良多 對台灣Linux Kernel人才培育
28
[心得] Linux手機系統使用感想總結:Linux的瀏覽器都是真後台,特色是背景播放網頁Youtube。除此之外蠻省電的。 (Phosh + postmarketOS) 首先,以下說的是Linux手機系統,手機則不一定是純Linux手機,也有Android機移植 Linux系統的。24
Re: [問卦] 現在 GNU/Linux 走到那一步了?身為平常都用 Linux 的使用者來推廣分享 順便科普一下 先說結論 可以家用 而且很好用 也不見得要背一堆指令才能用 Linux 但是如果你知道一些指令的話會方便許多 不想看廢話的話可以從最後面往前看13
[問卦] 有沒有人和我一樣對Linux的未來充滿信心前幾年 Valve 開始介入 Linux 的世界整合 WINE 和 DXVK 搞出了個 Proton, 一堆 Windows 才能玩的遊戲都可以在 Linux 上玩了,雖然會有一點點效能犧牲, 但部份的遊戲甚至表現得比 Windows 原生還要好,非常令人驚訝, 不過還是有個大問題,那就是那些反作弊程式無法支援 Linux 的 Proton, 不過就在上個月 Steam Deck 發表後宣佈要讓所有遊戲都能執行,16
[情報] Linus Torvalds公布Linux 5.19,讚Arm-baLinus Torvalds公布Linux 5.19,讚Arm-based Mac電腦好用 文/林妍溱 | 2022-08-02發表 Linux之父Linus Torvalds上周公布Linux 5.19版核心,而且稱Arm-based Mac電腦終於變得對開發工作很有用了。 Torvalds是利用執行Asahi Linux on Arm64 Mac筆電釋出最新版核心。他說,很早以前就有Arm 64硬體執行Linux,但是作為開發平臺而言,從來都不是很好用,但這次拜Asahi團隊之賜,他等待許久的願望終於成真。 這是Torvalds第3次使用蘋果硬體做Linux 開發。很多年前第1次是使用PPC970機器,10多年前當輕薄型筆電MacBook Air推出時是第2次。14
[討論] COBOL for Linux on x86IBM推COBOL上雲端 擁有50年歷史的程式語言COBOL,IBM現在推出可在x86 Linux環境運作的COBOL版本,使得 COBOL應用程式也能雲端化 文/李建興 | 2021-04-09發表 IBM發布了可在x86的Linux環境運作的COBOL(COBOL for Linux on x86)版本,其包含9
[討論] 多個iOS裝置能透過越獄跑Linux名詞解釋 checkra1n是iOS的越獄軟體,依賴的是蘋果iOS裝置的硬體開機漏洞,蘋果無法用iOS更新 修復,只能用軟體阻擋。使得A7~A10晶片的iOS手機、平板至今仍有很強的可玩性。 儘管如此,checkra1n要透過MacOS或Linux電腦給手機越獄,並且手機重開機後就要重越一 次,可說是不完美越獄。9
Re: [問卦] 如何30天內精通C++啊?急在線等!安安 我是剛回完mail 聽完音樂 發完一篇音樂廢文 準備睡覺的肥宅 剛好email討論的東西8
[請益] 寫windows driver的優勢是什麼各位年薪百萬的大大好, 小弟最近剛在某個IC廠任職, 職務內容是開發win driver, 看到身邊的同學都去做Linux / Android相關(APP, driver, or kernel), 本身知道開發Linux相關的職缺較多,也知道有更好的發展性。1
[分享] 臺南市東區勝利國小 Linux 系列免費課程臺南市東區勝利國小舉辦免費資訊推廣課程 (Linux管理系列) 歡迎報名 對象:具備電腦網路基礎,且對 Linux 有興趣之高中以上學生及社會人士 地點:採用線上授課,教室連結請見下方報名連結 費用:全程免費 A. 臺南市全民學區數位學習課程—Linux架站與系統管理入門