2
在init.c
經歷的代碼,並試圖找出兩件事情:android boot - 其中是init。%hardware%.rc在init.c中讀取?服務在哪裏開始?
哪裏硬件初始化特定%的硬件.RC%讀?
哪裏開始的服務 - 這意味着合子, /系統/斌/的ServiceManager等
一個init%的硬件.RC%的例子,將不勝感激。
在init.c
經歷的代碼,並試圖找出兩件事情:android boot - 其中是init。%hardware%.rc在init.c中讀取?服務在哪裏開始?
哪裏硬件初始化特定%的硬件.RC%讀?
哪裏開始的服務 - 這意味着合子, /系統/斌/的ServiceManager等
一個init%的硬件.RC%的例子,將不勝感激。
好了 - 它們都是在init.rc中回答的。
硬件特定init.%hardware%.rc
讀在http://androidxref.com/4.3_r2.1/xref/system/core/rootdir/init.rc#8,我們看到的線
import /init.${ro.hardware}.rc
現在,ro.hardware
從命令行(main,process_kernel_cmdline最後export_kernel_boot_props)讀取。哪裏是命令行,嗯...
服務啓動:在主引導作用是triggered,其中包含lines
class_start core
class_start main
是啓動所有的核心和主要的服務。從Where are the Android system services started?
NB得到了信息:我指的是奇巧 - 因人而異
有時很難跟蹤它的各種可能性在源上可運行的構建告終。我相信最近的Android版本現在有一個帶有-R遞歸標記的'grep',所以我可能會試圖在模擬器上使用它來找出這個特定例子中的這些東西。這對設備來說會比較困難,因爲即使讀取它也會被鎖定很多,但在仿真器上,adb shell將以root身份運行。 –
@ChrisStratton:我主要關注啓動過程的一般演練,而不是在任何特定設備的非常精確的啓動詳細信息中 –