系統整合
想要自己建立出一個作業系統,這就必須要聊到系統整合,系統整合主要有三種方式 -『Manual』,『Release』和『Build system』,其主要的優缺點如下:
- Manual (一切手動)
- 優點
- 超有彈性。
- 可以知道每個環節的過程。
- 缺點
- 套件相依性繁雜。
- 套件間不同版本也會有很大的差異。
- 需要很多經驗才能入手。
- 不適合重製(Reproduction)。
- 優點
- Release (各發行板)
- 優點
- 容易建立和延伸。
- 缺點
- 難客製化。
- 難最佳化。
- 很難從source code重製完整的系統。
- 非常龐大,不太適合嵌入式系統。
- 使用原生的編譯器,會非常的緩慢。
- 也有很多相依性的問題要克服。
- 並不是每個架構都有支援。
- 優點
- Build System (建制系統)
- 優點
- 非常有彈性。
- 所有個套件都是從source code開始的,所以很好進行最佳化。
- 重製能力非常強。
- 缺點
- 建制時間會比較久。
- 優點
依據以上的比較,在嵌入式系統如果想要研究系統整合,看來使用『Build System』的方式比較好,截至目前為止,有許多種的『Build System』:Yocto/OpenEmbedded, PTXdist,Buildroot, LTIB, OpenBricks, OpenWRT....等等。但是最有名最普遍的是底下兩個:
- Yocto/OpenEmbedded
將嵌入系Linux建制成Binary套件,非常的強大,但是卻很複雜,如果想要學這套系統的話,學習曲線將會很嚴苛。 - Buildroot
跟Yocto/OpenEmbedded最大的差異是Buildroot會建立出一個檔案系統的映像檔,而不是Binary套件,比較簡單,好了解和比較好修改。