linux-kernel - 搭建Linux设备驱动开发环境
问题描述
我正在尝试阅读 Jonathan Corbet、Greg Kroah-Hartman、Alessandro Rubini 的 LDD 书并实现示例模块。所以首先,我尝试建立一个开发系统。安装了 Ubuntu 16.04 Xenial。现在,我刚刚创建了一个目录并使用 Makefile 编写了 hello_world 模块。构建并运行它,验证 dmesg 日志。
这就是所有的开发设置吗?我在网上搜索并找到他们要求下载和编译内核,使用 VM 引导内核的文章。是什么原因?或者我错过了什么?
有没有更好的文章来澄清这一点?
谢谢哈戈
解决方案
这取决于你的目标。对于您的情况,您已经为您的计算机制作了一个内核驱动程序(它运行 Linux 内核)。但是如果你想为另一个目标开发一个内核驱动程序,比如 Rasberry Pi、ARM 板、X86-X64 板……你必须学会编译、编辑内核配置、启动内核映像……因为每个目标都有不同的内核版本。您可以参考此培训了解更多详情:https ://bootlin.com/training/embedded-linux/
推荐阅读
- html - Firebase 初始化为已删除的项目,没有 firebase.json 文件
- docker - docker in docker on a --create-with-container gce 导致分段错误(核心转储)
- docker - 使用 docker-compose 运行多个 docker 容器会导致不同应用程序的标准输出挂起
- django - 函数没有对象成员 pylint
- javascript - 如何在请求标头中添加 API 密钥?
- terraform - Terraform - 如何删除通过控制台编辑的能力?
- apache-kafka - Flink:数据流到表
- python - Cifar10 数据集拟合错误上的自动编码器
- java - 如何使用循环中生成的线程进行多线程处理?
- azure-pipelines - 在 Azure DevOps 服务器中使用私有 Azure 工件中的包