使用裝置

本程式碼研究室系列著重於 Fuchsia 模擬器 (FEMU) 做為目標裝置,這是以原始碼樹狀結構建構及發布,並在開發機器上執行。不過,您也可以為支援的硬體平台 (例如 Intel NUC) 建構 Fuchsia。

本節將說明在實體裝置上使用 Fuchsia 的一些具體細節。

設定

Fuchsia 會根據設定版本時使用的「主機板名稱」定義硬體裝置的支援。包括任何硬體專屬套件,例如驅動程式。回顧先前使用的 fx set 指令:

fx set workbench_eng.x64

在這個範例中,x64 是可以在 FEMU 和 Intel NUC 執行的主面板名稱。如要為 Khadas VIM3 建構相同的產品,您可以修改 set 指令,使用 vim3 面板。

fx set workbench_eng.vim3

現在執行 fx build 會為目標裝置產生映像檔。

啟動

刷新作業系統之前,支援的裝置必須安裝與 Fauchsia 相容的系統啟動載入程式。這項程序稱為「啟動」裝置。許多裝置已透過工廠安裝相容的系統啟動載入程式,其他裝置可能需要製造商專用工具,將系統啟動載入程式更新為相容版本。 如需關於特定裝置的詳細資訊,請參閱裝置說明文件

閃光燈

將作業系統載入裝置的程序稱為「刷新」。將處於系統啟動載入程式模式的裝置連線至 Workbench 後,即可使用 flash 指令將 Fuchsia 刷新至裝置上。

fx flash

如果裝置已經刷新,可以從 Fuchsia 重新啟動裝置,並進入系統啟動載入程式模式,必要時需要使用 ffx 再次刷新:

ffx target reboot --bootloader

例如

您可以透過透過 USB 或本機 IPv6 網路連線的開發機器,探索 Fuchsia 裝置並進行互動。Fuchsia 可透過多點傳送 DNS (mDNS) 和 Overnet 網格通訊協定,使用 DNS 服務探索 (DNS-SD) 自動探索裝置。

主機工具 (例如 ffx) 會偵測廣告裝置,並啟用主機目標與實體裝置和 FEMU 的互動。

ffx target list
NAME                      SERIAL       TYPE    STATE      ADDRS/IP                            RCS
fuchsia-5254-0063-5e7a    <unknown>    .       Product    [fe80::c357:53e7:aedf:ed95%qemu]    Y

如果目標裝置未通告探索封包,或是 ffx 無法偵測,您可以使用 addremove 指令手動管理這些目標:

ffx target add device-ip:device-port
ffx target remove device-ip:device-port

在目標清單中追蹤裝置後,ffx 會與目標上的移除控制服務 (RCS) 互動,以便您傳送其他指令。

這張圖表顯示「ffx」是一種開發人員工具,用來與 Fuchsia 裝置上的遠端控制服務 (RCS) 通訊。

後續步驟

恭喜!您已成功從來源自訂和建構 Fuchsia,且對於主要系統元件在原始碼樹狀結構中的位置有進一步的瞭解。

在下一個單元中,您將進一步瞭解如何建構 Fuchsia 的軟體基本單元:

Fuchsia 元件