簡體   English   中英

“fastboot啟動怎么樣? <kernel> “內部工作?

[英]How does “fastboot boot <kernel>” works internally?

Fastboot具有以下便利功能 (如果啟動自定義圖像失敗,設備下次會神奇地啟動默認圖像,一切都會好起來的):

使用主機端內核映像啟動

此命令允許您下載內核映像(和可選的根文件系統映像)並使用這些映像啟動電話,而不是使用啟動閃存分區中的內核和rootfs。 在開發內核或修改rootfs時非常有用。

fastboot boot <kernel> [<ramdisk>]

有誰知道它內部是如何工作的? 是否將內核復制到特殊的啟動分區 在重新啟動設備之前 更新:正如答案所指出的那樣,沒有重啟,因為fastboot是啟動過程中的一個步驟,這基本上使我的問題毫無意義。 )我正在查看fastboot的源代碼,但它似乎只包含發生的事情在主機端,而不是在設備上。

我的意思是,閃存功能的工作原理非常簡單,我可以通過將帶有自定義內核的啟動映像復制到boot分區來模仿它,例如,通過:

dd if='<my_boot.img>' of='/dev/block/platform/msm_sdcc.1/by-name/boot'

順便說一句:因為我正在開發的應用程序,我問這個問題; 我想“冒險”直接設備啟動定制內核,然后將其存儲在SD卡上。

在重新啟動設備之前,是否將內核復制到特殊啟動分區?

不,任何分區都沒有修改。
引導內核意味着從存儲設備加載(即讀入內存)內核映像。 此fastboot類似於netboot,例如,使用TFTP通過以太網鏈路從服務器/主機加載內核映像。 如果唯一的目的是使用內核映像引導系統,那么根本沒有理由將內核映像寫入分區,尤其是在沒有明確指定的情況下。

此操作的可選根文件系統明確指定為ramdisk映像,它也不需要寫入或存儲在分區中。

有誰知道它內部是如何工作的?

fastboot程序是在重新啟動設備后執行的備用引導加載程序。
內核從主機通過USB加載到內存中。 可選的rootfs(ramdisk或者initramfs映像)也可以通過USB從主機加載到內存中。 一旦加載,就可以開始普通的內核啟動。

順便說一句:因為我正在開發的應用程序,我問這個問題; 我想“冒險”直接從設備啟動定制內核,然后將其存儲在SD卡上

您可能必須使用除此fastboot之外的其他引導加載程序/方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM