看板 LinuxDev 關於我們 聯絡資訊
最近想學怎麼開發 Linux modules, 下載了 ldd3 跟 kernel 2.4.10 之後,就不知道該怎麼辦了。 我之前沒有編譯過 kernel, 只有在 linux 的環境下寫一些簡單的 c 目前我的系統是 ubuntu , kernel 是 4.10 這樣應該是不能編譯 ldd3 的 code 吧 那請問一下如果我想要學 ldd3 的東西,去編譯執行 example code 的話 應該用哪個方法呢? 1.我是應該去找到 kernel 是 2.6.10 版本的發佈版來安裝 2.把目前的 ubuntu 發佈版的 kernel downgrade 到 2.6.10, 但是有點擔心會影響到其他功能。 這邊想另外問一下,如果我用第二個方法 把 kernel down grade 到 2.6.10 之後,確實發生了有些 module 無法運作, 那我再把 kernel version restore 回到原來的 4.10 這樣會恢復正常嗎? 照我讀到的資料是寫說 LKM 都是可以動態的載入跟卸除,甚至不用 reboot, 但是不確定是否包含 kernel core 的部份..... 因為 insmod 好像就是 kernel 在處理的,實在是不太懂,也不知道該怎弄比較好 還是有什麼別的方式可以來建構這個開發環境呢? 還請大家多幫忙指點,解惑了, 謝謝 ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.222.112 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1514626333.A.30F.html ※ 編輯: shiningboy (114.137.222.112), 12/30/2017 18:21:17
galic: 我的建議是裝virutal machine 跑一個原生就是2.6.x Kernel 12/30 22:21
galic: 的Distro. 或是你要跑4.x也沒關係 但是2.6跟後面版本差異很 12/30 22:22
galic: 大 不要去downgrade kernel 這會影響你系統的運作 12/30 22:22
galic: github上有一堆賢(閒)者 有把ldd3的example porting到其他 12/30 22:23
galic: kernel版本 google搜尋一下就有 很多... 12/30 22:23
galic: 然後像Ubuntu這種Distro. 其實改了很多東西 所以編譯kernel 12/30 22:26
galic: 上會比較複雜 建議你可以用Arch之類的 12/30 22:26
galic: 然後照你的描述 跟很多直接拿LDD來看的人很像 這本的前提是 12/30 22:28
galic: 你非常了解OS的運作 所以他只注重在Kernel Module的撰寫上 12/30 22:28
galic: 所以我建議你搭配Linux Kernel Development一起看 這本可以 12/30 22:29
galic: 幫你補充概念上的不足(大概啦) 12/30 22:30
galic: 喔對 kernel source裡面有Documentation 記得去裡面逛逛 12/30 22:38
galic: 像是你現在就應該要去看kbuild底下的東西 12/30 22:39
非常感謝,依照你的講解,我修正了我的學習方向, 我想我首先要先把作業系統讀得很熟, 並且多去了解各種不同 Linux distro 的差異, 然後再看 linux kernel, 最後再看 LDD, 看 Linux 那幾百萬行的程式碼, 學習 Linux 真的是一輩子的事情。 謝謝 ※ 編輯: shiningboy (42.73.223.177), 01/02/2018 18:21:08 另外想問一下,galic 大, 你推文中提到的盡量不要用 Ubuntu distro 來作為開發編譯的環境, 所以我盡量去找 Ubuntu 以外的 distro, 我找了兩天, 可惜目前能找到 2.6.x 的 distro 版本,似乎就只剩 Ubuntu 有提供下載了 Arch distro 我找了好久,都找不到以前發佈的版本, 甚至有看到文章說這是 Arch distro 的特色,只提供最新的版本 請問有人找得到 Arch distro 2.6.x 的 distro 嗎 ?? 謝謝 ※ 編輯: shiningboy (42.73.58.132), 01/05/2018 00:05:35
GaliTW: https://archive.archlinux.org/iso/ 01/05 10:58
askacis: 我覺得初學者看LDD3有點太深了 01/06 14:47
askacis: 推薦這個作者-- 平田豐寫的書 01/06 14:49
carylorrk: 其實 github 上蠻多把 LDD3 port 到新 kernel 的 01/07 12:26
Goodwater: 初學看LDD3應該會跟看天書差不多 01/25 00:16
poem5566: 推一本殘體字的書 Linux 設備驅動開發詳解。裡面的Code 07/25 11:17