NXP i.mx8mm 下载 yocto 源码,编译最小 rootfs

2023-10-17 12:40

本文主要是介绍NXP i.mx8mm 下载 yocto 源码,编译最小 rootfs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下载编译yocto

下载repo

mkdir test
cd test
curl https://storage.googleapis.com/git-repo-downloads/repo > ./repo

因为国内防火墙的原因,编辑 repo 里的 url 地址,改为国内的

REPO_URL = ‘https://mirrors.tuna.tsinghua.edu.cn/git/git-repo’

如果是第一次下载使用 git ,需要配置 git 相关的环境变量

git config --global user.name “Your Name”
git config --global user.email “Your Email”
git config --list

下载源码

mkdir 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.78-1.0.0_ga.xml
./repo sync

耐心等待 sync 完。。。

编译

初始化编译空间设置,包括机器型号等

DISTRO=fsl-imx-wayland MACHINE=imx8mmevk source fsl-setup-release.sh -b build-wayland

-b 指定的是编译目录,名字可随意,会自动创建该目录

这条命令会弹出一个协议,按空格键往下阅读,最后选择 y

选择你要编译的镜像类型,可以参考 i.MX_Yocto_Project_User’s_Guide.pdf 这里
在这里插入图片描述

此处我选择一个最小的能用的镜像,用作最小的根文件系统

bitbake core-image-base

注意:上一条命令要下载各种压缩包,一边下载一边编译,需耐心等待。。。

注意:以后每次开新终端执行 bitbake 命令前,都要在 imx-yocto-bsp 路径下初始环境变量再编译

source setup-environment build-wayland

这个步骤结束后,在当前 tmp/deploy/images/imx8mmevk 文件夹下会生成镜像文件

制作最小 rootfs 的过程

在当前 tmp/work/imx8mmevk-poky-linux/core-image-base/1.0-r0/rootfs 是纯净的根文件系统

在当前 tmp/work/imx8mmevk-poky-linux/core-image-base/1.0-r0/recipe-sysroot 是额外的一些 lib 库,如 libstdc++.so,这也是运行程序所必须的库,可以删掉该目录的静态链接库

支持 DHCP
为了让纯净的 rootfs 支持 dhcp,需要这几个文件,可以从别的地方拷贝过来
此处我是从 bitbake fsl-image-machine-test 之后生成的 rootfs 包里面拷贝过来的

/usr/sbin/connmand

/usr/sbin/connmand-env

/usr/lib/libxtables.so.12

/usr/lib/libxtables.so.12.0.0

/etc/dbus-1/system.d/connman.conf

测试:在系统命令行执行 connmand -n & 即可自动获取 IP 地址

自动登录
开机串口自动以 root 登录,系统默认是手动敲 root 登录,参考

https://community.nxp.com/t5/i-MX-Processors/Autologin-in-imx8mqevk/m-p/922900

修改最终的文件 rootfs/lib/systemd/system/serial-getty@.service

开机自动运行自己的某些命令

可以在 /etc/rc.local 添加自己的命令,如果没有该文件则自己创建,或参考 fsl-image-machine-test 的

rc.local 在开机会自动被 /lib/systemd/system/rc-local.service 执行

我暂且添加这几行

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.echo 30000 >  /proc/sys/vm/min_free_kbytesconnmand -n &
mount /dev/mmcblk2p5 /cache
sleep 1s
echo “hello world”exit 0

这篇关于NXP i.mx8mm 下载 yocto 源码,编译最小 rootfs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225477

相关文章

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o