中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. "); //-->

        博客專(zhuān)欄

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

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

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

        By Toradex秦海

        1). 簡(jiǎn)介

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

         

        2. 準(zhǔn)備

        a). Toradex Yocto Linux BSP 提供預(yù)編譯好的基于 Downstream/Mainline Linux Kernel 版本的 Minimal 或者 Multimedia 鏡像供客戶測(cè)試開(kāi)發(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 鏡像也是適用于通過(guò) Toradex Easy Installer 安裝的鏡像,具體關(guān)于 Toradex Easy Installer 的更詳細(xì)介紹請(qǐng)見(jiàn)如下。

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

         

        c). 如果熟悉 Yocto Project 編譯環(huán)境,可以參考如下文章通過(guò) Yocto Project 來(lái)定制編譯用于量產(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 軟件就是通過(guò)讀取這個(gè)文件來(lái)進(jìn)行 BSP 鏡像更新的

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

        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è)文件,刷寫(xiě) BSP 鏡像后啟動(dòng)即可以生效。

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

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

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

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

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

        prepare.sh (default)

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

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

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

        wrapup.sh (default)

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

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

        // 通常首先是一個(gè) FAT32 分區(qū),用于燒寫(xiě)包括 Linux Kernel Image/Device-Tree Binary/Device-Tree Overlay Binary 等啟動(dòng)文件,filename 參數(shù)定義了寫(xiě)入的文件壓縮包,"uncompressed_size" 定義了要寫(xiě)入文件未壓縮前的大小(MB)。如果定制鏡像過(guò)程中修改了壓縮包文件的名字和文件大小就需要修改對(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ū),用于燒寫(xiě) Linux Rootfs 文件系統(tǒng)文件,filename 參數(shù)定義了寫(xiě)入的文件壓縮包,"uncompressed_size" 定義了要寫(xiě)入文件未壓縮前的大小(MB)。如果定制鏡像過(guò)程中修改了 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ū),用于燒寫(xiě)包括 Bootloader Binary 等在內(nèi)的底層引導(dǎo)固件文件,文件可能是一個(gè)文件或者多個(gè)文件,根據(jù)不同的硬件平臺(tái)不一致。filename 參數(shù)定義了寫(xiě)入的 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è)固件都是分開(kāi)的單獨(dú)文件。

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

        "filesystem_type": "raw",

        "rawfiles": [

        {

            "filename": "imx-boot",

        "dd_options": "seek=0"

        }

        ]

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

         

        d). imx-boot 如章節(jié) (c) 說(shuō)明是 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) 說(shuō)明是燒寫(xiě)鏡像前需要進(jìn)行的操作,通常不需要修改。

         

        f). wrapup.sh” 如章節(jié) (c) 說(shuō)明是燒寫(xiě)鏡像后進(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) 說(shuō)明是 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)修改可以在這里替換原有文件。

        ./ 修改完成所有要修改的文件后,可以通過(guò)如下命令重新壓縮,如果命名不變則無(wú)需修改 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) 說(shuō)明是 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)用程序開(kāi)機(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

        ...

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

        ./ 修改完成所有要修改的文件后,可以通過(guò)如下命令重新壓縮,如果命名和大概文件大小不變則無(wú)需修改 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) 說(shuō)明是 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盤(pán)或者 SD 卡,通過(guò)模塊 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ù)專(zhuān)區(qū)

        關(guān)閉