现在的位置: 首页 > 综合 > 正文

linux内核学习(5)山重水复疑无路*

2013年09月08日 ⁄ 综合 ⁄ 共 1653字 ⁄ 字号 评论关闭

上次说到00-INDEX文件,然后把kbuild.txt说完,但是我们的还有多么遥远。说到这儿,肯定很多看了我文章的朋友会想,你到底想干嘛,对,
我也疑惑!这样的分析是否正确,不过,对于没多少见识的初学者---我,来讲,好像这样的分析方法更好,至少我环节把握得还不错,先把主要知识点给揪出
来,然后在各个击破,我喜欢这样的思路。每个人看待和解决的方式不一样,这是非常正常的。那么还有个问题,我必须要在这里说了,我的最终目标是什么?当然
了,目标有是好的,目标也要分长和短吧!

按长点的来说,熟练掌握内核源代码分析技巧,按短点的来说,搞清设备模型的具体实现方式,在短点
的话,理清内核启动到进入模块初始化的过程,在在短点,能够通过Makefile和Kconfig文件了解内核源代码结构,如果问我现在在干嘛,认识
Makefile和Kconfig文件,分析语法,找到分析技巧。

好了,废话少说多做事,呵呵,不过上面的可不是什么废话啊,句句都是我
的心里话。继续往下走吧。第2个文件kconfig.txt,第3个文件kconfig-language.txt,看看吧,写得什么呢,按照以前的思
路,应该将这两个文件翻译一下,然后说说,不了,当我发现什么文件都去翻译的话,那是一种很笨的想法,我翻译的都是我认为比较重要的文件,而这两个文件,
不是不重要,而是当我读完后,发现其实就是讲了关于Kconfig配置文件如何个写法和一些环境变量(应该说是一些设置变量),对于Kconfig的语法
格式,这里完全可以在网上或者图书馆中找到,对于变量设置,这里举个例子就很好明白了:
KCONFIG_TRISTATE
--------------------------------------------------
This environment variable can be set to specify the path & name of the
"tristate.conf" file.  Its default value is "include/config/tristate.conf".
KCONFIG_TRISTATE
这个环境变量,看看翻译,就是关于tristate.conf这个文件路径和名字的设置,至于这个文件干嘛用的,估计现在知道了也没什么用,倒不如不知
道。第4个文件makefiles.txt,进去看看,发现我靠,这么大堆,如果将它翻译完,估计一周时间得完了,而且翻译得稀烂,于是我抱着希望网上有
人讲makefile的分析,搜搜。。。果然很多文章啊,基本都是把这个文件给按照原样给翻译了一边,感谢啊!!等一下我贴出来,这得多读几遍,不然对后
面分析makefile会有障碍,因为之前粗略看了看,的确很复杂。第5个文件是modules.txt,粗略一看,也是个超级大的,不过浏览了一下介绍
信息,呵呵,讲外部模块怎么编译进内核的,貌似没什么关系吧,直接飘过~~

看我kbuild这个目录,好像有种说不出的疑问,而且超级多,不过心态非常重要,每次看大牛的文章,他们总是提醒我,看内核一定不要浮躁,要学会坚持,让自己充满战斗力。

好了,我们为什么分析kbuild目录啊,显然,因为我们是从README开始的啊,不要忘记回去的路哦!继续往下走。
8、COMPILING the kernel:(编译内核)
     说实话,编译内核,他这里讲得是在不怎么好,感觉有点乱,完全可以依靠网络看很多人的文章,不过现在编译内核,为时过早,我连配置这关都还没闯过,何谈编译呢。即使搞懂了,我编不编译都还是另外一回事呢。
9、IF SOMETHING GOES WRONG:(错误)
     看看,linus果真想得很周到,如果发现内核有什么错误,他讲重要人的一些信息都写在了MAINTAINERS文件中,不过,我是非常相信linux的,我不管了,直接飘吧!

好了,我们分析完README了,从最开始阅读到现在,已经过去了两天,不过我的路还很长很长,后面考验我的不光是智力,更多的是毅力,坚持在坚持才能靠拢目标。linux内核学习(5)山重水复疑无路* - 小鱼 - ringk--linuxer

抱歉!评论已关闭.