在实际的项目中,根据使用的具体版本来进行下载。
其中-b 选择分支https://source.codeaurora.org/external/imx/imx-manifest/tree/README?h=imx-linux-zeusmkdir imx-yocto-bsp
sudo chmod 777 imx-yocto-bsp
cd imx-yocto-bsp
repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-sumo -m imx-4.14.98-2.0.0_ga.xml
repo syncfsl-setup-release.sh脚本会对参数如下的三个参数进行解析DISTRO=fsl-imx-wayland
MACHINE=imx8mmevk source
-b imx8mmevk_waylandDISTRO=fsl-imx-wayland MACHINE=imx8mmevk source fsl-setup-release.sh -b imx8mmevk_wayland
这个命令使用sources文件夹,
fsl-setup-release.sh以及setup-environment生成imx8mmevk_wayland目录以及子目local/local.conf文件。
如果想在local.conf中增加内容,
比如增加CORE_IMAGE_EXTRA_INSTALL += "dhcp-server iperf2",那么可以在fsl-setup-release.sh文件中
echo BSPDIR=$BSPDIR之前增加以下命令:
echo "CORE_IMAGE_EXTRA_INSTALL += \"dhcp-server iperf2\"" >> $BUILD_DIR/conf/local.conf
然后执行DISTRO=fsl-imx-wayland MACHINE=imx8mmevk source fsl-setup-release.sh -b imx8mmevk_wayland,就会更新local.conf文件bitbake fsl-image-validation-imx     编译基于wayland 的支持GUI 的测试镜像

在下面的链接中下载文档,主要参考i.MX_Yocto_Project_User's_Guide.pdfi.MX Developer Resources | NXP Semiconductorshttps://www.nxp.com/design/i-mx-developer-resources:IMXSW_HOME

下面的链接中也有对imx_linux_zeus 这个分子进行介绍说明如何编译

README - imx-manifest - i.MX Release Manifesthttps://source.codeaurora.org/external/imx/imx-manifest/tree/README?h=imx-linux-zeus

可以在下面的链接中搜索想要编译到文件系统中的bb recipes,其中已tcpdump为例

OpenEmbedded Layer Index - recipeshttp://layers.openembedded.org/layerindex/branch/master/recipes/?q=tcpdump

2:内核编译(Image-imx8mmevk.bin)

注意看其中的linux-imx_4.14.98.bb

bitbake -v -c clean linux-imx

bitbake -v  linux-imx

对应编译日志如下:由此可以知道上面bb中的mkdir -p ${B} B只的是build

$<50>+ do_copy_defconfig
+ install -d /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/linux-imx/4.14.98-r0/build$<50>+ [ no = yes ]
+ mkdir -p /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/linux-imx/4.14.98-r0/build$<50>+ cp /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/linux-imx/4.14.98-r0/git/arch/arm64/configs/defconfig /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/linux-imx/4.14.98-r0/build/.config$<50>+ cp /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/linux-imx/4.14.98-r0/git/arch/arm64/configs/defconfig /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/linux-imx/4.14.98-r0/build/../defconfig

编译完成之后,有如何生成的文件

如果要能烧写到imx中还需要额外的文件 先将系统中内核挂载出来。

root@imx8mmevk:~/kernel# cat /proc/partitions
major minor  #blocks  name31        0      32768 mtdblock0179        0    7761920 mmcblk1179        1      65536 mmcblk1p1179        2    1613824 mmcblk1p2179       32   15388672 mmcblk2179       33       4096 mmcblk2p1179       34       4096 mmcblk2p2179       35      65536 mmcblk2p3179       36      65536 mmcblk2p4179       37      65536 mmcblk2p5179       38      65536 mmcblk2p6179       39       4096 mmcblk2p7179       40      16384 mmcblk2p8179       41       1024 mmcblk2p9179       42    4194304 mmcblk2p10179       43    9127936 mmcblk2p11179       44       1024 mmcblk2p12179       45       1024 mmcblk2p13179       46       1024 mmcblk2p14179      128       4096 mmcblk2rpmb179       96       4096 mmcblk2boot1179       64       4096 mmcblk2boot0
root@imx8mmevk:~/kernel# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       1.5G  1.2G  146M  90% /
devtmpfs        659M  4.0K  659M   1% /dev
tmpfs           979M     0  979M   0% /dev/shm
tmpfs           979M  8.5M  971M   1% /run
tmpfs           979M     0  979M   0% /sys/fs/cgroup
tmpfs           979M     0  979M   0% /tmp
tmpfs           979M  248K  979M   1% /var/volatile
/dev/mmcblk2p8   12M  176K   11M   2% /run/media/mmcblk2p8
/dev/mmcblk1p1   64M   23M   42M  36% /home/root/kernel
tmpfs           196M     0  196M   0% /run/user/0
root@imx8mmevk:~/kernel# ls -alh //home/root/kernel
total 23M
drwxrwx--- 3 root disk  16K Jan  1  1970 .
drwx------ 5 root root 4.0K Sep 19 23:42 ..
-rwxrwx--- 1 root disk  23M Mar 11  2022 Image
drwxrwx--- 2 root disk 2.0K Mar 11  2022 System Volume Information
-rwxrwx--- 1 root disk  44K Mar 11  2022 fsl-imx8mm-ddr4-evk-rm67191.dtb
-rwxrwx--- 1 root disk  44K Mar 11  2022 fsl-imx8mm-ddr4-evk.dtb
-rwxrwx--- 1 root disk  44K Mar 11  2022 fsl-imx8mm-ddr4-qca9377-evk.dtb
-rwxrwx--- 1 root disk  43K Mar 11  2022 fsl-imx8mm-evk-ak4497.dtb
-rwxrwx--- 1 root disk  43K Mar 11  2022 fsl-imx8mm-evk-ak5558.dtb
-rwxrwx--- 1 root disk  43K Mar 11  2022 fsl-imx8mm-evk-audio-tdm.dtb
-rwxrwx--- 1 root disk  22K Mar 11  2022 fsl-imx8mm-evk-inmate.dtb
-rwxrwx--- 1 root disk  43K Mar 11  2022 fsl-imx8mm-evk-m4.dtb
-rwxrwx--- 1 root disk  43K Mar 11  2022 fsl-imx8mm-evk-revb-rm67191.dtb
-rwxrwx--- 1 root disk  43K Mar 11  2022 fsl-imx8mm-evk-revb.dtb
-rwxrwx--- 1 root disk  43K Mar 11  2022 fsl-imx8mm-evk-rm67191.dtb
-rwxrwx--- 1 root disk  43K Mar 11  2022 fsl-imx8mm-evk-root.dtb
-rwxrwx--- 1 root disk  43K Mar 11  2022 fsl-imx8mm-evk.dtb
-rwxrwx--- 1 root disk 6.2K Mar 11  2022 imx8mm_m4_TCM_hello_world.bin
-rwxrwx--- 1 root disk  17K Mar 11  2022 imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
-rwxrwx--- 1 root disk  17K Mar 11  2022 imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin
-rwxrwx--- 1 root disk  40K Mar 11  2022 imx8mm_m4_TCM_sai_low_power_audio.bin
root@imx8mmevk:~/kernel# 

在执行bitbake -c compile  -v fsl-image-validation-imx 得日志过程中

其中image_types_fsl.bbclass包含升级可升级的boot.img的过程

linshubin@fcrdsw-13:~/origin_imx-yocto-bsp/sources$ grep -srn "_generate_boot_image" ./
./meta-fsl-bsp-release/imx/meta-bsp/classes/image_types_fsl.bbclass:123:_generate_boot_image() {
./meta-fsl-bsp-release/imx/meta-bsp/classes/image_types_fsl.bbclass:259:        _generate_boot_image 1
./meta-fsl-bsp-release/imx/meta-bsp/classes/image_types_fsl.bbclass:337:                _generate_boot_image 2
linshubin@fcrdsw-13:~/origin_imx-yocto-bsp/sources$
linshubin@fcrdsw-13:~/origin_imx-yocto-bsp/sources$ grep -srn "BOOT_SCRIPTS" ./
./meta-fsl-bsp-release/imx/meta-bsp/classes/image_types_fsl.bbclass:143:        for item in ${BOOT_SCRIPTS}; do
linshubin@fcrdsw-13:~/origin_imx-yocto-bsp/sources$ 

其烧写文件为:boot.img 由下面的个文件组成

3: 文件系统

dd if=/dev/zero of=/home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/deploy-fsl-image-validation-imx-image-complete/fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.ext4 seek=1400832 count=0 bs=1024

先生成空文件fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.ext4

之后再使用mkfs.ext4

mkfs.ext4 -F -i 4096 /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/deploy-fsl-image-validation-imx-image-complete/fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.ext4 -d /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/rootfs

r

分区信息如下:

4:BootLoader

bitbake imx-boot  制作启动文件,其中包含了:
bitbake u-boot-imx 这个才是我们平时所谓的u-boot.bin 及u-boot-spl.bin

im8mm的boot 有多个文件组合而成的,并非仅仅只有一个传统的uboot文件

SD卡Image

有上面整个打包过程可以知道:SDimage有三部分组成

1:imx-boot-imx8mmevk-sd.bin  这个就是flash.bin

2:boot.img

3:fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.ext4

dd if=/dev/zero of=/home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/deploy-fsl-image-validation-imx-image-complete/fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.sdcard bs=1 count=0 seek=1518338048parted -s /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/deploy-fsl-image-validation-imx-image-complete/fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.sdcard mklabel msdos
parted -s /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/deploy-fsl-image-validation-imx-image-complete/fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.sdcard unit KiB mkpart primary fat32 8192 73728
parted -s /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/deploy-fsl-image-validation-imx-image-complete/fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.sdcard unit KiB mkpart primary 73728 1474560
parted /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/deploy-fsl-image-validation-imx-image-complete/fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.sdcard print
Disk /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/deploy-fsl-image-validation-imx-image-complete/fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.sdcard: 1518MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start   End     Size    Type     File system  Flags1      8389kB  75.5MB  67.1MB  primary               lba2      75.5MB  1510MB  1434MB  primary
dd if=/home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/deploy/images/imx8mmevk/imx-boot-imx8mmevk-sd.bin of=/home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/deploy-fsl-image-validation-imx-image-complete/fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.sdcard conv=notrunc seek=33 bs=1K
dd if=/home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/boot.img of=/home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/deploy-fsl-image-validation-imx-image-complete/fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.sdcard conv=notrunc,fsync seek=1 bs=8388608
dd if=/home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/deploy-fsl-image-validation-imx-image-complete/fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.ext4 of=/home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/deploy-fsl-image-validation-imx-image-complete/fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.sdcard conv=notrunc,fsync seek=1 bs=75497472pbzip2 -f -k fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.sdcard
rm fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.sdcard
fsl-image-validation-imx-1.0-r0 do_image_sdcard: Creating symlink: /home/linshubin/origin_imx-yocto-bsp/imx8mmevk_wayland/tmp/work/imx8mmevk-poky-linux/fsl-image-validation-imx/1.0-r0/deploy-fsl-image-validation-imx-image-complete/fsl-image-validation-imx-imx8mmevk.sdcard.bz2 -> fsl-image-validation-imx-imx8mmevk-20220329061930.rootfs.sdcard.bz2

imx8mm yocto_bsp 编译相关推荐

  1. 主线剧情03-NXP-i.MX系列的u-boot移植基础详解

    u-boot 移植基础详解 本文系广泛撷取.借鉴和整理(相关的内容在网络上有很多,但很多相互抄,或者是版本太老,或者就是不通用的非常有平台针对性的步骤,碎片化泛滥,甚至就是有待分拣的垃圾厂,当然也有一 ...

  2. NXP迅为i.MX8Mmini开发板Linix固件编译上

    Linux 源码中包含了 Yocto 源码,四种系统共用一套源码.linux 源码可以在光盘资料"iTOP-i.MX8MM 开发板\01-i.MX8MM 开发板光盘资料\20210601\0 ...

  3. imx8mm启动图标更改

    说明 imx8mm的启动图标分为3个部分: uboot kernel 文件系统 uboot图标 uboot 不需要更改,uboot启动的时候还没有lcd的驱动. 驱动位置: MYIR-i.MX8MM- ...

  4. NXP之imx系列芯片 linux代码编译简介

    NXP的imx系列芯片使用很广的芯片,这篇文章就介绍下imx 芯片 Yocto 环境的搭建,以及单独编译 uboot,kernel 的方法. PC: ubuntu 16.04 1.环境设置 1.1 P ...

  5. iMX8MM移植AC9260无线网卡

    上回书说到,这鲁智深-- 不好意思走错场子了,接着说我和iMX8MM的故事. 上次把Ubuntu-Base移植到iMX8MM之后啊,我的开发方便了很多,但是在联网方面却又遇上了问题. 我在当初开发板选 ...

  6. imx8的源码开发方式非yocto方式(一)——ATF可信固件编译

    1.从NXP官方的github源码库中的arm-trusted-firmware固件压缩包(5.15.71-2.2.0), ATF的下载地址为: Release lf-5.15.71-2.2.0 · ...

  7. go build 编译报错 missing go.sum entry for module providing package

    go build 编译报错 missing go.sum entry for module providing package 解决方法 // 移除未使用的依赖 go mod tidy 再次编译,就可 ...

  8. kotlin重写构造方法编译报错:Primary constructor call expected

    在kotlin中使用construct关键字定义构造方法,如果类定义时已经有构造方法(类名后带括号),需要添加构造方法时,需要使用以下写法: class User(var name,var age){ ...

  9. Myeclipse中项目没有代码错误提示,jsp页面无编译迹象?如何解决

    在使用Myeclipse开发项目时,发现jsp页面中嵌入的java代码没有编译的迹象,错误的get方法没有报错,没有报错信息我们如何知道我们开发的内容是正确的呢? 接下来就演示一下如何解决

  10. 初试linux编译(ubuntu+vim)+玩转智能蛇

    一.初试linux编译(ubuntu+vim) 步骤: ①下载vmware15+ubuntu桌面版映像 ②安装ubuntu ③下载vim+gcc 在ubuntu终端输入: sudo apt-get i ...

最新文章

  1. 解决Wireshark 服务运行于非默认端口问题
  2. As Simple as One and Two(思维)
  3. mac里打开隐藏的 library文件夹
  4. vscode 默认初始化_Visual Studio Code(vscode)使用介绍
  5. JavaEE班第四天
  6. vue.js devtools安装
  7. 点钞机语音怎么打开_这才是华为手机语音助手正确打开方式,远比你想象的要强大很多!...
  8. 【风电功率预测】基于matlab灰狼算法优化LSTM风电功率预测【含Matlab源码 1392期】
  9. pytorch搭建卷积神经网络【第三课_自己搭建对抗神经网络】
  10. dw8html合并单元格,DW 做一个table表 对单元格进行合并
  11. 计算机思维测试题,孩子逻辑思维测试题有哪些
  12. 软件开发中的时区问题
  13. 免开发打造智能咖啡机,让您省时又省力
  14. UnityShader入门精要——运动模糊(2)
  15. mysql 导入导出 csv_学习 MySQL中导入 导出CSV
  16. 福昕阅读器无法注释问题
  17. 解决 Java 加载 pfx 报密码错误
  18. input值不可变、隐藏input(表单隐藏域)
  19. IDEA实现单元测试
  20. ROS 2 Foxy Fitzroy:为生产和开发机器人设定新标准

热门文章

  1. android 平板刷机工具,小白必看,安卓平板电脑刷机教程之一键刷机
  2. 妙招教你Office Word 2007文档另存为PDF文件[转]
  3. 把echarts导出成pdf
  4. 预测模型(数学建模)
  5. 房屋租赁管理系统mysql(含论文)
  6. HBase权威指南(百度云免费下载)
  7. java给图片添加自定义文字信息
  8. APMCM亚太地区数学建模历年赛题
  9. 编址与存储相关计算(一)——软考之路
  10. Java内存模型JMM