使用linux进行Android内核开发

时间:2017-07-20 16:17:56

标签: android linux-kernel kernel android-kernel

我有兴趣为Android手机开发内核。我在网上搜索了android内核开发,我得知如何在linux机器上构建内核意味着如何使用工具创建自定义内核但我想知道如何编写代码来制作android内核。如何从c编程和ALP开始。请指导我。

1 个答案:

答案 0 :(得分:1)

Android使用Linux内核,这就是为什么你应该首先熟悉Linux。

从你的帖子我猜你不太了解C编程语言。在开始执行任何内核工作之前,您应该能够在C中编写应用程序,因为如果您无法编写应用程序,则可能无法理解内核。

要开始学习C,到处都有几十种资源,我推荐Brian W. Kernighan编写的“C编程语言”一书。和Denis M. Ritchie(C的发明者)。

应用程序在所谓的“用户模式”下运行,并且只能访问内核提供给它们的虚拟内存。如果应用程序试图访问不在其虚拟空间中的内存,则内核会发送中止信号。这可以防止系统崩溃。在内核中并非如此,因为内核在“内核模式”下运行,因此当你做错了什么时可以访问整个地址空间,其结果可能从停止系统到擦除永久存储等等。

首先,学习如何编写应用程序,可能是本机应用程序,尝试通过了解“系统调用”来使用内核提供的功能。为此,我推荐Mark Mitchel出版的“高级Linux编程”一书,它可以在其网站http://advancedlinuxprogramming.com/上免费托管。你可以在这里找到一些参考https://en.wikibooks.org/wiki/The_Linux_Kernel

如果您熟悉Linux内核提供的C和服务。你可以开始考虑潜入内核。非常受欢迎的书是Robert Love的“Linux内核开发”。虽然我不认为它是最新的它应该涵盖与该主题相关的主要主题,但可能有更新的资源。

这是一个漫长的旅程,您应该首先考虑它,取决于您想要做什么,您实际上可以在“用户空间”中进行。