

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Linux內核移植所謂Linux內核移植就是把Linux操作系統針對具體的目標機做必要裁剪之后,安裝到目標機使其正確的運行起來。這個概念目前在嵌入式開發(fā)領域流傳比較廣泛。嵌入式Linux移植是指對Linux經過小型化裁剪后,能夠固化在容量只有幾K字節(jié)或幾十K字節(jié)的存儲器芯片或單片機中,應用于特定嵌入式場合的專用Linux操作系統。選擇Linux內核內核(kernel)是所有Linux系統的主要軟件組件。內核既是操作系統的心臟,也是它的大
2、腦,因為內核控制著基本的硬件。內核是操作系統的核心,具有很多最基本功能,如虛擬內存、多任務和TCPIP網絡等功能。Linux內核本身并不是操作系統,它是一個完整操作系統的組成部分。RedHat、Novell、Debian和Gentoo等Linux發(fā)行商都采用Linux內核,然后加入更多的工具、庫和應用程序來構建一個完整的操作系統。Linux內核移植前準備對于嵌入式Linux系統來說,有各種體系結構的處理器和硬件平臺,并且用戶需要根據需求
3、自己定制硬件板。只要是硬件平臺發(fā)生變化,即使非常小,可能也需要做一些移植工作。內核移植是嵌入式Linux系統中最常見的一項工作。當然,移植嵌入式Linux系統并不意味著該內核使用了任何特定的鏈接庫或用戶工具,建立嵌入式系統并不需要特別的內核。嵌入式系統中使用的內核與工作站或服務器上使用的內核主要的不同在于內核的配置方面。Linux內核移植是在Linux原內核基礎上,通過對平臺的選擇設計來實現針對特定系統的內核版本。Linux內核的移植包
4、含啟動代碼的修改、內核的鏈接及裝入、參數傳遞、內核引導幾個部分。其基本過程如下:(1)首先,獲取某一版本的Linux內核源碼,根據具體目標平臺對源碼進行必要的改寫(主要是修改體系結構相關部分);(2)然后添加一些外設的驅動(如網卡驅動,USB驅動),打造一款適合于目標平臺(可以是嵌入式便攜設備也可以是其它體系結構的PC機)的新操作系統,也就是常說的內核配置或內核定制;(3)對該系統進行針對目標平臺的交叉編譯,生成一個內核映象文件(如zI
5、mage,uImage,bzImage);(4)最后通過一些手段(如TFTP)把該映象文件燒寫到目標平臺中。個目錄下的各個體系結構目錄中。init:內核初始化代碼。包括main函數也是在這個目錄下實現的。ipc:進程間通信的代碼。kernel:內核的最核心部分,包括進程調度、定時器等,和平臺相關的一部分代碼放在archkernel目錄下。lib:各種庫文件代碼。mm:內存管理代碼,和平臺相關的一部分代碼放在archmm目錄下。:網絡相關
6、代碼,實現了各種常見的網絡協議。s:用于配置內核文件的腳本文件。security:主要是一個SELinux的模塊。sound:常用音頻設備的驅動程序等。usr:用戶的代碼。在以上布局中,linux內核主要分為特定于體系結構的部分和與體系結構無關的部分。在Linux啟動的第一階段,內核與體系結構相關部分(arch目錄下)首先執(zhí)行,在這部分它要做的工作有:內核解壓縮、解壓縮內核重定位;內存硬件初始化檢測;參數表的分析;初始化頁表目錄的制作等
7、工作,然后把控制權轉給內核中與系統結構無關部分。所以操作系統內核移植中要改動的代碼主要集中在與體系結構相關的啟動初始化部分。從上面的目錄結構介紹可知,如果要添加新的開發(fā)板或者尋找體系結構相關的文件首先就是到arch目錄下去尋找。在arch目錄中我們可以看到有許多子目錄,它們往往是用芯片命名的,表示是針對該芯片體系結構的代碼。為ARM系列芯片編譯內核,就應修改ARM目錄下的相關文件。內核配置及方法Linux內核源代碼支持二十多種體系結構的
8、處理器,還有各種各樣的驅動程序等選項。因此,在編譯之前必須根據特定平臺配置內核源代碼。Linux內核有上千個配置選項,配置相當復雜,所以,Linux內核源代碼組織了一個配置系統。配置系統主要包含Makefile、Kconfig和配置工具。它可以生成內核配置菜單,方便內核配置。配置界面是通過工具來生成的,工具通過Makefile編譯執(zhí)行,選項則是通過各級目錄的Kconfig文件定義。頂層目錄的Makefile是整個內核配置編譯的核心文件,
9、整體管理Linux內核的配置編譯,負責組織目錄樹中子目錄的編譯管理,其定義了配置和編譯的規(guī)則,還可以設置體系結構和版本號等。Kconfig文件是Linux2.6內核引入的配置文件,是內核配置選項的源文件。內核源碼中的Documentationkbuildkconfiglanguage.txt文檔有詳細說明。對內核進行配置的方法有好幾種,而且配置時需要對許多選項進行選擇。不管用哪種方法來配置,或者選擇哪些配置選項,在配置好之后,內核都會產
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ucos的內核移植課程設計
- linux_內核移植方法及錯誤
- SPARC結構與實時內核移植.pdf
- Linux內核移植與USB驅動開發(fā).pdf
- Nucleus內核移植技術研究及應用.pdf
- 基于arm7tdmi的μclinux內核移植的proteus仿真
- Linux 內核移植及無線網卡驅動程序的開發(fā).pdf
- 基于ARM的嵌入式系統內核移植及實時性研究.pdf
- 嵌入式Linux操作系統內核移植的研究與實踐.pdf
- 基于CK810的Linux內核移植profiling驅動開發(fā)及加密應用.pdf
- Linux內核移植與USB無線網卡驅動的研究與實現.pdf
- 基于arca3處理器的linux2.6內核移植
- 基于ep9315的linux2.6內核移植及l(fā)cd驅動程序開發(fā)
- uC-OS-Ⅱ嵌入式操作系統內核移植研究及其實現.pdf
- 基于ARM9的Linux內核移植及USB設備驅動程序開發(fā).pdf
- 基于ARM Cortex-A9的嵌入式Linux內核移植研究與實現.pdf
- 核移植技術及應用
- 動物細胞核移植
- 基于Unity805plus SOC平臺上嵌入式Linux內核移植的實現.pdf
- 46309.小鼠體細胞核移植和雞兔異種核移植的研究
評論
0/150
提交評論