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

發佈了74 篇原創文章 · 獲贊 0 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章