電子工程網(wǎng)
標題:
【嵌入式開(kāi)發(fā)教程1】瘋殼·平板電腦-Linux 引導過(guò)程
[打印本頁(yè)]
作者:
Linda-x
時(shí)間:
2022-7-11 18:25
標題:
【嵌入式開(kāi)發(fā)教程1】瘋殼·平板電腦-Linux 引導過(guò)程
Linux 引導過(guò)程
——瘋殼·嵌入式平板開(kāi)發(fā)
Linux 內核與 Android 系統 linux 內核有什么區別?
什么是引導裝載程序?
什么是 Zygote?
什么是 init.rc?
什么是系統服務(wù)?
第一節 Android 啟動(dòng)步驟
1.png
圖1
第二節 引導程序 --- Boot Loader
源代碼目錄:$(dir)\rk3128-source\u-boot
第三節 內核 --- Kernel
Android 內核就是 Linux。內核啟動(dòng)時(shí),設置硬件,掛載文件系統,執行第一個(gè)應用程序init。
第四節 Init 進(jìn)程
init 是第一個(gè)進(jìn)程,可以說(shuō)它是 root 進(jìn)程或者所有進(jìn)程的父進(jìn)程。init 進(jìn)程有兩個(gè)責任, 一是掛載目錄,比如/sys、/dev、/proc,二是運行 init.rc 腳本。對于 init.rc 文件,Android 中有特定的格式以及規則。在 Android 中,我們叫做 Android 初始化語(yǔ)言。
init.rc 位于目錄$(dir)\rk3128-source\device\rockchip\rksdk
Android 初始化語(yǔ)言由四大類(lèi)型的聲明組成,即 Actions(動(dòng)作)、Commands(命令)、Services(服務(wù))、以及 Options(選項)。
Action(動(dòng)作):動(dòng)作是以命令流程命名的,有一個(gè)觸發(fā)器決定動(dòng)作是否發(fā)生。
語(yǔ)法:
on
Service 是 init 加載的和是退出重啟的(可選)程序。Service 具有如下格式:
service
[
]*
...
Options(選項)
選項是對服務(wù)的描述,它們影響 init 進(jìn)程如何以及何時(shí)啟動(dòng)服務(wù)。
來(lái)看看默認的 init.rc 文件。這里只列出了主要的事件以及服務(wù)。
Table
2.png
圖2
在這個(gè)階段你可以在設備的屏幕上看到“android”logo 了。
第五節 Zygote
在 Java 中,不同的虛擬機實(shí)例會(huì )為不同的應用分配不同的內存。但如果 Android 系統為每一個(gè)應用啟動(dòng)不同的 Dalvik 虛擬機實(shí)例,就會(huì )消耗大量的內存以及時(shí)間。因此,為了克服這個(gè)問(wèn)題,Android 系統創(chuàng )造了”Zygote”,Zygote 讓 Dalvik 虛擬機共享代碼、低內存占用以及最小的啟動(dòng)時(shí)間成為可能。
第六節 系統服務(wù)或服務(wù)
完成了上面幾步之后,運行環(huán)境請求 Zygote 運行系統服務(wù)。系統服務(wù)同時(shí)使用 native以及 java 編寫(xiě),系統服務(wù)可以認為是一個(gè)進(jìn)程,系統服務(wù)包含了所有的 System Services。
Zygote 創(chuàng )建新的進(jìn)程去啟動(dòng)系統服務(wù),可以在 ZygoteInit 類(lèi)的”startSystemServer”方法
中找到源代碼。
第七節 引導完成
一旦系統服務(wù)在內存中跑起來(lái)了, Android 就完成了引導過(guò)程。 在這個(gè)時(shí)候“ACTION_BOOT_COMPLETED”開(kāi)機啟動(dòng)廣播就會(huì )發(fā)出去。
第八節 實(shí)驗
init.rc 中增加一條啟動(dòng)參數 setprop fengke.test 100
第九節 實(shí)驗現象
系統啟動(dòng)后用 getprop fengke.test 來(lái)看是否這個(gè)值已經(jīng)寫(xiě)入
3.png
圖3
更多完整學(xué)習資料和對應開(kāi)源套件,請登陸官網(wǎng):“瘋殼
詳情地址:https://fengke.club/GeekMart/views/offline/android
視頻地址:https://fengke.club/GeekMart/su_f5W0Cuz3p.jsp
套件地址:http://shop115904315.taobao.com
文件下載請點(diǎn)擊:
1、Linux引導過(guò)程.pdf
(409.72 KB)
2022-7-11 18:23 上傳
點(diǎn)擊文件名下載附件
下載積分: 積分 -1
歡迎光臨 電子工程網(wǎng) (http://selenalain.com/)
Powered by Discuz! X3.4
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页