当前位置: 首页 > news >正文

如何做电影网站才不侵权设计制作简单的手机网站

如何做电影网站才不侵权,设计制作简单的手机网站,wordpress高仿dz模板,python必背入门代码Yocto 项目下通过网络更新内核、设备树及模块 前言 在 Yocto 项目的开发过程中,特别是在进行 BSP(Board Support Package)开发时,经常需要调整特定软件包的版本,修改内核、设备树以及内核模块。然而,每次…

Yocto 项目下通过网络更新内核、设备树及模块

前言

在 Yocto 项目的开发过程中,特别是在进行 BSP(Board Support Package)开发时,经常需要调整特定软件包的版本,修改内核、设备树以及内核模块。然而,每次更改后都重新刷写整个镜像不仅耗时,而且效率低下。本文主要记录一种快速迭代开发的方法,即通过网络更新内核镜像、设备树以及内核模块,以 ST 开发板为例进行详细说明。

调整特定软件包版本

在 Yocto 项目中,调整特定软件包的版本是一个常见的需求。

以调整 libgpiod 版本为例,libgpiod 是一个专为 Linux 系统设计的 GPIO 控制库。它提供了一组用户空间的API,使开发者能够方便地与GPIO设备进行交互,进行配置、读取和控制操作。

  • 定位配方:
    • 在 openembedded 目录下使用 find . -name "libgpiod" 搜索 libgpiod 的配方路径。
    • 确定 meta-openembedded/meta-oe/recipes-support/libgpiod 目录下是否存在你需要的指定版本配方。(如果不存在,那就要考虑自己编写配方,这里不考虑这种情况)
      在这里插入图片描述
  • 指定版本:在 conf/local.conf 文件中添加 PREFERRED_VERSION_libgpiod = "1.6.4%" 来指定 libgpiod 的版本为 1.6.4。
  • 编译配方:使用 bitbake libgpiod 命令编译 libgpiod 版本,观察是否下载指定版本的软件包。
  • 检查依赖关系:确保没有其他配方依赖于更高版本的 libgpiod。如果有,可能需要调整这些配方的依赖关系或更新它们以兼容 1.6.4 版本。
  • 清理构建缓存:如果之前构建过其他版本的 libgpiod,可能需要清理构建缓存以避免潜在冲突。可以使用 bitbake -c cleansstate libgpiodbitbake -c cleanall libgpiod 命令。
  • 验证版本:在构建完成后,可以使用 bitbake -e libgpiod PV 命令来验证实际使用的 libgpiod 版本号(PV 代表 Package Version)。

查找所有配方

Yocto 项目构建系统依赖于大量的配方(Recipe)文件,这些文件定义了如何构建软件包、镜像和其他组件。当需要定位某个特定软件或镜像的配方时,使用 bitbake -s 命令结合 grep 进行筛选是一个实用的技巧。

  • 使用 bitbake -s 列出所有配方及其版本。
  • 使用 bitbake-layers show-recipes,列出所有可用的配方及其所属的层,这有助于我们理解配方的来源和层次结构。

如何通过网络更新内核镜像和设备树

  • 定位配方文件:在 Yocto 中,内核镜像的配方通常符合 linux-<?> 的命名规则,这种命名模式用于表示特定于某个硬件平台或特定功能的 Linux 内核配方(Recipe)。如 linux-imx(i.MX系列)、linux-stm32mp(STM32MP系列)、linux-qcom(针对高通平台)、linux-rpi(针对树莓派平台)等。

    • 使用 bitbake -s | grep linux 查找当前构建系统中可能涉及 Linux 内核的源代码、模块、设备树或其他与 Linux 相关组件的配方。
    • 如果不确定哪个目标是内核镜像,可以查看与 Linux 内核相关的配方文件(通常位于 meta-layers 的recipes-kernel/ 目录下)。这些配方文件会定义如何构建 Linux 内核,并且可能会包含构建镜像的目标。如下图的 linux-stm32mp
      在这里插入图片描述
  • 使用 bitbake linux-stm32mp 触发一个完整的内核镜像构建过程,这个过程会自动去下载源代码、配置、编译和打包内核镜像等步骤。

  • 查找编译包的位置

    • Yocto 在编译完成后会生成很多文件,通常位于<work dir>/<build dir>/tmp 目录下。其中,内核编译完成后的镜像文件一般会放在类似于<work dir>/<build dir>/tmp/work/<machine name>-<distro name>-linux/<kernel name>/<version>-r<revision>/image/boot/的目录下。这里的< >需要根据具体的 Yocto工程配置来确定。比如说我这里:

    • 内核镜像 uImage :build/tmp-glibc/work/stm32mp15_loar_gateway-ostl-linux-gnueabi/linux-stm32mp/6.1.82-stm32mp-r2-r0/image/boot/uImage

    • 设备树文件 : build/tmp-glibc/work/stm32mp15_loar_gateway-ostl-linux-gnueabi/linux-stm32mp/6.1.82-stm32mp-r2-r0/image/boot/stm32mp15-loar-gateway.dtb
      在这里插入图片描述

  • 通过网络更新目标板的内核

    • 进入编译好的镜像目录,替换目标板 /boot 目录下的 uimage,dtb
    • scp uImage root@10.2.1.62:/boot/uImage
    • scp stm32mp15-loar-gateway.dtb root@10.2.1.62:/boot/stm32mp15-loar-gateway.dtb
    • reboot 重启目标板重新加载镜像和设备树
      在这里插入图片描述

如何通过网络更新内核模块

Linux 内核模块可分为内置模块和可加载的模块。

内置模块

  • 内置模块被静态地编译进了内核,它们与内核的其他部分一起被编译成一个单独的二进制文件,并在系统启动时被加载到内存中。所以在更新内核时同样会更新内置模块。

  • 要确定一个模块是不是内置模块,可以运行以下命令,这个文件包含了当前内核版本下所有内置模块的名称。如果一个模块在这个文件中,那么它就是内置的。

    cat /lib/modules/$(uname -r)/modules.builtin
    

可加载模块

  • 可加载模块(也称为动态内核模块)是可以在系统运行时动态地加载和卸载的内核代码块。
  • Yocto 内核编译完成后的内核模块文件一般会放在类似于<work dir>/<build dir>/tmp/work/<machine name>-<distro name>-linux/<kernel name>/<version>-r<revision>/image/lib/modules/的目录下。这里的< >需要根据具体的 Yocto工程配置来确定。比如说我这里的 SPI 模块:build/tmp-glibc/work/stm32mp15_loar_gateway-ostl-linux-gnueabi/linux-stm32mp/6.1.82-stm32mp-r2-r0/image/lib/modules/6.1.82/kernel/drivers/spi/spi-stm32.ko
    在这里插入图片描述
  • 进入编译好的模块目录,替换目标板 /lib/modules/ 目录下对应的内核模块,比如 spi-stm32.ko
    • scp spi-stm32.ko root@10.2.1.62:/lib/modules/6.1.82/kernel/drivers/spi/spi-stm32.ko
    • 更新模块依赖::sudo depmod
    • 加载新模块:sudo insmod /lib/modules/6.1.82/kernel/drivers/spi/spi-stm32.ko
    • 或者使用 modprobe 自动处理模块依赖关系:sudo modprobe spi-stm32
http://www.yayakq.cn/news/191145/

相关文章:

  • 什么网站做展板的多番禺广州网站建设
  • 设计建设网站哪家好微信朋友圈营销技巧
  • 杭州建站程序邢台123网
  • 山东省荣成市建设局网站vs做网站加背景
  • 网站没内容可以备案吗做瑜珈孕妇高清图网站
  • 做视频网站的备案要求吗西安seo学院
  • 做网站还能挣钱吗建设网站的价格是多少
  • 成都企业建站两学一做知识问答网站
  • 海南旅游网站的建设理念代理彩票网站做链接
  • 品牌网站建设荐选蝌蚪wordpress怎么找到分类目录
  • 网站弹屏广告怎么做nginx 防御 wordpress 攻击
  • wordpress 调用discuz厦门seo关键词优化运营
  • 宁波建设工程主管部门网站wordpress 描述字段
  • 网站注册域名多少钱合肥建设学校网站
  • 北大荒建设集团有限公司网站新版wordpress头像
  • 网站备案修改域名公司域名是什么意思
  • 12380网站建设意见高德地图是中国的还是国外的
  • 爱发电怎么做网站介绍公司的话简短精辟
  • 成都企业网站建设 四川冠辰科技福田网站建设有限公司
  • 怀化汽车网站中国新闻社官网
  • 地方o2o同城网站源码建站公司专业定制
  • 商家产品展示网站源码昆明模板建站代理
  • 题库网站怎么做建筑公司加盟分公司
  • 网站设计与程序方向专业中国贸易公司100强
  • 常熟做网站优化企业电子商务网站建设策划书
  • 微信公众号链接的网站怎么做的定制摄影app和摄影网站的区别
  • 乐山 网站建设推广找客户平台
  • 网站建设与制作价格比较好的中文wordpress主题
  • 温州做高端网站公司ps软件需要付费吗
  • 深圳高端网站设计大连中山网站建设