本指南提供下載 Fuchsia 原始碼,以及在電腦上設定 Fuchsia 開發環境的操作說明。
步驟如下:
1. 安裝必要套件
Fuchsia 需要 curl
、file
、unzip
和 git
為最新版本。git
版本必須為 2.31 以上。
安裝 (或更新) 下列套件:
sudo apt install curl file git unzip
2. 執行預檢
Fuchsia 提供預先檢查工具 (ffx platform preflight
),可檢查您的機器,並通知您任何可能影響從機器來源建構 Fuchsia 的問題。
執行下列指令:
curl -sO https://storage.googleapis.com/fuchsia-ffx/ffx-linux-x64 && chmod +x ffx-linux-x64 && ./ffx-linux-x64 platform preflight
3. 下載 Fuchsia 原始碼
Fuchsia 提供引導程式碼,可建立名為 fuchsia
的資料夾,並在該資料夾中下載 Fuchsia 原始碼。
下載 Fuchsia 原始碼需要約 2 GB 的空間。視建構設定而定,日後建構 Fuchsia 時,您需要另外使用 80 到 90 GB 的空間。此外,下載程序會使用大量記憶體。在此期間,系統會關閉不重要程序。
如要下載 Fuchsia 來源,請按照下列步驟操作:
選取要下載 Fuchsia 原始碼的目錄,例如:
cd $HOME
執行引導指令碼:
curl -s "https://fuchsia.googlesource.com/fuchsia/+/HEAD/scripts/bootstrap?format=TEXT" | base64 --decode | bash
這個指令碼會建立
fuchsia
目錄並下載原始碼。如果在引導程序期間看到
Invalid authentication credentials
錯誤,請參閱「驗證錯誤」一節。如果網際網路連線速度較慢,且發生逾時情形,建議您直接下載 Bootstrap 指令碼,並提高
-fetch-packages-timeout
和-hook-timeout
的值。這些逾時時間以分鐘為單位,表示套件下載作業的逾時時間為 2 小時。(下載 CIPD 套件時,-hook-timeout
值會乘以 5)。
4. 設定環境變數
Fuchsia 建議您更新殼層設定檔,納入下列動作:
將
.jiri_root/bin
目錄新增至PATH
。Fuchsia 來源中的
.jiri_root/bin
目錄包含jiri
和fx
工具,這些工具對 Fuchsia 工作流程至關重要。Fuchsia 會使用jiri
工具管理 Fuchsia 專案中的存放區,而fx
工具則可協助設定、建構、執行及偵錯 Fuchsia。Fuchsia 工具鏈要求jiri
必須在PATH
中提供。來源
scripts/fx-env.sh
檔案。雖然這不是必要做法,但來源
fx-env.sh
指令碼可在終端機中啟用許多實用的 shell 函式。舉例來說,它會建立FUCHSIA_DIR
環境變數,並提供fd
指令,讓您透過自動完成功能瀏覽目錄。(詳情請參閱fx-env.sh
中的註解)。
如要更新殼層設定檔以設定 Fuchsia 的環境變數,請執行下列操作:
使用文字編輯器開啟
~/.bash_profile
檔案 (在以下範例中,我們使用 Nano 文字編輯器):nano ~/.bash_profile
在
~/.bash_profile
檔案中新增下列程式碼行:export PATH=~/fuchsia/.jiri_root/bin:$PATH source ~/fuchsia/scripts/fx-env.sh
儲存檔案並結束文字編輯器。
如要更新環境變數,請執行下列指令:
source ~/.bash_profile
驗證環境設定:
前往
fuchsia
目錄,例如:cd ~/fuchsia
請確認您可以執行下列指令而不會發生錯誤:
jiri help
fx help
5. 設定防火牆規則 (選用)
執行下列指令,允許主機機器上的 Fuchsia 特定流量:
fx setup-ufw
這個指令碼需要 sudo
(會要求您輸入密碼) 才能設定適當的防火牆規則。(如要進一步瞭解這個指令碼,請參閱 setup-ufw
)。
後續步驟
如要建構第一個 Fuchsia 系統映像檔,請參閱「設定及建構 Fuchsia」。
附錄
驗證錯誤
如果您在引導程序期間看到 Invalid authentication credentials
錯誤,~/.gitcookies
檔案可能含有 googlesource.com
中某些存放區的 Cookie,而引導程序指令碼想要匿名檢查這些 Cookie。
如要解決這個錯誤,請按照下列其中一種做法進行:
- 按照畫面上的指示取得指定存放區的密碼。
- 從
.gitcookies
檔案中刪除有問題的 Cookie。
在不更新路徑的情況下使用 Fuchsia
以下各節提供「設定環境變數」一節的替代方法:
將工具複製到二進位檔目錄
如果您不想更新環境變數,但希望 jiri
可在任何目錄中運作,請將 jiri
工具複製到 ~/bin
目錄,例如:
cp ~/fuchsia/.jiri_root/bin/jiri ~/bin
不過,您必須具備 ~/bin
目錄的寫入存取權,但不含 sudo
。如果您沒有這樣做,jiri
就無法保持最新狀態。
在二進位檔目錄中新增符號連結
同樣地,如果您想在不更新環境變數的情況下使用 fx
工具,請在 ~/bin
目錄中提供 fx
工具的符號連結,例如:
ln -s ~/fuchsia/scripts/fx ~/bin
或者,您也可以直接使用路徑執行 fx
工具,例如:
./scripts/fx help
無論是哪種情況,您都需要在 PATH
中使用 jiri
。