我想学习linux内核编程,所以我从www.kernel.org下载了Linux内核3.7.6源代码.然而,在编辑任何内容之前,我尝试使用在线教程编译它.
在make花费大量的时间来编译和我还没有做到完全呢.有没有快速的方法来更改源代码并进行测试?因为我读过内核编译需要大约一个小时.
另外,如果可以在USB驱动器上复制和测试修改后的内核?是否可以在USB驱动器上安装GRUB,在USB上复制内核,在USB上配置GRUB然后运行它?如果是这样,请给我任何有相同步骤的资源.我的笔记本电脑上也安装了GRUB.如何在USB上设置新的GRUB而不会干扰我的笔记本电脑上的配置?
谢谢.. :)
你提到你想要学习Linux内核编程,所以我觉得我有一个更好的建议,因为你是所有这一切的新手.
你为什么不为初学者尝试做一些内核编程,比如介绍非常简单的驱动程序或与netfilter有关(你几乎可以用这个来控制整个TCP/IP)所有这些甚至都不需要编译内核?
内核模块是你的朋友:)
它们是一段简单的代码,你可以单独编译然后请运行的内核(使用insmodLinux命令)将这些代码附加到正在运行的内核中,然后就可以了!您有自己的代码在内核空间中运行.
我确实意识到这并不能完全回答你的问题,但我认为这样开始对你来说更容易,而且可能更有用; 一旦你对这里可以找到的许多东西更加熟悉,尝试继续实际修改现有的内核代码.
让你知道你可以用内核模块做什么:
-Drivers-
给内核添加一个新功能 -
我个人用它与netfilter(内核中的一组函数和钩子)来修改处理网络流量
- 你可以还修补你的内核(修改源代码,编译,运行整个事情)然后使用内核模块来编辑通常需要整个重新编译的东西,比如编辑系统调用; 虽然不推荐这种方法,但它可以增加您每次要进行测试时的测试时间,而不必编译和重新启动.
-多得多..
如果我在某些方面感到困惑,请告诉我.