gpt4 book ai didi

linux - 在家学习内核黑客和嵌入式开发?

转载 作者:IT老高 更新时间:2023-10-28 12:38:41 24 4
gpt4 key购买 nike

我总是被内核黑客和嵌入式系统的世界所吸引。
有没有人有关于开始弄乱这些东西的好教程(+容易获得的硬件)?
诸如用于编写驱动程序的工具包之类的东西,它们带有良好的文档并且价格合理?

谢谢!

最佳答案

如果您对内核开发完全陌生,我建议不要从硬件开发开始,而是使用一些“纯软件”内核模块,如 proc 文件/sysfs 或更复杂的示例文件系统/网络开发,在 uml 上开发/vmware/virtualbox/... machine 所以让你的机器崩溃不会有太大的伤害 :) 对于嵌入式开发,你可以使用小型 ARM 开发套件或小型 Via C3/C4 机器,或任何可以烧录的旧 PC使用您的自制 USB/PCI/任何设备。

一个好的起点可能是Kernelnewbies.org - 它为内核开发人员提供了大量链接和有用信息,还提供了一系列易于实现的任务,供初学者使用。

一些值得阅读的书:

Understanding the Linux Kernel - 一个很好的引用,详细介绍了内核子系统的设计

Linux Device Drivers - 写得更像是一个包含大量示例代码的教程,重点是让您了解并解释 linux 内核的关键方面。它介绍了内核模块的构建过程和基础知识。

Linux Kernel Module Programming Guide - 一些更多的介绍性 Material

如前所述,查看 linux 代码总是一个好主意,尤其是 Linux 内核 API 往往会经常更改... LXR 提供了非常好的浏览界面 - lxr.linux.no

要了解内核构建过程,此链接可能会有所帮助:

Linux Kernel Makefiles (kbuild)

最后但同样重要的是,浏览内核源代码分发的文档目录!

下面是一些从内核开发类(class)中偷来的有趣练习:

  • 编写一个内核模块,该模块创建文件/proc/jiffies,在每次读取访问时以 jiffies 报告当前时间。
  • 编写一个提供 proc 文件/proc/sleep 的内核模块。当应用程序将若干秒作为 ASCII 文本写入此文件时(“echo 3 >/proc/sleep”),它应该阻塞指定的秒数。写访问应该对文件的内容没有副作用,即,在读访问时,文件应该看起来是空的(参见 LDD3,第 6/7 章)
  • 编写一个 proc 文件,您可以在其中临时存储一些文本(使用 echo "blah">/proc/pipe)并再次将其取出(cat/proc/pipe),清除文件。注意同步问题。
  • 修改管道示例模块注册为字符设备/dev/pipe,为写请求添加动态内存分配。
  • 编写一个非常简单的文件系统。

关于linux - 在家学习内核黑客和嵌入式开发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com