如何在虛擬機中運行 YOCTO LINUX 作業系統

2021-01-11 CSDN技術社區

 本文將為大家介紹如何創建 Yocto* 的可運行映像,如何在基礎軟體模擬器 QEMU 中測試該映像,以及如何在管理程序(比如 Windows 上的 Microsoft Hyper-V)中運行該映像。

操作本教程的前提條件 Debian/Ubuntu(已經過 Debian 8.2 amd64 的測試) 網際網路連接 磁碟提供至少 100 GB 可用空間構建機器的前期準備工作

以根身份(或通過 "sudo")運行以下命令

1 # 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

注 1:上述命令是否成功運行取決於大家使用的 Ubuntu/Debian 版本。 最後,如欲解決程序包的依賴關係,可以運行 "aptitude",強行安裝正確版本的程序包(比如,"aptitude install libsdl1.2-dev")。

注 2:對於其他 Linux-distribution 來說,比如 RadHat、CentOS、Fedora、SuSe、Gentoo 等......建議通過正確的 package-manager(例如 zypper、yum 等)檢查上述程序包的相應版本。

第一步: 設置工作文件夾

以沒有特權的普通用戶(沒有根身份)

5 # tar xvjf poky-jethro-14.0.0.tar.bz2

6 # cd poky-jethro-14.0.0/

注 3:可以點擊以下連結 https://www.yoctoproject.org/downloads,選擇 Yocto 版本的其他開發分支。 本教程將使用當前最新版本 "Jocto Poky 2.0.14.0.0 codename Jethro"。

注 4:如欲獲取最新版 Yocto 資源,可以獲得主開發分支,需要將 wget 操作替換為以下內容:

注 5: 還可以通過代號選擇特定的開發分支。 例如:

第二步: 設置系統 shell 的環境變量

Yocto 開發人員提供了一個非常易用的腳本。

1 # . ./oe-init-build-env

腳本運行後,如果正常,您的位置將變成一個構建子目錄,它將成為您的新工作區。 類似於 /home/<your user>/yocto-2.0/poky-jethro-14.0.0/build/。

第三步: 設置 bitbake

執行之前的腳本,會創建一個 conf/local.conf 文件。

該配置文件需要設置 Yocto 的構建引擎 bitbake(Yocto 項目的核心組件)。

採用首選文本編輯器編輯 bitbake 配置文件。 本教程將使用 nano — 面向類似 Unix 的環境的簡單命令-行-界面文本編輯器,如下所示:

取消下列行的注釋

1 DL_DIR ?= "${TOPDIR}/downloads"

2 SSTATE_DIR ?= "${TOPDIR}/sstate-cache"

3 TMPDIR ?= "${TOPDIR}/tmp"

建議為該映像構建所有其他的可用特性。 最終的映像將特別大(每個大約 8GB),但絕對完整,可滿足所有開發需求。

1 EXTRA_IMAGE_FEATURES = "dbg-pkgs dev-pkgs ptest-pkgs tools-sdk tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks"

現在,通過 CTRL+X 鍵組合保存對文件 local.conf 作出的所有更改。

然後:

現在,Hob 實例(面向 BitBake、基於 GTK2 的圖形用戶界面)將啟動,檢查構建系統的準確程度。

現在在下拉菜單中選擇 qemux86 機器。

等 Hob 完成 BitBake 方案解析並生成依賴關係樹。 然後選擇目標映像,以從上述菜單的 "select an image recipe" 開始構建。 在本示例中,我們選擇不包含 GUI 的完整核心映像: core-image-full-cmdline。

現在點擊 "Advanced Configuration"。

如欲構建最新的穩定版,在 "Image types" 面板中保留 "Distro" 菜單中的 poky。 然後在 "Image types" 欄位中選擇所需的格式:通常我選擇 ".iso"、".vdi" 和 ".vmdk",它們最好用。

請在 "Output" 面板中選擇能夠滿足要求的最佳選項。 建議為映像增加 4GB 可用存儲,以放置面向 i686 架構的 SDK(如果您使用 Edison 開發板)。 另外,我認為將 "deb" 設置為面向根文件系統的打包格式非常有用。 因此,如下所示:

好的,保存。 現在,您已準備好構建映像! 點擊 "Build image" 按鈕!

Hob 將啟動 bitbake core-image-full-cmdline 示例,以及您鍾愛的設置。

注 7:這一流程將花費很長時間構建最終映像。 不過,根據您主機功能的不同,可以更改用於在 "BitBake parallel threads" 和 "Make parallel threads" 上執行構建操作的處理器內核的數量。 可從 Hob settings 窗口更改這些變量:

注 8:您可以藉助 Hob 確定將要構建的映像包含哪些包。 為此,可以在開始構建映像之前選擇 "Edit image recipe"。

查看全文

相關焦點

  • linux下安裝虛擬機,完美在linux系統下運行通達信軟體
    現在越來越多的人使用linux系統,現在很多的國產作業系統都是基於linux內核上的。雖說不少的軟體都可以運行在linux的系統上。但是對於股票軟體來說在linux上的使用是一個硬傷。能夠運行在linux下的國內股票軟體少之又少。
  • 手機也能裝虛擬機?實測虛擬機APP坑爹or真有料
    [PConline應用]提起在電腦裡的虛擬機,相信許多看官都有接觸過,通過虛擬機我們可以在作業系統中虛擬出另一個作業系統,從而實現各種操作。那麼,在手機裡的虛擬機你有用過沒(它可不是在電腦裡虛擬安卓系統哦,而是在手機裡虛擬另一個安卓系統)?接下來就跟小編來試一下手機裡的虛擬機「VMOS(虛擬大師)」吧。
  • yocto
    yocto 文章
  • 「linux專欄」嘔心瀝血兩天,就為linux中安裝拼音輸入法
    說句實話,在純linux的作業系統中,是真的與虛擬機中不同的,就拿輸入法來說,就真真地把小編折騰了兩天之久。但終究是功夫不負有心人,總算是解決了這個問題。今天呢,小編就跟大家一起分享一下經驗。之前呢,小編也百度過,都說直接下載linux版本的搜狗輸入法之後,直接點擊sougoupinyin.deb的安裝文件就能直接安裝。但是,事實卻很扎心,小編的REHL8作業系統系統並不支持這樣的操作,點擊之後反而是打開了安裝包,並沒有進入安裝程序。
  • 如何在MIPS平臺上使用Yocto設備定製的嵌入式系統Linux
    如何在MIPS平臺上使用Yocto設備定製的嵌入式系統Linux 佚名 發表於 2017-05-09 15:41:03 Wi - Fi路由器、數位相機和電視有一些共同點,而這些共同點無形中帶來了一些優勢。
  • 虛擬機的簡單介紹
    很多人都聽說過虛擬機,但是對虛擬機卻不甚了解,今天給大家介紹一下什麼是虛擬機。虛擬機是一種比較複雜的虛擬工具,它是支持多作業系統並行運行在單個物理伺服器上的一種系統,能夠提供更加有效的底層硬體使用。在虛擬機中,中央處理器晶片從系統其他部分劃分出一段存儲區域,作業系統和應用程式運行在「保護模式」壞境下。如果在某虛擬機中出現程序凍結,並不會影響運行在虛擬機外的程序操作和作業系統的正常工作。
  • Yocto 3.0 (zeus) 發布 —— 支持多架構的Linux系統構建工具
    詳情請見:https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.htmlYocto是Linux系統構建工具。相比於buildroot和openwrt,yocto的優勢在於以下三點。1. 可擴展性好。
  • 為什麼 YOCTO 項目不叫「LINUX」
    靈機一動,我們想到了 "yocto" 這個詞,它是計量體系的最小測量單位。 (試 想一下,一個質子的重量是 1.6 么(科託)克,非常微小。) 很好! 這個名字非常好記,不僅眾所周知,而且國際通用。唯一的問題是,"yocto" 之後應該接哪一個詞?最初我們想到的全名是 "Yocto Linux",但 Linux Foundation 的朋友讓我們再 好好想想。 (但前不久我將這個名字印在了一大堆 T 恤上面)。 畢竟,我們不是要像這個名字一樣創建一個全新的 Linux 分 發版。 我們要開發的是一種通用分發版創建系統。
  • 在虛擬機中安裝安卓系統,實現在電腦上玩手機,爽歪歪
    一、需要的工具vmware workstation虛擬機kali-linux-2016.2-amd64.iso,如圖2、下載(android-x86-7.1-rc2.iso:,並放在一個明確的文件夾中。
  • 何為可深度定製的Yocto系統?
    談到Meego和Yocto的定位問題,馮曉焰表示Meego作為作業系統,它面向的是一種智能終端設備的作業系統,比如手機、平板電腦、網絡本、網際網路電視等等這些。那麼這些智能終端首先要強調的是說,用戶可以從網上自由下載軟體安裝使用,決定上面運行的軟體不僅僅是說OEM廠商定製的軟體,還要包括第三方軟體開發商為作業系統開發的軟體,如果要能夠保證第三方在上面運行穩健,最主要的要素,一個應用程式,要在一家設備上面運行,在另外一家Tizen運行,應用軟體要有中間件支持等等,要保證下面相兼容,如果看到市面的手機,比如安卓的手機,各家手機的界面完全不一樣,但是內核是一樣的
  • 國產linux發行版本——deepin作業系統安裝方法
    大家好,歡迎回到萬魔寺,前兩期,和大家一起學習了ubuntu系統的安裝,今天我們一起來學習一下國產linux作業系統deepin的安裝方法。deepin系統是由武漢深之度科技有限公司開發,在網絡上口碑比較好的一款linux國產發行版。
  • 虛擬機軟體哪個好?目前網絡上虛擬機軟體人氣極高的都有哪些?
    首先就來介紹全球第一人氣VMware Workstation著名的虛擬機軟體。不需要分區或重開機就能在同一臺PC上使用兩種以上的作業系統。VMware Workstation的中文名字叫「威睿工作站」,提供用戶可在單一的桌面上同時運行不同的作業系統,和進行開發、測試 、部署新的應用程式的最佳解決方案。VMware Workstation可在一部實體機器上模擬完整的網絡環境,以及可便於攜帶的虛擬機器,其更好的靈活性與先進的技術勝過了市面上其他的虛擬計算機軟體。
  • Linux系統的Linux應該怎麼讀?正確讀法在這裡,很多人都讀錯了!
    「Li」中「i」的發音類似於「Minix」中「i」的發音,而「nux」中「u」的發音類似於英文單詞「profess」中「o」的發音。2、依照國際音標應該是/'linэks/——類似於「裡訥克斯」。但是,由於Linus Torvalds本人是芬蘭人,所以他的Linux讀音不是/'linэks/,而是/'liniks/.。
  • Linux下如何掛載新磁碟:mount
    前言在linux系統伺服器上插了一個U盤,結果系統顯示不出來,是什麼原因導致了系統不能識別U盤呢?經過一番搜索,發現新的硬體設備插在linux系統上時,如果不能正常顯示,則需要通過掛載讓U盤顯示出來,這裡就用到了我們今天要介紹的命令:mount。
  • 優麒麟 + CrossOver 適配內測啟動:Linux 上運行 Windows 應用
    優麒麟表示,CrossOver 是由 CodeWeavers 公司開發的一款系統兼容軟體,讓用戶可以在 Linux 系統上運行 Windows 應用,不必購買 Windows 授權,不必重啟系統,不必使用虛擬機。
  • 推薦6款強大的虛擬機軟體 讓你在 Mac 上完美使用 Windows
    Mac虛擬機軟體擁有強大的功能特性,專業技術人員無需重新啟動即可在 Mac 上運行 Windows應用。推薦6款強大的虛擬機軟體 讓你在 Mac 上完美使用 Windows~ 1.VMware Fusion Pro 11 Mac(vm虛擬機軟體)附註冊補丁VMware Fusion Pro 將 Mac上的虛擬化提升到更高的級別,它擁有強大的功能特性,專業技術人員無需重新啟動即可在 Mac 上運行 Windows應用。
  • 網絡工程師和Linux運維工程師有什麼區別?學哪個比較好?
    在工作中,有一天突然遇到了Linux系統,公司mrtg監控的老系統是公司一位老總以前用Linux系統搭的,雖然以前聽說過Linux,但從來沒接觸過,在通過文檔完成工作後,我開始了解Linux系統,當時想著雲計算的基礎也是Linux,學習一下怎麼都不虧。
  • 從RTOS到Linux的應用移植
    引言  在過去幾年中,Linux成功地取代了一些最主要的傳統RTOS(實時作業系統)平臺,成為了各種各樣的嵌入式設備和應用中首選的嵌入式作業系統
  • 2.14 使用vSphere Client在ESXi主機上創建虛擬機詳解
    如果你的虛擬機將來可能遷移運行在更低版本的VMware ESX/ESXi中,可以選擇適合於規劃環境的低虛擬機版本,如下圖所示。選擇虛擬機版本第6步:選擇客戶機作業系統,在此我們選擇「Mircrosoft Windows Server 2012 (64位)」系統,如下圖所示。
  • 你知道虛擬機數據存儲的原理嗎?
    虛擬機技術是虛擬化技術的一種,所謂虛擬化技術就是將事物從一種形式轉變成另一種形式,最常用的虛擬化技術有作業系統中內存的虛擬化,實際運行時用戶需要的內存空間可能遠遠大於物理機器的內存大小,利用內存的虛擬化技術,用戶可以將一部分硬碟虛擬化為內存,而這對用戶是透明的。