国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用Yocto進行嵌入式Linux開發(fā)2 第一個基于Poky的系統(tǒng)

這篇具有很好參考價值的文章主要介紹了使用Yocto進行嵌入式Linux開發(fā)2 第一個基于Poky的系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

2 第一個基于Poky的系統(tǒng)

2.1 構(gòu)建主機系統(tǒng)

  • Ubuntu:
$ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev xterm python3-subunit mesa-common-dev zstd liblz4-tool

  • Fedora

$ sudo dnf install gawk make wget tar bzip2 gzip python3 unzip perl patch diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath ccache perl-Data-Dumper perl-Text- perl-Thread-Queue perl-bignum socat python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython python3-jinja2 SDL-devel xterm rpcgen mesa-libGL-devel perl-
FindBin perl-File-Compare perl-File-Copy per-locale zstd lz4

2.2 下載Poky 代碼

在我們的開發(fā)主機系統(tǒng)上安裝了所需的軟件包后,我們可以使用 Git 下載當前 LTS 版本的 Poky 源代碼,命令如下:


$ git clone https://git.yoctoproject.org/poky -b kirkstone

下載完成后,poky 目錄中的內(nèi)容如下:

使用Yocto進行嵌入式Linux開發(fā)2 第一個基于Poky的系統(tǒng)

2.3 準備構(gòu)建環(huán)境

在poky目錄中存在oe-init-build-env腳本,用于設(shè)置構(gòu)建環(huán)境。


$ source oe-init-build-env [build-directory]

這里,[build-directory] 是一可選參數(shù),用于指定配置環(huán)境的目錄名稱。如果為空,則默認為 build。

使用Yocto進行嵌入式Linux開發(fā)2 第一個基于Poky的系統(tǒng)

2.4 local.conf

初始化構(gòu)建環(huán)境時,它會創(chuàng)建build/conf/local.conf文件。這個配置文件功能強大,幾乎可以配置構(gòu)建過程的方方面面。我們可以為自定義跨工具鏈設(shè)置目標機器和工具鏈主機架構(gòu),優(yōu)化選項以最大限度地縮短構(gòu)建時間等等。build/conf/local.conf文件內(nèi)的注釋是極好的文檔,也是可能的變量及其默認值的參考。我們可能需要更改默認值的最小變量集如下:

MACHINE ??= "qemux86-64"

通過 MACHINE 變量,我們可以確定要構(gòu)建的目標機器。在撰寫本文時,Poky的參考BSP支持以下機器:

  • beaglebone-yocto

BeagleBone,是 32 位 ARM 的參考平臺

  • genericx86

這是對基于x86的32位機器的通用支持

  • genericx86-64

這是對基于x86的64位機器的通用支持

  • edgerouter

這是 EdgeRouter Lite,是64位MIPS 的參考平臺。

除了這些機器外,OpenEmbedded Core在meta目錄中還提供了對以下快速仿真 (QEMU) 機器的支持:

  • qemuarm: QEMU ARMv7 仿真
  • qemuarmv5:這是 QEMU ARMv5 仿真
  • qemuarm64:這是 QEMU ARMv8 仿真
  • qemumips: 這是 QEMU MIPS 仿真
  • qemumips64: 這是 QEMU MIPS64 仿真
  • qemuppc: 這是 QEMU PowerPC 仿真
  • qemuppc64: 這是 QEMU PowerPC 64 仿真
  • qemux86-64: 這是 QEMU x86-64 仿真
  • qemux86: 這是 QEMU x86 仿真
  • qemuriscv32:這是 QEMU RISC-V 32 仿真
  • qemuriscv64: 這是 QEMU RISC-V 64 仿真

一些供應(yīng)商提供的額外BSP層為其他機器提供支持。使用額外BSP層的過程參見第11章 "探索外部層"。

注意local.conf文件是覆蓋整個Yocto項目工具中若干全局默認配置的便捷方法。基本上,我們可以更改或設(shè)置任何變量,例如在映像文件中添加額外的軟件包。更改 build/conf/local.conf文件非常方便,但源代碼管理系統(tǒng)通常不會跟蹤此目錄中的臨時更改。

build/conf/local.conf 文件可以設(shè)置多個變量。值得花些時間閱讀生成的文件注釋,以便大致了解可以設(shè)置哪些變量。
構(gòu)建目標映像Poky提供了幾種預(yù)先設(shè)計好的映像配方,我們可以用它們來構(gòu)建二進制映像。我們可以在 poky 目錄下運行以下命令來查看可用圖像列表:

$ ls meta*/recipes*/*images/*.bb 

所有配方提供的鏡像都是一組解包和配置好的軟件包,生成的文件系統(tǒng)可用于硬件或受支持的 QEMU 機器之一。
接下來,我們可以看看最常用的鏡像列表:

  • core-image-minimal 鏡像: 這是一個允許設(shè)備啟動的小型鏡像。它便于內(nèi)核和引導(dǎo)加載器的測試和開發(fā)。
  • core-image-base: 該圖像僅用于控制臺,為目標設(shè)備提供基本硬件支持。
  • core-image-weston: 該鏡像提供 Wayland 協(xié)議庫和參考 Weston 合成器。
  • core-image-x11:這是一個帶有終端的基本 X11 映像。
  • core-image-sato:這是一個支持 Sato 的鏡像,為使用 X11 的移動設(shè)備提供移動環(huán)境。它提供終端、編輯器、文件管理器、媒體播放器等應(yīng)用程序。
  • core-image-full-cmdline: 純控制臺鏡像,安裝了功能更全面的 Linux 系統(tǒng)功能。

社區(qū)還提供其他參考鏡像。有幾種鏡像支持實時、initramfs 和 MTD(閃存工具)等功能。最好查看源代碼或《Yocto 項目參考手冊》(https://docs.yoctoproject.org/4.0.4/ref-manual/index.html )以獲取完整的最新列表。

為目標構(gòu)建鏡像的過程很簡單。但首先,在使 BitBake 之前,我們需要使用源代碼 oe-init-build-env [build-directory] 來設(shè)置構(gòu)建環(huán)境。要構(gòu)建鏡像,我們可以使用下面命令中的模板:

$ bitbake core-image-full-cmdline

使用Yocto進行嵌入式Linux開發(fā)2 第一個基于Poky的系統(tǒng)

  • 軟件測試精品書籍文檔下載持續(xù)更新 https://github.com/china-testing/python-testing-examples 請點贊,謝謝!
  • 本文涉及的python測試開發(fā)庫 謝謝點贊! https://github.com/china-testing/python_cn_resouce
  • python精品書籍下載 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
  • Linux精品書籍下載 https://www.cnblogs.com/testing-/p/17438558.html

2.5 在QEMU中運行映像

我們可以使用硬件模擬來加快開發(fā)進程,因為它可以在不涉及任何實際硬件的情況下進行測試運行。幸運的是,大多數(shù)項目只有很小一部分依賴于硬件。
QEMU是一款免費的開源軟件包,可執(zhí)行硬件虛擬化。基于QEMU的機器允許在沒有實際硬件的情況下進行測試和開發(fā)。目前支持 ARMv5、ARMv7、ARMv8、MIPS、MIPS64、PowerPC、PowerPC 64、RISC-V 32、RISC-V 64、x86 和 x86-64 仿真。我們將在 "通過仿真加速產(chǎn)品開發(fā) - QEMU "一文中詳細介紹QEMU的使用。

OpenEmbedded Core提供了runqemu腳本工具,它是一個封裝工具,能讓QEMU的使用更簡單。運行腳本工具的方法如下:

$ runqemu <machine> <zimage> <filesystem>
$ runqemu qemux86-64 core-image-full-cmdline

這里, 是要用作 qemux86-64 的機器/架構(gòu),或任何其他受支持的機器。此外, 是內(nèi)核的路徑(例如,bzImage-qemux86-64.bin)。
最后, 是ext4 映像的路徑(例如,filesystem-qemux86-64.ext4)或NFS目錄的路徑。前面調(diào)用 runqemu 時的所有參數(shù)都是可選的。只需運行runqemu 足以在設(shè)置了構(gòu)建環(huán)境的 shell 中啟動映像,因為它會自動獲取構(gòu)建環(huán)境時的默認設(shè)置。
因此,舉例來說,如果我們運行runqemu qemux86-64 core-image-full-cmdline,就會看到與下面截圖類似的內(nèi)容:
使用Yocto進行嵌入式Linux開發(fā)2 第一個基于Poky的系統(tǒng)
在完成 Linux 啟動后,你會看到登錄提示:
使用Yocto進行嵌入式Linux開發(fā)2 第一個基于Poky的系統(tǒng)

我們可以使用空密碼登錄root賬戶。即使在QEMU內(nèi)執(zhí)行,系統(tǒng)也會像普通機器一樣運行。在實際硬件中部署映像的過程各不相同,這取決于所使用的存儲類型、引導(dǎo)加載程序等。不過,生成鏡像的過程是相同的。我們將在第15章"啟動自定義嵌入式 Linux"中探討如何在真實硬件中構(gòu)建和運行映像。

2.6 小結(jié)

在本章中,我們學(xué)習(xí)了設(shè)置Poky和構(gòu)建第一個映像所需的步驟。然后,我們使用runqemu運行了映像,這讓我們對可用功能有了很好的概覽。文章來源地址http://www.zghlxwxcb.cn/news/detail-709772.html

到了這里,關(guān)于使用Yocto進行嵌入式Linux開發(fā)2 第一個基于Poky的系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • IMX6ULL采用YOCTO構(gòu)建嵌入式Linux系統(tǒng)

    切換至工程項目文件夾,如:/home/user/Linux/Yocto/fsl-release-yocto,在該文件夾下使用如下命令: 在本地環(huán)境變量中指定repo服務(wù)器地址,可以使用清華的鏡像源進行更新,即將如下內(nèi)容復(fù)制到你的~/.bashrc里: 切換至Yocto工作路徑/home/user/Linux/Yocto/fsl-release-yocto,然后使用如下repo命

    2024年02月02日
    瀏覽(59)
  • 【嵌入式Qt開發(fā)入門】如何使用Qt進行繪圖——QPainter 繪圖

    【嵌入式Qt開發(fā)入門】如何使用Qt進行繪圖——QPainter 繪圖

    ????????繪圖與圖表在嵌入式里有的比較多,尤其是圖表,我們常在股票里看到的“圖表折線/曲線 圖/餅狀圖等”都可以用 Qt 的圖表來實現(xiàn)。繪圖和圖表的內(nèi)容本章主要介紹繪圖和圖表的基本操作,以簡單的例子呈現(xiàn)繪圖與圖表的用法,目的就是快速入門繪圖與圖表,關(guān)

    2024年02月12日
    瀏覽(35)
  • 【嵌入式Qt開發(fā)入門】如何使用Qt進行繪制實時圖表——QChart 圖表

    【嵌入式Qt開發(fā)入門】如何使用Qt進行繪制實時圖表——QChart 圖表

    ????????要想使用 Qt Charts,我們的 Qt 版本得使用 Qt 5.7 之后的版本。其實 Qt Charts 并不是 Qt 5.7 才有的,是在 Qt 5.7 以前只有商業(yè)版本的 Qt 才有 Qt Charts。我們能免費下載的 Qt 版本都是社區(qū)(開源)版本。 ????????Qt Charts 很方便的繪制我們常見的曲線圖、折線圖、柱狀

    2024年02月12日
    瀏覽(27)
  • 【嵌入式Qt開發(fā)入門】如何使用Qt進行文本讀寫——QFile讀寫文本

    【嵌入式Qt開發(fā)入門】如何使用Qt進行文本讀寫——QFile讀寫文本

    ????????在很多時候我們需要讀寫文本文件進行讀寫,比如寫個 Mp3 音樂播放器需要讀 Mp3 歌詞里的文本,比如修改了一個 txt 文件后保存,就需要對這個文件進行讀寫操作。本文介紹簡單的文本文件讀寫,內(nèi)容精簡,讓大家了解文本讀寫的基本操作。 ????????QFile 類提

    2024年02月12日
    瀏覽(26)
  • 在嵌入式Linux設(shè)備上使用Flutter開發(fā)圖形界面(試水)

    在嵌入式Linux設(shè)備上使用Flutter開發(fā)圖形界面(試水)

    鏈接: https://www.bilibili.com/video/BV1qE411N7aC/?spm_id_from=333.880.my_history.page.clickvd_source=0c443477abedebf2fdf7abecef55405d 我是跟著這個視頻安裝 Docker Desktop for Windows + 啟用k8s k8s網(wǎng)址 https://github.com/AliyunContainerService/k8s-for-docker-desktop 主要步驟參照 https://www.toradex.com/zh-cn/blog/zai-qian-ru-shi-linux-sh

    2024年02月21日
    瀏覽(27)
  • 【嵌入式】Linux開發(fā)工具arm-linux-gcc安裝及使用

    【嵌入式】Linux開發(fā)工具arm-linux-gcc安裝及使用

    宿主機 執(zhí)行編譯、鏈接嵌入式軟件的計算機 目標機 運行嵌入式軟件的硬件平臺 “本地”編譯器 用來生成在與編譯器本身所在的計算機和操作系統(tǒng)(平臺)相同的環(huán)境下運行的目標代碼,例如 Windows 環(huán)境生成 Windows 目標代碼。 交叉編譯器 用來生成在其它平臺上運行的目標代

    2024年01月17日
    瀏覽(50)
  • 嵌入式Linux 開發(fā)經(jīng)驗:platform_driver_register 的使用方法

    嵌入式Linux 開發(fā)經(jīng)驗:platform_driver_register 的使用方法

    嵌入式Linux 設(shè)備驅(qū)動開發(fā)時,經(jīng)常遇到平臺驅(qū)動 platform_driver_register 的注冊,最近深入了看了驅(qū)動開發(fā)為何使用平臺驅(qū)動 開發(fā)一個設(shè)備驅(qū)動時,為了實現(xiàn) 設(shè)備的 打開、關(guān)閉、控制等操作,可以注冊為 Linux misc 設(shè)備,不過在這之前,可以先使用 platform_driver_register 注冊平臺驅(qū)動

    2024年01月15日
    瀏覽(22)
  • 關(guān)于嵌入式開發(fā)的一些信息匯總:嵌入式C開發(fā)人員、嵌入式系統(tǒng)Linux

    關(guān)于嵌入式開發(fā)的一些信息匯總:嵌入式C開發(fā)人員、嵌入式系統(tǒng)Linux

    這篇文章是關(guān)于嵌入式開發(fā)的一些基本信息,供想入行的人參考。有一些作者本人的想法,以及來自外網(wǎng)的大拿的文章翻譯而來,原文鏈接在此Learning Linux for embedded systems,再次感謝,支持原創(chuàng)。 普通C開發(fā)人員和嵌入式C開發(fā)人員之間的 基本區(qū)別在于 ,因為嵌入式C程序被設(shè)

    2024年02月03日
    瀏覽(129)
  • 嵌入式開發(fā):單片機嵌入式Linux學(xué)習(xí)路徑

    嵌入式開發(fā):單片機嵌入式Linux學(xué)習(xí)路徑

    SOC(System on a Chip)的本質(zhì)區(qū)別在于架構(gòu)和功能。低端SOC如基于Cortex-M架構(gòu)的芯片,如STM32和NXP LPC1xxx系列,不具備MMU(Memory Management Unit),適用于輕量級實時操作系統(tǒng)如uCOS和FreeRTOS。高端SOC如基于Cortex-A架構(gòu)的芯片,如三星、高通、飛卡、全志和瑞芯微等,具備MMU,支持虛擬內(nèi)

    2024年02月15日
    瀏覽(39)
  • 嵌入式Qt 開發(fā)一個音樂播放器

    嵌入式Qt 開發(fā)一個音樂播放器

    上篇文章:RK3568源碼編譯與交叉編譯環(huán)境搭建,進行了OK3568開發(fā)板軟件開發(fā)環(huán)境搭建,通過編譯RK3568的源碼,可以得到Qt開發(fā)的交叉編譯相關(guān)工具。 本篇,就來在搭建好的軟件開發(fā)中,進行Qt軟件的開發(fā)測試。由于Qt是支持跨平臺的,因此本篇的音樂播放器,先在Windows上編寫

    2024年02月02日
    瀏覽(41)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包