更改 Linux 操作系统

2024-06-22

我为我的嵌入式板构建 Linux 内核。

我想定制我的主板的功能。

我怎样才能做到这一点 ?

Thanks.


在元自定义层中创建以下树:

recipes-kernel/
└── linux
    ├── linux-at91
    │   ├── 0001-my-custom-dt.patch
    └── linux-at91_%.bbappend

In linux-at91_%.bbappend, put

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://0001-my-custom-dt.patch"

生成0001-my-custom-dt.patch,您可以使用以下步骤:

git clone https://github.com/linux4sam/linux-at91.git
cd linux-at91/
quilt new 0001-my-custom-dt.patch
quilt add arch/arm/boot/dts/at91-sama5d27_som1_ek.dts 
vim arch/arm/boot/dts/at91-sama5d27_som1_ek.dts

# modify DT

quilt refresh

您应该获得类似以下内容:

Index: linux-at91/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts
===================================================================
--- linux-at91.orig/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts
+++ linux-at91/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts
@@ -538,7 +538,7 @@
        compatible = "gpio-leds";
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_led_gpio_default>;
-       status = "okay"; /* Conflict with pwm0. */
+       status = "disabled"; /* Conflict with pwm0. */

        red {
            label = "red";

最后将补丁复制进去recipes-kernel/linux/linux-at91并重新启动 Yocto 构建。


笔记: 您还可以使用以下命令创建整个自定义设备树KERNEL_DEVICETREE https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#var-KERNEL_DEVICETREE位烘烤变量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 Linux 操作系统 的相关文章

  • gcc --- __attribute__((中断( irq )))

    我从手臂的设备驱动程序开始 在那里我看到每个处理程序都提到了 attribute interrupt irq 我很困惑这个属性将如何调用我们的驱动程序例程 Arm的IRQ有以下向量地址 0x00000018 或0xFFFF0018 因为同一
  • C 中的函数模拟?

    我正在编写一个单元测试来检查一些 API 调用 我正在使用检查来测试 我的模块是使用 CMake 构建的 如果重要的话 我不知道 我的测试调用一个函数 我需要测试 并且该函数调用另一个二进制文件 它的简化版本看起来像这样 unitTest
  • Linux下删除/重写/生成键盘事件

    我想在 Linux 下挂钩 拦截和生成键盘 make break 事件 然后再将它们传递给任何应用程序 更准确地说 我想检测关键事件流中的模式 并能够根据检测到的模式丢弃 插入事件到流中 我在 SO 上看到了一些相关问题 但是 它们要么只处
  • 在内核模式下读取/写入 Linux 上的 EFI 变量

    我正在研究 Linux UEFI 我想通过我的驱动程序代码访问 efi 变量 目前我正在寻找像 efi get variable 这样的 linux efi h API 但我不知道如何从我的驱动程序代码中调用这些 API struct ef
  • 我们可以在 c++ 中使用 POSIX C 库吗?

    我是 Linux 系统编程领域的新手 我目前使用 C 编程 想切换到 C 我们可以在 c 中使用 POSIX C 库中定义的所有函数而不进行任何更改吗 原则您应该能够使用 C 中的任何 C API 该语言包含有利于它的功能 大多数 C 库作
  • 如何学习Linux无线驱动(mac80211)的结构?

    Linux无线驱动mac80211中有这么多的结构 像struct net device struct ieee80211 hw struct ieee80211 vif and struct ieee80211 local等等 如此多的结
  • request_threaded_irq 的“处理函数”中的 I2c 读取和写入操作如何影响整个驱动程序?

    我有一个带有 request threaded irq 的处理函数和线程函数的驱动程序代码 与此类似 irq handler fn disable device interrupt i2c read from register set di
  • 将多个内核缓冲区映射到连续的用户空间缓冲区?

    我已经使用分配了多个内核可访问的缓冲区dma alloc coherent 每个大小为 4MiB 目标是将这些缓冲区映射到连续的用户空间虚拟内存中 问题是remap pfn range似乎不起作用 因为用户空间内存有时工作 有时不工作 或者
  • sys_open 是如何工作的?

    我编写了一个简单的字符设备驱动程序 mydev 其中包含 打开 文件操作 在用户空间应用程序中 我打开这个驱动程序节点 使用 open dev mydev O RDONLY open 系统调用内部调用sys open 我只想知道 sys o
  • MCP23017 I2C 设备驱动程序探测函数未调用

    我正在使用以下 I2C GPIO设备驱动 https github com torvalds linux blob master drivers gpio gpio mcp23s08 c访问 MCP23017 GPIO 使用 insmod
  • 在用户空间中启用写组合 IO 访问

    我有一个带有用户空间驱动程序的 PCIe 设备 我通过 BAR 向设备写入命令 这些命令对延迟敏感并且数据量很小 64 字节 因此我不想使用 DMA 如果我使用以下命令重新映射内核中 BAR 的物理地址ioremap wc然后将64字节写入
  • 解释 list_for_each_entry 和 list_for_each_entry_safe

    谁能解释一下 Linux 中 list for each entry 和 entry safe 循环的工作原理 它像是 list for each entry type cursor struct list head list member
  • 以零长度调用 write() 会产生什么后果?

    在 Linux 中处于相当高的水平write 函数 它会过滤掉写入 0 长度缓冲区的请求 这是有道理的 谁愿意操作系统浪费时间钻探各层只是为了确定没有任何工作要做 嗯 我 这与Linux 内核中的 I2C 写入确认轮询 https stac
  • 将内核内置模块替换为可加载模块

    我开发了一个内核模块来管理 nf4 标签作为字符设备 我在内核之外开发了这个模块 并在开发阶段将其编译为可加载内核模块 即 ko 进行了测试 一旦驱动程序功能正常且足够稳定 我就使用补丁将其插入 Linux 内核源代码 v4 9 30 以便
  • 如何用 C 语言从串行(SPI)连接读取数据?

    我正在尝试编写一个程序 该程序将安装在 Linux MCU Raspberry Pi 上 该程序将读取从另一个 MCU 我将自己构建的自制程序 发送到它的串行数据 我研究了如何做到这一点 并认为我有 大局 但仍然缺少一些东西 其一 我需要启
  • I2C 驱动程序应如何在 ACPI 中与 HID PRP0001 匹配

    我正在尝试实例化这个传感器 https elixir bootlin com linux v5 2 source drivers iio proximity vl53l0x i2c c在 ACPI 中使用设备特定数据 即Name DSD 并
  • 使用 GCC 为 Linux 设备驱动程序编译 Intel AVX 内联

    我在 corei7 上的 ubuntu 上运行 gcc 版本 4 8 2 从谷歌搜索中找到了有关 AVX 内在函数的信息 但我不确定这组内在函数是否可以用于 Linux 设备驱动程序并进行编译 如果可以的话 这里的任何人都可以告诉我 mak
  • 使用Linux虚拟鼠标驱动

    我正在尝试实施一个虚拟鼠标驱动程序根据基本 Linux 设备驱动程序书 有一个用户空间应用程序 它生成坐标以及内核模块 See 虚拟鼠标驱动程序和用户空间应用程序代码 http www embeddedlinux org cn Essent
  • 将 mmap 内核启动参数保留的内存映射到用户空间

    正如中所讨论的this https stackoverflow com q 1911473 143897问题 我在启动时使用内核启动参数保留一个内存块memmap 8G 64G 我写了一个字符驱动程序 http pete akeo ie 2
  • 编写I2C设备驱动时探测问题

    我是编写Linux设备驱动程序的新手 如果有什么愚蠢的问题和我糟糕的英语请原谅我 我正在尝试为触摸屏编写一个驱动程序 它通过 I2C 与 CPU 通信 我尝试在linux平台上添加设备驱动程序 注册成功 我的意思是驱动程序已加载 但探测功能

随机推荐

  • 如何使用 python 选择 CSV 文件中的每第 N 行

    我有一个包含数百行的 CSV 文件 我想选择每 3 行并将其导出到一个新的 CSV 文件 新的输出 CSV 文件以所选内容的第一行命名 例如在以下 CSV 文件中 1980 10 12 1 2 3 4 5 6 7 4 6 8 1 0 8 6
  • D3.js 对力导向图使用什么算法?

    我有兴趣确切地知道 D3 使用什么算法来实现库中的力导向图功能 读过科布罗夫的总结 http www cs brown edu rt gdhandbook chapters force directed pdf力导向图的历史让我有点困惑 不
  • Django 翻译不起作用

    我正在尝试按照教程让 Django 的翻译系统正常工作here https docs djangoproject com en 1 8 topics i18n translation 这是我的两种视图 一种用于直接输出 一种用于模板 两种都
  • 仅具有年/月视图的 PyQt 日历

    在 Qt Designer 中 QDateTimeEdit 具有日历视图选项 通过设置显示格式 我只能显示月 年 但是 当用户单击视图时 它会自动显示每日日历 有没有办法让它只显示月 年日历 为了形象地解释一下 Windows 日历具有与
  • 如何更改角度驱动引导程序 ngbDatepicker 的模型结构

    我在用角度驱动引导 ngbDatepicker https ng bootstrap github io components datepicker examples 我创建了自己的自定义控件 该控件将在不同页面中用于日期捕获 如下所示
  • 如何使用python抓取由javascript生成的html?

    我想抓取由 javascript 生成的 html 就像您在 Firebug 中看到的那样 UPDATE 我找到了这篇文章 http blog motane lu 2009 07 07 downloading a pages content
  • 根据用户显示器的尺寸/分辨率动态调整 div 的高度

    我有一个三行一列的网站设计 我希望调整中心内容 div 的大小以适应该列的其余部分 屏幕高度 硬编码的页脚高度 硬编码的标题高度 有没有一种可爱的方法可以用 CSS 来做到这一点 如果没有 我该如何用 javascript 来完成这个任务
  • 从外部存储加载位图时出现 OutOfMemory 异常

    在我的应用程序中 我从 JPEG 和 PNG 文件加载一些图像 当我将所有这些文件放入资产目录并以这种方式加载时 一切正常 InputStream stream getAssets open path Bitmap bitmap Bitma
  • 如何调用Web服务方法?

    我有一个包含此方法的网络服务 WebMethod public static List
  • 将 PHP 数组传递给 JavaScript 函数 [重复]

    这个问题在这里已经有答案了 我正在尝试将 PHP 数组变量转换为 JavaScript 变量 这是我的代码
  • 如何捕获或抑制 Go(lang) 测试的 stdout?

    如何捕获或抑制标准输出以进行 Go 测试 我正在尝试自学 go lang 测试 在下面的代码中 myshow LoadPath 将大量信息打印到 stdout 这是正常的副作用 然而 当我运行 go test 时 它确实会产生非常嘈杂的输出
  • QtCreator:找不到有效的套件

    在 Windows 7 上仅安装了 IDE 我想创建一个纯 C 项目 非 QT 项目 但是我收到错误 未找到有效的套件 当我单击 选项 gt 套件 时 我看到桌面 默认 套件 并且没有显示任何错误 我收到错误是因为我没有安装 Qt 库吗 如
  • 如何更改/更新 Neo4j - Cypher 中的标签?

    是否可以使用 Cypher 更改节点上的标签 我有一个带有标签的节点Book 如下所示 我想改变Book标签到DeletedBook u Person r b Book id id1 u Person r b DeletedBook id
  • 私有 Cocoapod 未在 iOS 模拟器上运行 - 架构 x86_64 的未定义符号

    我使用的是 M1 机器 该应用程序可以在真实设备上运行 但在 iOS 模拟器上显示此问题 私有 pod 托管在单独的私有 github 存储库上 只有一个 Xcframework 文件 其目标是podspec文件看起来像这样 有很多错误 以
  • 如何使用opencv将最近的点连接在一起

    在python中使用OpenCV模块是否可以连接下图中的红点 使得每个红点仅与其最近的邻居红点连接一次 第一步 您应该使用适当的工具将图像转换为二进制图像 例如cv2 cvtColor cv2 threshold cv2 bitwise n
  • .NET 中是否存在阻塞 StreamReader、TextReader 或 StringReader?

    我想运行一个后台任务 从 TextReader 读取输入并一次处理一行 我希望后台任务阻塞 直到用户在字段中输入一些文本并单击提交按钮 是否有某种类型的 TextReader 会阻塞 直到文本可用 并允许您以某种方式向底层源添加更多文本 我
  • Compass/SASS - 并非所有文件都被编译

    我不知道是否可以在不粘贴所有文件的完整代码的情况下解释该问题 但我会尝试 编辑我已将整个代码添加到 Github 帐户 我的 Sass 结构 https github com mnabialek sass structure 我使用 Win
  • 使用 ASP.NET Web API 访问会话

    我意识到会话和 REST 并不完全齐头并进 但是是否无法使用新的 Web API 访问会话状态 HttpContext Current Session始终为空 MVC 对于 MVC 项目进行以下更改 WebForms 和 Dot Net C
  • 主干 > 多个路由器和 History.start

    我希望多个路由器位于单个页面上以实现模块化 我将路由器初始化为 document ready 在不同的js文件中 当我只有一台路由器时工作正常 因为我可以打电话History start 初始化路由器后 但现在我有多个可以从不同文件初始化的
  • 更改 Linux 操作系统

    我为我的嵌入式板构建 Linux 内核 我想定制我的主板的功能 我怎样才能做到这一点 Thanks 在元自定义层中创建以下树 recipes kernel linux linux at91 0001 my custom dt patch l