在 NUC 上安裝 Fuchsia

本指南說明如何在 Intel NUC (下一單元運算) 裝置上安裝 Fuchsia。

步驟如下:

  1. 必要條件
  2. 建構 Fuchsia
  3. 準備 USB 隨身碟
  4. 在 NUC 啟用 EFI 啟動功能
  5. 在 NUC 上安裝 Fuchsia
  6. (選用) 將 Fuchsia 安全殼層金鑰上傳至 NUC

必要條件

開始在 NUC 裝置上安裝 Fuchsia 前,請確認已完成以下工作:

設定 Fuchsia 開發環境

如要在工作站上設定 Fuchsia 開發環境,請完成「開始使用 Fuchsia」指南。

取得零件

本指南必填:

  • NUC 裝置 (參閱型號範例)
  • USB 3.0 隨身碟
  • 鍵盤
  • 滑鼠 (選填)
  • 具備 HDMI 連接埠的顯示器
  • HDMI 傳輸線
  • 乙太網路線
  • 十字型螺絲起子 (含磁性尖端)

打造 Fuchsia

如要在 NUC 裝置上安裝 Fuchsia,您必須建構 x64 映像檔,並在工作站上產生建構構件 (包括 Fuchsia 安裝程式)。

如要建構 Fuchsia 以進行 NUC 安裝,請按照下列步驟操作:

  1. 將建構設定設為 x64 目標,並加入 recovery-installer 套件。

    fx set core.x64 --with //build/images/recovery:recovery-installer
    
  2. 建立 Fuchsia:

    fx build
    

    建立 Fuchsia 最多可能需要 90 分鐘。

準備 USB 隨身碟

您必須準備可執行 Fuchsia 安裝程式的可開機 USB 隨身碟。稍後在「在 NUC 中安裝 Fuchsia」一節中,您將使用此 USB 隨身碟將 NUC 啟動至 Fuchsia 安裝程式。

如要準備可開機的 USB 隨身碟,請按照下列步驟操作:

  1. 將 USB 隨身碟插入工作站

  2. 找出 USB 隨身碟的路徑:

    fx list-usb-disks
    

    這個指令會輸出類似以下的輸出內容:

    $ fx list-usb-disks
    /dev/sda - My Example USB Disk
    
  3. 建立可開機的 USB 隨身碟:

    fx mkinstaller -v PATH_TO_USB_DRIVE
    

    PATH_TO_USB_DRIVE 替換為上述步驟的 USB 隨身碟路徑。

    以下範例指令會選取 /dev/sda 路徑:

    $ fx mkinstaller -v /dev/sda
    

    完成後,指令會輸出類似以下內容的輸出內容:

    $ fx mkinstaller -v /dev/sda
    mkinstaller: WARNING: Changing ownership of /dev/sda to alice
    [sudo] password for alice:
    ...
    mkinstaller: INFO:    Writing image fvm.sparse.blk to partition storage-sparse...
    mkinstaller: INFO:      Wrote 835.6M in 35.55s, 23.5M/s
    mkinstaller: INFO: Done.
    mkinstaller: INFO: Ejected USB disk
    
  4. 將 USB 隨身碟從工作站拔除。

在 NUC 啟用 EFI 啟動功能

更新 NUC 的 BIOS 設定,以便系統從 USB 隨身碟啟動。

NUC 裝置提供兩種版本的 BIOS:Visual BIOS (例如 NUC7) 和 Aptio V BIOS (例如 NUC11)。這些步驟會根據系統中包含的 BIOS 而略有不同。

視覺化 BIOS

視覺化 BIOS

圖 1. Visual BIOS 的螢幕截圖

如要在 NUC 啟用 EFI (可擴充韌體介面) 啟動功能,請按照下列步驟操作:

  1. 重新啟動 NUC。
  2. 如要進入 BIOS 設定,請在啟動時按下 F2
  3. 按一下頂端的「進階」按鈕。
  4. 按一下「Boot」分頁標籤。
  5. 按一下「Boot Priority」分頁標籤,並確認下列設定:

    • 已勾選 UEFI Boot
    • 取消勾選「Legacy Boot」

    Visual BIOS「Boot Priority」分頁

  6. 按一下「Boot Configuration」分頁標籤,然後確認下列設定:

    • 在「UEFI Boot」視窗中:

      • 已勾選「先啟動 USB 裝置」
      • 已勾選「Boot Network Devices Last」
      • 已勾選「Unlimited Network Boot 嘗試」
    • 在「Boot Devices」視窗中:

      • 已勾選 USB
      • 網路啟動已設為 UEFI PXE & iSCSI

    視覺化 BIOS 啟動設定

  7. 按一下「安全啟動」分頁標籤,並確認下列設定:

    • 取消勾選「安全啟動」

    視覺化 BIOS 安全啟動

  8. 如要儲存並退出 BIOS,請按下 F10,然後按一下「Yes」

Aptio V BIOS

Aptio V BIOS

圖 2:Aptio V BIOS 的螢幕截圖

如要在 NUC 啟用 EFI (可擴充韌體介面) 啟動功能,請按照下列步驟操作:

  1. 重新啟動 NUC。
  2. 如要進入 BIOS 設定,請在啟動時按下 F2
  3. 按一下「Boot」分頁標籤。
  4. 按一下「安全啟動」並確認下列設定:

    • 安全啟動已設為 Disabled

    Aptio V BIOS 安全啟動

  5. 如要返回,請按一下左側的「<」按鈕。

  6. 按一下「Boot Priority」並確認下列設定:

    • 已勾選 UEFI Boot
    • 取消勾選「Legacy Boot」

    • 已勾選「先啟動 USB 裝置」

    • 已勾選「Boot Network Devices Last」

    • 已勾選「Unlimited Boot to Network 嘗試」

    • 已勾選 USB

    • 網路啟動已設為 UEFI PXE & iSCSI

    Aptio V BIOS 啟動優先順序

  7. 如要儲存並退出 BIOS,請按下 F10 鍵,然後按一下「OK」

在 NUC 安裝 Fuchsia

使用可開機的 USB 隨身碟,將 NUC 啟動到 Fuchsia 安裝程式中。接著,它會將 x64 映像檔 (在「Build Fuchsia」一節中建構) 安裝到 NUC。

如要在 NUC 上安裝 Fuchsia,請按照下列步驟操作:

  1. 將可開機的 USB 隨身碟插入 NUC。

  2. 重新啟動 NUC。

    NUC 啟動後會進入 Fuchsia 安裝程式 (背景為粉紅色)。

  3. 按下 Enter 鍵即可選取 Install from USB 選項。

  4. 在其他提示中按下 Enter 鍵即可繼續。

  5. 安裝完成後,拔除 NUC 裝置的 USB 隨身碟。

  6. 重新啟動 NUC 裝置。

    NUC 現已啟動到富奇西亞。

(選用) 將 Fuchsia 安全殼層金鑰上傳至 NUC

如果您要使用 FUC 裝置進行 Fuchsia 開發,就必須從主機機器將 Fuchsia 映像檔刷新至 NUC 裝置,以便將 Fuchsia 專用 SSH 金鑰上傳至 NUC。將這些 Fuchsia 專用安全殼層金鑰上傳至 NUC 後,您可以從主機機器在 NUC 執行ffx 為基礎的工作流程

如要將 Fuchsia SSH 金鑰上傳至 NUC,請按照下列步驟操作:

  1. 完成「附錄」中「將新的 Fuchsia 映像檔刷新到 NUC」一節所述的步驟。

  2. 如要確認您是否可以從主機機器連線至 NUC,請執行下列指令:

    ffx target show
    

    這個指令會輸出類似以下的輸出內容:

    $ ffx target show
    Target:
        Name: "fuchsia-54b2-0389-644b"
        SSH Address: "fe81::55b1:2ff2:fe34:567b%en10:22"
    Board:
        Name: "default-board"
        Revision: "1"
        Instruction set: "x64"
    ...
    

附錄

支援的 NUC 模型

如需 GPU 支援,請取得 NUC7 (Kaby Lake) 或 NUC8 (Coffee Lake) 或較新版本。

以下列出部分模型範例:

將新的 Fuchsia 圖像刷新至 NUC

NUC 執行 Fuchsia 後,您可以使用 Fuchsia 的閃爍機制,將新的 Fuchsia 映像檔提供給 NUC。

如要將 Fuchsia 映像檔刷新至 NUC,請按照下列步驟操作:

  1. 使用乙太網路線將 NUC 直接連接至工作站。

    (您也可將 NUC 連線到與工作站位於相同區域網路的路由器或 Wi-Fi 數據機)。

  2. 重新啟動 NUC。

  3. 在 Fuchsia 的啟動畫面上,按下 f 鍵選取 fastboot 選項。

    NUC 進入快速系統啟動模式後,會在螢幕上顯示 Fastboot TCP is ready

  4. 在工作站上,以快速系統啟動模式查看 NUC:

    ffx target list
    

    這個指令會輸出類似以下的輸出內容:

    $ ffx target list
    NAME                      SERIAL       TYPE       STATE       ADDRS/IP                           RCS
    fuchsia-54b2-0389-644b    <unknown>    Unknown    Fastboot    [fe81::55b1:2ff2:fe34:567b%en10]    N
    

    確認裝置的狀態為 Fastboot

  5. 將新的 Fuchsia 映像檔刷新至 NUC:

    fx flash
    

    如果您之前有多部裝置連線到主機機器,則可能需要明確指定 NUC 裝置的名稱,例如:

    fx flash -s fuchsia-54b2-0389-644b
    

    完成後,NUC 會重新啟動並開始執行新的 Fuchsia 映像檔。

遠端管理 NUC 裝置

如要啟用 KVM 等遠端管理,您必須設定 Intel AMT (主動管理技術)。

首先,在 NUC 上設定 Intel ME:

  1. 重新啟動 NUC。
  2. 在啟動畫面中按下 Ctrl+P,即可進入 Intel ME 設定。
  3. 選取「MEBx 登入」
  4. 設定新密碼,預設密碼為 admin

  5. 設定網路:

    1. 選取「Intel(R) AMT Configuration」
    2. 取消設定現有的聯播網設定:

      1. 選取「Unconfigure Network Access」
      2. 選取「完整取消佈建」
      3. 按下 Y 即可確認。
    3. 依序選取「網路設定」 >「TCP/IP 設定」 >「Wired LAN IPV4 設定」

    4. 將「DHCP 模式」設為「已停用」

    5. 將「IPV4 Address」(IPV4 位址) 設為可透過 EdgeRouter 從主體機器連上的位址。

      在主體機器上執行 ifconfig,然後找出與 EdgeRouter 對應的項目,例如:

      $ ifconfig
      enx00e04c0c13ba: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 192.168.42.86  netmask 255.255.255.0  broadcast 192.168.42.255
              ...
      

      在這種情況下,您可以嘗試使用 192.168.42.20 這個地址

    6. 將「子網路遮罩位址」設為主機機器與 EdgeRouter 連線的網路遮罩,例如 255.255.255.0

    7. 按下 Esc 鍵,直到返回「Intel(R) AMT Configuration」為止。

    8. 選取「啟用網路存取」,然後按 Y 進行確認。

    9. 結束 Intel ME 設定並儲存變更。

現在,請在主體機器上設定 amtctrl 指令列公用程式:

下列操作說明假設您已設定一些環境變數:

  • AMT_HOST:您在 Intel ME 設定中設定的 IPv4 位址。
  • AMT_PASSWORD:您為 Intel ME 選擇的密碼。
  • VNC_PASSWORD:透過 VNC 存取 NUC 的密碼。
  1. 複製 amtctrl 存放區:

    git clone https://github.com/sdague/amt
    
  2. 安裝 amtctrl

    cd amt && sudo ./setup.py install
    
  3. 設定 NUC IP 位址和密碼:

    amtctrl set -V $VNC_PASSWORD nuc $AMT_HOST $AMT_PASSWORD
    
  4. 啟用 VNC:

    amtctrl nuc vnc
    

現在您可以連線至 AMT_HOST 中設定的 IP 位址,以使用任何 VNC 用戶端從主機機器存取 NUC。在系統提示時輸入 VNC_PASSWORD 中設定的密碼。

你也可以使用下列終端機指令來開啟、關閉或重新啟動 NUC:

  • 如要啟用 NUC:

    amtctrl nuc on
    
  • 如何關閉 NUC:

    amtctrl nuc off
    
  • 如何重新啟動 NUC:

    amtctrl nuc reboot