作者shiningboy ()
看板LinuxDev
标题[问题] 关於 ldd3 学习
时间Sat Dec 30 17:32:10 2017
最近想学怎麽开发 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://webptt.com/cn.aspx?n=bbs/LinuxDev/M.1514626333.A.30F.html
※ 编辑: shiningboy (114.137.222.112), 12/30/2017 18:21:17
1F:→ galic: 我的建议是装virutal machine 跑一个原生就是2.6.x Kernel 12/30 22:21
2F:→ galic: 的Distro. 或是你要跑4.x也没关系 但是2.6跟後面版本差异很 12/30 22:22
3F:→ galic: 大 不要去downgrade kernel 这会影响你系统的运作 12/30 22:22
4F:→ galic: github上有一堆贤(闲)者 有把ldd3的example porting到其他 12/30 22:23
5F:→ galic: kernel版本 google搜寻一下就有 很多... 12/30 22:23
6F:→ galic: 然後像Ubuntu这种Distro. 其实改了很多东西 所以编译kernel 12/30 22:26
7F:→ galic: 上会比较复杂 建议你可以用Arch之类的 12/30 22:26
8F:→ galic: 然後照你的描述 跟很多直接拿LDD来看的人很像 这本的前提是 12/30 22:28
9F:→ galic: 你非常了解OS的运作 所以他只注重在Kernel Module的撰写上 12/30 22:28
10F:→ galic: 所以我建议你搭配Linux Kernel Development一起看 这本可以 12/30 22:29
11F:→ galic: 帮你补充概念上的不足(大概啦) 12/30 22:30
12F:→ galic: 喔对 kernel source里面有Documentation 记得去里面逛逛 12/30 22:38
13F:→ 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
16F:推 askacis: 我觉得初学者看LDD3有点太深了 01/06 14:47
17F:→ askacis: 推荐这个作者-- 平田丰写的书 01/06 14:49
19F:→ carylorrk: 其实 github 上蛮多把 LDD3 port 到新 kernel 的 01/07 12:26
20F:→ Goodwater: 初学看LDD3应该会跟看天书差不多 01/25 00:16
21F:推 poem5566: 推一本残体字的书 Linux 设备驱动开发详解。里面的Code 07/25 11:17