天天看點

定制Linux系統原理

1、名詞說明

  1)主系統

  制作Linux系統并不是在一無所有的裸機上完成的,需要一個幫助我們制作系統的系統,這個系統就稱為“主系統”。我們制作的系統就是依靠這個主系統來逐漸完成的,是以主系統的選擇非常重要。

  2)目标系統

  目标系統就是我們要完成的系統

  3)臨時系統

  在制作目标系統 的過程中會有一個小型的過渡系統,這個系統在輔助制作完成目标系統後就不再使用了,是以稱為臨時系統。

  4)編譯工具

  将Binutils(彙編工具)、GCC(編譯器)合稱為編譯工具。

  5)工具鍊

  将Binutils(彙編工具)、GCC(編譯器)和GLibc(标準C函數庫)的組合稱為工具鍊,有時候也會将一些需要用到的函數庫作為工具鍊的一部分,使用工具鍊生成的可執行檔案總是使用該工具鍊中的函數庫。

  在整個制作過程中,各個階段都會産生工具鍊,為了能清楚并準确的表達某個工具鍊,對各個階段的工具鍊名稱做如下規定:

  原工具鍊:主系統的工具鍊

  預工具鍊:用于生成臨時工具鍊的工具鍊

  臨時工具鍊:用于生成臨時系統的工具鍊

  目标工具鍊:用于生成目标系統的工具鍊

  6)輔助指令

  在編譯軟體包的過程中,除了工具鍊以外還需要一些指令的參與,如make,這些指令合稱為輔助指令

  7)工具鍊環境

  将工具鍊連同輔助指令合稱為工具鍊環境,不同的階段會出現不同的組合,下面對各個階段的工具鍊環境的稱呼做如下規定:

  預工具鍊環境:預工具鍊+主系統的輔助指令及基本函數庫

  臨時工具鍊環境:臨時工具鍊+臨時系統中的輔助指令及基本函數庫

  目标工具鍊環境:目标工具鍊+目标系統中的輔助指令及基本函數庫

  8)運作環境

  在一個運作的系統中可以存在多個不同的環境,這些環境中有各自的根目錄及環境設定,這樣的環境稱為運作環境。在制作過程中各個階段會處于不同的運作環境,這裡對稱呼做如下規定

  主系統運作環境:-----

  目标系統運作環境:目标系統所在目錄為根目錄的運作環境

  9)純淨度

  這裡的純淨度并不是一個計量機關,而是用于表達某系統與其它系統的相關性,如果一個系統的運作依賴于另一個系統,那麼這個系統是不純淨的。我們的目标是制作一個完全獨立運作的系統。而且不管主系統是什麼,隻要目标系統制作出來了,那麼目标系統就不會因為主系統的不同而有差異。

  10)頭檔案

  用于編譯的一類檔案,一般以.h作為檔案的字尾,存放了函數的接口描述、結構體資訊等程式設計相關的内容。

  2、源代碼的編譯過程

繼續閱讀