【问题标题】:Linux Driver Development - Can I seriously harm my system?Linux 驱动程序开发 - 我会严重损害我的系统吗?
【发布时间】:2014-06-18 11:40:23
【问题描述】:

我目前正在阅读一本关于 Linux 驱动程序开发的书。 现在我开始为 razer naga 鼠标编写驱动程序。

我的问题是,驱动程序开发中最坏的情况是什么? (我没有碰任何 CPU、硬盘、内存等)

我一直认为可能发生的最糟糕的事情是我使系统崩溃并且必须重新启动它。在我继续编写代码之前,我想确保我不会严重损害我的系统。

【问题讨论】:

  • 简短回答:没错。我真的想不出任何你会冒着炸毁硬件或让你的电脑变砖的风险的情况。嵌入式系统开发:是的。玩 PC Linux 的鼠标驱动程序 - 不。我认为你很安全。
  • 可能...但不确定。在内核上下文中运行的任何东西理论上都高于大多数保护,因此像破坏硬盘分区这样的事情当然是可能的 - 并且更难恢复像破坏 bios 或安全元素这样的事情在理论上是可能的。但大多数不涉及关键系统的无辜学习者错误只会导致运行尝试崩溃。
  • 理论上你可以set fire到东西...
  • 非常感谢。几乎每个教程和本书的作者都建议要小心。问题是这些警告非常严重。但无论如何,我会尽量不让任何打印机着火@Marc B 或炸毁我的鼠标:D
  • 在虚拟机中测试您的内核代码将为大多数托管系统提供另一层保护——尽管对于通过 USB 连接的外围设备而言并非如此。

标签: linux linux-kernel kernel driver


【解决方案1】:

如今的硬件相当多余。使用软件很难破坏硬件(除了加热问题)。

最坏的情况是你的系统变砖了,可能不得不重新安装操作系统。这在设备驱动程序开发过程中很容易发生。您在内核中有文件系统驱动程序,并且您的驱动程序可能会损坏内核堆栈,从而使其处于不可用状态。

Linux 内核内置了非常好的安全措施,例如一旦内核损坏就进入只读模式。这会将您的根文件系统挂载为只读模式,这样您就不能丢弃它。

所以,请始终保持安全。尝试在像 Virtualbox 这样的 VM 中进行开发,它现在可以为您提供几乎所有的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-04
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    相关资源
    最近更新 更多