在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<s id="cmphk"><label id="cmphk"></label></s>
    <span id="cmphk"><var id="cmphk"></var></span>
    <dfn id="cmphk"><var id="cmphk"></var></dfn>
    <menu id="cmphk"><thead id="cmphk"></thead></menu>

    <address id="cmphk"></address>

      <dfn id="cmphk"></dfn>
      
      
      <span id="cmphk"></span>

      <object id="cmphk"><tt id="cmphk"></tt></object>
      1. 博客專欄

        EEPW首頁(yè) > 博客 > Yocto Linux 量產(chǎn) BSP 鏡像定制

        Yocto Linux 量產(chǎn) BSP 鏡像定制

        發(fā)布人:toradex 時(shí)間:2025-03-06 來源:工程師 發(fā)布文章

        By Toradex秦海

        1). 簡(jiǎn)介

        基于 ARM 平臺(tái) Yocto Linux BSP 開發(fā)嵌入式設(shè)備,開發(fā)完成后需要生成用于量產(chǎn)的 Yocto Linux BSP 鏡像,本文就基于 Toradex Yocto Linux BSP 鏡像進(jìn)行量產(chǎn)定制做流程說明。

         

        2. 準(zhǔn)備

        a). Toradex Yocto Linux BSP 提供預(yù)編譯好的基于 Downstream/Mainline Linux Kernel 版本的 Minimal 或者 Multimedia 鏡像供客戶測(cè)試開發(fā),具體可以從下面地址下載。

        https://developer.toradex.cn/software/toradex-embedded-software/toradex-download-links-torizon-linux-bsp-wince-and-partner-demos/#toradex-embedded-linux---yocto-project-reference-images

         

        b). Toradex ARM 核心板產(chǎn)品出廠預(yù)裝 Toradex Easy Installer 工具軟件,便于進(jìn)行量產(chǎn)安裝,因此對(duì)應(yīng)使用的 Yocto Linux BSP 鏡像也是適用于通過 Toradex Easy Installer 安裝的鏡像,具體關(guān)于 Toradex Easy Installer 的更詳細(xì)介紹請(qǐng)見如下。

        https://developer.toradex.cn/easy-installer/toradex-easy-installer/toradex-easy-installer-overview/

         

        c). 如果熟悉 Yocto Project 編譯環(huán)境,可以參考如下文章通過 Yocto Project 來定制編譯用于量產(chǎn)的 BSP 鏡像,本文不做贅述。

        https://www.toradex.cn/blog/tong-guo-ycoto-project-ding-zhi-qian-ru-shi-ycoto-linux-jing-xiang

         

         

        3). 定制流程

        a). 本文以適用于 Verdin i.MX8M Plus  Yocto Linux Mutimedia BSP Reference Image 鏡像為例進(jìn)行示例,其他平臺(tái)和版本的 BSP 方法思路都一致。

         

        b). 這里下載針對(duì) Verdin i.MX8M Plus Yocto Linux Mutimedia BSP Reference Image V7.x 版本,并解壓后包含文件如下。

        -------------------------------

        $ tar xvf Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.1.0+build.3.tar

        $ cd Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.1.0+build.3/

        $ tree -L 1

        .

        ├── image.json

        ├── imx-boot

        ├── LA_OPT_NXP_SW.html

        ├── marketing.tar

        ├── prepare.sh

        ├── Reference-Multimedia-Image-verdin-imx8mp.rootfs.bootfs.tar.xz

        ├── Reference-Multimedia-Image-verdin-imx8mp.rootfs.tar.xz

        ├── toradexlinux.png

        ├── u-boot-initial-env-sd

        └── wrapup.sh

         

        0 directories, 10 files

        -------------------------------

         

        c). image.json BSP 鏡像配置文件,Toradex Easy Installer 軟件就是通過讀取這個(gè)文件來進(jìn)行 BSP 鏡像更新的

        ./ image.json 配置文件詳細(xì)說明請(qǐng)見如下文章,不同的硬件平臺(tái)具體的文件會(huì)有不同,尤其是底層 bootloader 相關(guān)的 binary 文件。本文只將和定制量產(chǎn)鏡像相關(guān)的參數(shù)著重說明。

        https://developer.toradex.cn/easy-installer/toradex-easy-installer/toradex-easy-installer-configuration-files

         

        ./ autoinstall 參數(shù)定義了是否自動(dòng)安裝 BSP 鏡像

        -------------------------------

        false - 不自動(dòng)安裝 (default)

        true - 自動(dòng)安裝

        -------------------------------

        ./ “u_boot_env” 參數(shù)定義了 U-Boot 啟動(dòng)動(dòng)態(tài)加載的環(huán)境變量參數(shù),可以將自定義的 U-Boot 環(huán)境變量參數(shù)更新到這個(gè)文件,刷寫 BSP 鏡像后啟動(dòng)即可以生效。

        -------------------------------

        u-boot-initial-env-sd (default)

        -------------------------------

        ./ prepare_script 參數(shù)定義了 Toradex Easy Installer 工具進(jìn)行分區(qū)和燒寫鏡像操作前需要進(jìn)行的操作

        -------------------------------

        prepare.sh (default)

        -------------------------------

        ./ “wrapup_script” 參數(shù)定義了 Toradex Easy Installer 工具完成分區(qū)和燒寫鏡像操作后需要進(jìn)行的操作

        -------------------------------

        wrapup.sh (default)

        -------------------------------

        ./ “blockdevs” 參數(shù)下面就定義了實(shí)際需要燒寫的鏡像以及分區(qū),當(dāng)然也可以參考上述配置文件說明定制添加自己需要的分區(qū)或者只讀文件系統(tǒng)等。

        // 通常首先是一個(gè) FAT32 分區(qū),用于燒寫包括 Linux Kernel Image/Device-Tree Binary/Device-Tree Overlay Binary 等啟動(dòng)文件,filename 參數(shù)定義了寫入的文件壓縮包,"uncompressed_size" 定義了要寫入文件未壓縮前的大小(MB)。如果定制鏡像過程中修改了壓縮包文件的名字和文件大小就需要修改對(duì)應(yīng)修改這兩個(gè)參數(shù)。

        -------------------------------

        "label": "BOOT",

        "filesystem_type": "FAT",

        "mkfs_options": "",

        "filename": "Reference-Multimedia-Image-verdin-imx8mp.rootfs.bootfs.tar.xz",

        "uncompressed_size": 8.671875

        -------------------------------

        // 然后是一個(gè) EXT4 分區(qū),用于燒寫 Linux Rootfs 文件系統(tǒng)文件,filename 參數(shù)定義了寫入的文件壓縮包,"uncompressed_size" 定義了要寫入文件未壓縮前的大小(MB)。如果定制鏡像過程中修改了 Rootfs 文件系統(tǒng)壓縮包文件的名字和文件大小就需要修改對(duì)應(yīng)修改這兩個(gè)參數(shù)。

        -------------------------------

        "label": "RFS",

        "filesystem_type": "ext4",

        "mkfs_options": "-E nodiscard",

        "filename": "Reference-Multimedia-Image-verdin-imx8mp.rootfs.tar.xz",

        "uncompressed_size": 1272.7109375

        -------------------------------

        // 最后是 Raw 分區(qū),用于燒寫包括 Bootloader Binary 等在內(nèi)的底層引導(dǎo)固件文件,文件可能是一個(gè)文件或者多個(gè)文件,根據(jù)不同的硬件平臺(tái)不一致。filename 參數(shù)定義了寫入的 Binary 固件文件,比如 Verdin i.MX8MP 平臺(tái)對(duì)應(yīng)的是 imx-boot 文件就是一個(gè)包含 ATF/DDR Firmware/SPL/U-Boot 等的 Boot Container,而比如 Verdin AM62 平臺(tái)則每個(gè)固件都是分開的單獨(dú)文件。

        -------------------------------

        "filesystem_type": "raw",

        "rawfiles": [

        {

            "filename": "imx-boot",

        "dd_options": "seek=0"

        }

        ]

        -------------------------------

         

        d). imx-boot 如章節(jié) (c) 說明是 Verdin i.MX8MP 平臺(tái)對(duì)應(yīng)的 Boot Container 文件,如果需要修改底層 Bootloader,可以參考如下文章修改編譯生成新的 imx-boot 文件后替換 BSP Image 鏡像里面的文件。

        https://developer.toradex.cn/linux-bsp/os-development/build-u-boot-and-linux-kernel-from-source-code/build-u-boot/

         

        e). “prepare.sh” 如章節(jié) (c) 說明是燒寫鏡像前需要進(jìn)行的操作,通常不需要修改。

         

        f). wrapup.sh” 如章節(jié) (c) 說明是燒寫鏡像后進(jìn)行的操作,如果使能了 autoinstall 自動(dòng)安裝可以增加如下內(nèi)容在完成自動(dòng)安裝后自動(dòng)重啟。

        -------------------------------

        reboot -f

        exit 0

        -------------------------------

         

        g). “Reference-Multimedia-Image-verdin-imx8mp.rootfs.bootfs.tar.xz” 壓縮包文件如章節(jié) (c) 說明是 FAT32 啟動(dòng)分區(qū)文件,請(qǐng)注意不同 Yocto Linux BSP 版本命名方式可能略有不同。

        ./ 解壓后內(nèi)容如下

        -------------------------------

        $ cd Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.1.0+build.3/

        $ mkdir bootfs

        $ tar Jxf Reference-Multimedia-Image-verdin-imx8mp.rootfs.bootfs.tar.xz -C bootfs/

        $ cd bootfs

        $ tree -L 1

        .

        ├── boot.scr

        ├── Image.gz

        ├── imx8mp-verdin-nonwifi-dahlia.dtb

        ├── imx8mp-verdin-nonwifi-dev.dtb

        ├── imx8mp-verdin-nonwifi-ivy.dtb

        ├── imx8mp-verdin-nonwifi-mallow.dtb

        ├── imx8mp-verdin-nonwifi-yavia.dtb

        ├── imx8mp-verdin-wifi-dahlia.dtb

        ├── imx8mp-verdin-wifi-dev.dtb

        ├── imx8mp-verdin-wifi-ivy.dtb

        ├── imx8mp-verdin-wifi-mallow.dtb

        ├── imx8mp-verdin-wifi-yavia.dtb

        ├── overlays

        └── overlays.txt

         

        1 directory, 13 files

        -------------------------------

        ./ boot.scr 文件是 Linux U-Boot Distroboot 配置文件,如果定制 BSP 鏡像涉及 Linux Kernel 啟動(dòng)參數(shù)相關(guān)配置,可以參考這里修改并重新生成這個(gè)文件后替換原有文件。

        ./ 其他文件都是包含 Linux Kernel Image / Device-Tree Binary / Device-Tree Overlay Binary 等文件,如果定制 BSP 涉及了相關(guān)修改可以在這里替換原有文件。

        ./ 修改完成所有要修改的文件后,可以通過如下命令重新壓縮,如果命名不變則無需修改 image.json 文件,否則就要對(duì)應(yīng)修改。

        ------------------------------- 

        $ cd Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.1.0+build.3/bootfs/

        $ tar Jcf ../Reference-Multimedia-Image-verdin-imx8mp.rootfs.bootfs.tar.xz *

        $ cd ..

        $ rm -rf bootfs/

        -------------------------------

         

        h). “Reference-Multimedia-Image-verdin-imx8mp.rootfs.tar.xz” 壓縮包文件如章節(jié) (c) 說明是 EXT4 Linux Rootfs 文件系統(tǒng)分區(qū)文件,請(qǐng)注意不同 Yocto Linux BSP 版本命名方式可能略有不同。

        ./ 解壓后內(nèi)容如下

        -------------------------------

        $ cd Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.1.0+build.3/

        $ mkdir rootfs

        $ sudo tar Jxf Reference-Multimedia-Image-verdin-imx8mp.rootfs.bootfs.tar.xz -C rootfs/

        $ cd rootfs

        $ tree -L 1

        .

        ├── bin -> usr/bin

        ├── boot

        ├── dev

        ├── etc

        ├── home

        ├── lib -> usr/lib

        ├── media -> run/media

        ├── mnt

        ├── opt

        ├── proc

        ├── root

        ├── run

        ├── sbin -> usr/sbin

        ├── srv

        ├── sys

        ├── tmp

        ├── unit_tests

        ├── usr

        └── var

         

        18 directories, 1 file

        -------------------------------

        ./ 在這里可以進(jìn)行 Linux Rootfs 相關(guān)的修改適配,比如部署應(yīng)用程序以及相關(guān)運(yùn)行庫(kù),配置應(yīng)用程序開機(jī)自啟動(dòng)等,下面是幾個(gè)簡(jiǎn)單示例。

        -------------------------------

        ### modify below default autorun systemd service file to make customized application autorun ###

        rootfs/lib/systemd/system/wayland-app-launch.service

        [Service]

        ...

        ExecStart=/usr/share/cinematicexperience-1.0/Qt5_CinematicExperience --fullscreen

        ...

         

        ### modify below splash picture to adapt customized splash after enabling plymouth in Yocto project ###

        rootfs/usr/share/plymouth/themes/spinner/watermark.png

         

        ### modify weston configuration file if needed, below for example to hide weston normal shell ###

        rootfs/etc/xdg/weston/weston.ini

        [core]

        ...

        shell=kiosk-shell.so

        ...

        -------------------------------

        ./ 修改完成所有要修改的文件后,可以通過如下命令重新壓縮,如果命名和大概文件大小不變則無需修改 image.json 文件,否則就要對(duì)應(yīng)修改。

        ------------------------------- 

        $ cd Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.1.0+build.3/rootfs/

        $ sudo tar Jcf ../Reference-Multimedia-Image-verdin-imx8mp.rootfs.tar.xz *

        $ cd ..

        $ sudo rm -rf rootfs/

        -------------------------------

         

        i). “u-boot-initial-env-sd” 如章節(jié) (c) 說明是 U-Boot 環(huán)境變量配置文件,可以將定制需要的環(huán)境變量修改或者添加在這個(gè)文件。比如這里示例添加為了顯示 Plymouth Splash 以及關(guān)閉 log 輸出的環(huán)境變量定義。

        -------------------------------

        tdxargs=quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3’

        bootdelay=0

        -------------------------------

         

        j). 定制完成后將完整 BSP image 文件復(fù)制到 U盤或者 SD 卡,通過模塊 Toradex Easy Installer 工具安裝到模塊進(jìn)行量產(chǎn)即可。

         

        4). 總結(jié)

        本文基于 Toradex i.MX8MP ARM 處理器平臺(tái)示例了 Yocto Linux 量產(chǎn) BSP 鏡像定制流程,其他平臺(tái)定制思路都是基本一致的。


        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



        關(guān)鍵詞: ARM Yocto NXP iMX8MP Toradex Verdin

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉