首頁  >  文章  >  系統教程  >  Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

WBOY
WBOY轉載
2024-02-10 22:12:14767瀏覽

如果你是嵌入式開發者,你可能會遇到這樣的問題:如何為你的硬體平台創建一個適合的Linux系統?如何客製化Linux系統的功能和外觀?如何確保Linux系統的安全與穩定?這些問題都可以透過使用Yocto專案來解決。 Yocto專案是一個開源的協作項目,它可以幫助你創建自訂的Linux系統,無論你的硬體架構是什麼。 Yocto專案提供了一套靈活的工具和資源,讓你可以從零開始建立自己的Linux發行版,或是基於現有的Linux發行版進行修改和最佳化。本文將為你介紹如何使用Yocto在Ubuntu上創建一個最小化的Linux發行版,以及Yocto的基本概念和工作流程。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

開發機的基本條件

最少 4-6 GB 記憶體

最新版的 Ubuntu 系統(本文使用了 16.04 LTS)

磁碟剩餘空間至少 60-80 GB

在建立 Linux 發行版之前先安裝下面的軟體套件

下載最新的 Yocto(Poky 是其最小開發環境)穩定分支

apt-get update
apt-get install wget git-core unzip make gcc g++ build-

essential subversion sed autoconf automake texi2html texinfo coreutils diffstat python-

pysqlite2 docbook-utils libsdl1.2-dev libxml-parser-perl libgl1-mesa-dev libglu1-mesa-

dev xsltproc desktop-file-utils chrpath groff libtool xterm gawk fop
Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

如下圖所示,開發環境要安裝的軟體套件將近 1GB 大小。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

在這個教學中,系統上克隆的是 poky 的 morty穩定分支。

git clone -b morty git://git.yoctoproject.org/poky.git
Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

進入 poky目錄,然後執行下面的命令為 Yocto 開發環境設定(設定/匯出)一些環境變數。

source oe-init-build-env

如下所示,在執行了 open embedded (oe) 的建置環境腳本之後,終端機裡的路徑會自動切換到 build 目錄,以便進行之後行發行版的設定和建置。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

上面的截圖展示了在 conf目錄下建立的檔案 local.conf。這是 Yocto 用來設定目標機器細節和 SDK 的目標架構的設定檔。

如下圖所示,這裡設定的目標機器是 qemux86-64。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

如下面截圖所示,在 local.conf中取消下面參數的註解符號。

DL_DIR ?= "${TOPDIR}/downloads"
Yocto入門教學:在Ubuntu上打造你的客製化Linux系統
SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
Yocto入門教學:在Ubuntu上打造你的客製化Linux系統
TMPDIR ?= "${TOPDIR}/tmp"
Yocto入門教學:在Ubuntu上打造你的客製化Linux系統
PACKAGE_CLASSES ?= "package_rpm"
SDKMACHINE ?= "i686"
Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

如下所示,在 local.conf中為基於 Yocto 的 Linux 設定空密碼和後續的一些參數。否則的話用戶就不能登入新的發行版。

EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

我們並沒有準備好使用任何圖形化工具來建立 Linux OS,例如 toaster (hob 已經不再支援了)。

Yocto 編譯建置過程

#現在執行下面的 bitbake工具指令開始為選定的目標機器下載和編譯軟體包。

bitbake core-image-minimal
Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

非常重要的是要在普通 Linux 使用者下執行上面的命令,而不是使用 root 使用者。如下面截圖所示,當你在 root 使用者下執行 bitbake 指令會產生下面所示的錯誤。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

再一次執行匯出環境變數的腳本(oe-init-build-env),重新執行相同的指令來啟動下載和編譯過程。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

如下所示,建置腳本元件的第一步工作是解析配置(recipe)。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

下面的截圖展示了建置腳本的解析過程。同時也顯示了用來建構你的新的基於 yocto 的發行版的建構系統的細節。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

在下載了 SDK 和必要的函式庫之後,下一步工作是下載並編譯軟體包。如下截圖展示了為建立新發行版而執行的任務。這一步驟將會執行 2-3 小時,因為首先要下載需要的軟體包,然後也要為新的 Linux 發行版編譯這些軟體包。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

下面的截圖顯示了任務清單執行完畢。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

為目標機器類型 qemux86-64 編譯好的新映像位於 build/tmp/deploy/images/qemux86-64:

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

如下所示,上面的指令如果運行在 Putty上會產生一個錯誤。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

透過 rdp 在 Ubuntu 平台上再次執行上面的命令。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

為運行新的基於 Yocto 的 Linux 發行版的 qemu 開啟一個新畫面。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

下面展示了新發行版的登入介面,同時也顯示了使用的 yocto 項目的版本號。預設的使用者名稱是 root,密碼為空。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

最後使用 root使用者名稱和空密碼登入新發行版。如下截圖所示,在這個最小版本的 Linux 上執行了基本的指令(data、ifconfig和uname)。

Yocto入門教學:在Ubuntu上打造你的客製化Linux系統

本文的目標是理解使用 Yocto 建立新的 Linux 發行版的過程。

透過本文,你已經了解如何使用Yocto在Ubuntu上建立一個最小化的Linux發行版,以及Yocto的基本概念和工作流程。你可以使用Yocto來為你的嵌入式裝置或其他場景客製一個適合的Linux系統,滿足你的需求和偏好。當然,這只是Yocto專案提供的眾多功能和選項中的一部分,如果你想深入學習Yocto專案和嵌入式Linux開發,還需要不斷地探索和實踐。希望這篇文章能對你的學習和工作有所幫助,也歡迎你分享你自己使用或發現的其他實用的Yocto技巧。

以上是Yocto入門教學:在Ubuntu上打造你的客製化Linux系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除