RK3568驅動指南|第一篇 驅動基礎-第2章 你好!內核源碼
從上圖(圖1)可以看到多個版本的內核分支,分別為主線版本(mainline)、穩(wěn)定版本(stable)和長期支持版本(longterm)。以上各個支線和主線是由linus torvalds(Linux之父)所領導。半導體廠商和一些內核愛好者會在官網下載相應版本的內核源碼,對該源碼進行打補丁等操作。以此讓官網的內核源碼可以在半導體廠家設計的主控(CPU)上跑起來,所以在開發(fā)和學習的過程中,我們并不會直接去Linux內核官網下去下載源碼,而且是使用半導體廠家提供的源碼包。
但是不論是Linux官網的內核源碼還是半導體廠家提供的內核源碼不影響我們來看它的廬山真面目!作者下載了Linux官方網站的4.19.262分支源碼,下載好的源碼存放在“iTOP-RK3568開發(fā)板【底板V1.7版本】\03_【iTOP-RK3568開發(fā)板】指南教程\02_Linux驅動配套資料\01_Linux內核官方源碼”如下圖(圖2-2)所示:
將Linux內核官方源碼拷貝到虛擬機ubuntu上如下圖(圖2-3)所示:
使用以下命令對內核官方源碼進行解壓,解壓完成如下圖(圖2-4)所示:
解壓完成后我們會看到非常多的文件夾,這些文件夾放的就是Linux內核源碼,在下一小節(jié)中作者來介紹Linux內核源碼的結構和每個目錄的作用。
目錄的內容如下表(表2-6)所示:
2.3 編譯內核源碼
本小節(jié)使用的內核源碼是半導體廠家提供的內核源碼,是我們學習和開發(fā)要使用的內核源碼。在進行驅動學習之前需要將此內核源碼編譯成功。
內核源碼存放路徑為“iTOP-RK3568開發(fā)板【底板V1.7版本】\03_【iTOP-RK3568開發(fā)板】指南教程\02_Linux驅動配套資料\02_Linux_SDK源碼”,將對應目錄下的內核源碼拷貝到虛擬機ubuntu目錄下,如下圖(圖2-7)所示:
注:編譯環(huán)境使用的是迅為搭建好的編譯環(huán)境,迅為的環(huán)境經過測試在不進行修改的前提下,可以直接將內核源碼編譯通過。
使用以下命令對內核源碼的進行解壓,解壓完成如下圖(圖2-8)所示:
使用“cd linux_sdk”命令進入內核源碼目錄,如下圖(圖2-9)所示:
使用命令“./build.sh kernel”進行內核源碼的編譯,編譯過程如下圖(圖2-10)所示:
編譯時間和電腦虛擬機配置相關,編譯完成如下圖(圖2-11)所示:
通過對內核源碼官網的探索,內核源碼的目錄結構講解以及內核源碼的編譯。我相信大家對Linux內核源碼應該有了一個初步的認識了。下一章我們來學習第一個驅動helloworld。
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。