定制Linux系統原理
1、名詞說明
1)主系統
制作Linux系統并不是在一無所有的裸機上完成的,需要一個幫助我們制作系統的系統,這個系統就稱為“主系統”。我們制作的系統就是依靠這個主系統來逐步完成的,因此主系統的選擇非常重要。
2)目標系統
目標系統就是我們要完成的系統
3)臨時系統
在制作目標系統 的過程中會有一個小型的過渡系統,這個系統在輔助制作完成目標系統后就不再使用了,所以稱為臨時系統。
4)編譯工具
將Binutils(匯編工具)、GCC(編譯器)合稱為編譯工具。
5)工具鏈
將Binutils(匯編工具)、GCC(編譯器)和GLibc(標準C函數庫)的組合稱為工具鏈,有時候也會將一些需要用到的函數庫作為工具鏈的一部分,使用工具鏈生成的可執行文件總是使用該工具鏈中的函數庫。
在整個制作過程中,各個階段都會產生工具鏈,為了能清楚并準確的表達某個工具鏈,對各個階段的工具鏈名稱做如下規定:
原工具鏈:主系統的工具鏈
預工具鏈:用于生成臨時工具鏈的工具鏈
臨時工具鏈:用于生成臨時系統的工具鏈
目標工具鏈:用于生成目標系統的工具鏈
6)輔助命令
在編譯軟件包的過程中,除了工具鏈以外還需要一些命令的參與,如make,這些命令合稱為輔助命令
7)工具鏈環境
將工具鏈連同輔助命令合稱為工具鏈環境,不同的階段會出現不同的組合,下面對各個階段的工具鏈環境的稱呼做如下規定:
預工具鏈環境:預工具鏈+主系統的輔助命令及基本函數庫
臨時工具鏈環境:臨時工具鏈+臨時系統中的輔助命令及基本函數庫
目標工具鏈環境:目標工具鏈+目標系統中的輔助命令及基本函數庫
8)運行環境
在一個運行的系統中可以存在多個不同的環境,這些環境中有各自的根目錄及環境設置,這樣的環境稱為運行環境。在制作過程中各個階段會處于不同的運行環境,這里對稱呼做如下規定
主系統運行環境:-----
目標系統運行環境:目標系統所在目錄為根目錄的運行環境
9)純凈度
這里的純凈度并不是一個計量單位,而是用于表達某系統與其它系統的相關性,如果一個系統的運行依賴于另一個系統,那么這個系統是不純凈的。我們的目標是制作一個完全獨立運行的系統。而且不管主系統是什么,只要目標系統制作出來了,那么目標系統就不會因為主系統的不同而有差異。
10)頭文件
用于編譯的一類文件,一般以.h作為文件的后綴,存放了函數的接口描述、結構體信息等程序設計相關的內容。
2、源代碼的編譯過程
posted on 2014-09-23 09:49 順其自然EVO 閱讀(159) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄