最近買了個orangepizero版本的,用的是全志的h2晶元。看起來有短小精悍。不過網上資料較少。看了下好多東西都是參考別人的弄過來的。所以看起來**有一些混亂。但是如果做高層開發。這些都不是問題。因為高層開發不需要了解底層硬體的區別。只當做是一台電腦就行。不過遺憾的是,我是做驅動開發。
話不多說,詳細的編譯過程,可以參考官方給的文件。這裡對裡面的個別細節做展開分析。
從名字就能知道這些目錄的作用了
目錄作用
build.sh
生成img的指令碼
external
生成rootfs需要用到裡面的檔案
kernel
核心原始碼工程
output
編譯生成的東西,會存放在這裡
scripts
orangpi 官方自己寫的一些方便生成工程的指令碼
toolchain
編譯所需的工具鏈
uboot
uboot原始碼目錄
三、build.sh
這是乙個軟連線
使用軟連線的好處,
1.方便使用者呼叫。
2.執行的時候,指令碼可以知道工程的根目錄在**。因為軟鏈結需要放在根目錄裡面,才能正常執行。
build.s**件解讀
大致流程
1.判斷執行是否是root使用者
2.執行前環境檢查
3.給出圖形化介面,讓使用者選擇作業內容(如生成kernel等)
- 判斷是否是root使用者
如下**是公共的作業內容選擇對話指令碼。
可以看到不同的作業,對用不同的函式,封裝的還是挺不錯的。
上面選擇編譯kernel後,會呼叫compile_kernel函式。這個函式的定義在「lib/compilation.sh」指令碼中
找到compile_kernel函式
函式對不同平台應用不同的case語句,我的是
其主要步驟有
1.生成.config檔案
2.make kernel的img
make -c $linux arch=
"$" cross_compile=
$tools
"$"smp_defconfig v=1
我在這一句的後面加上了v=1,這樣可以在執行的時候,看到更詳細的過程。這個命令,帶了很多之前賦值的變數。
"$"smp_defconfig 展開後對應的是目錄「kernel/arch/arm/configs
」,裡面的檔案「sun8iw7p1smp_defconfig」
make -c $linux arch=
"$" cross_compile=
$tools -j$
綜合上述,如果要修改編譯的內容。需要修改un8iw7p1smp_defconfig檔案,將對應的編譯開關開啟。 分析 影像分析
1.效果圖 2.發布服務 3.引入模組 查詢影像資料esri tasks imageserviceidentifytask 引數 esri tasks imageserviceidentifyparameters esri tasks imageserviceidentifyresult esri ...
後端分析 前端分析 邊緣分析
後端分析 前端分析 邊緣分析 那麼什麼是邊緣分析呢?其實邊緣分析介於後端分析和前端分析之間。後端分析需要將原始資料上傳到後台伺服器,前端分析中原始資料在採集的地方就可以被分析,而邊緣分析要求先將乙個小範圍的待分析資料傳到乙個區域性中心 可以是乙個小型嵌入式伺服器,但是規模比後端分析中的伺服器小得多 ...
需求分析,分析需求
1.何為需求 我們吧需求兩個漢字拆分開來看 需 需要 求 要求 即需要的要求,表示想要某種東西的堅定願望 這裡插入乙個小故事,某個小男孩在上小學二年級的時候,不經意間接觸到了一種叫psp的神奇玩具,就下定決心回家找家長要,一開始小孩的父親不贊同給小孩買那個東西,後來在小孩的再三請求,甚至為此寫了份保...