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

上次说到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

全志R16平台编译linux系统V1.0.txt 2017/4/11 13:36 (编译请使用编译android的lichee的选项编译生成的.config文件,不然直接编译会报错!!!!) rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ tar zxvf lichee_parrotv1.1_20161202.tar.gz rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ cd lichee/ rootroot@cm-System-Product-Name:/home/wwt/linux_r16/lichee$ ./build.sh config Welcome to mkscript setup progress All available chips: 0. sun8iw5p1 Choice: 0 All available platforms: 0. android 1. dragonboard 2. linux 3. tina Choice: 2 All available kernel: 0. linux-3.4 Choice: 0 All available boards: 0. bell-one 1. evb 2. evb-20 3. evb-30 4. evb-rtl8723bs 5. sc3813r Choice: 3 rootroot@cm-System-Product-Name:/home/wwt/linux_r16/lichee$ ./build.sh 错误1: KCONFIG_AUTOCONFIG=/home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/build/buildroot-config/auto.conf KCONFIG_AUTOHEADER=/home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/build/buildroot-config/autoconf.h KCONFIG_TRISTATE=/home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/build/buildroot-config/tristate.config BUILDROOT_CONFIG=/home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/.config /home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/build/buildroot-config/conf --silentoldconfig Config.in # # make dependencies written to .auto.deps # ATTENTION buildroot devels! # See top of this file before playing with this auto-preprequisites! # make[1]:正在离开目录 `/home/wwt/linux_r16/lichee/buildroot' You must install 'makeinfo' on your build machine makeinfo is usually part of the texinfo package in your distribution make: *** [dependencies] 错误 1 make:离开目录“/home/wwt/linux_r16/lichee/buildroot” ERROR: build buildroot Failed rootroot@cm-System-Product-Name:/home/wwt/linux_r16/lichee$ d/buildroot-config/conf.o /home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/build/buildroot-config/zconf.tab.o -o /home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buil
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值