【问题标题】:how to check whether the kernel is for android or linux?如何检查内核是适用于android还是linux?
【发布时间】:2014-01-28 22:04:47
【问题描述】:

我有一个内核的源代码。但我不知道内核是android内核还是Linux内核。我在谷歌上搜索过它,但我没有找到任何正确的答案。据我所知,android 内核是 Linux 内核,并在其上应用了一些补丁。所以我认为我们可以确定内核是用于 Linux 还是 android。

1.我可以通过查看源代码,或者通过运行任何命令或通过任何其他方法知道这一点吗?

2.如果是android内核,能否挂载Ubuntu文件系统?

【问题讨论】:

  • 试试System.getProperty("os.name")
  • 一个android内核是一个linux内核,只是一个特殊的内核。相当表明 Android 的东西是内核中存在 Binder 驱动程序,但这并不一定意味着会有 /dev/binder 节点,因为它是文件系统属性,而不是内核属性。由于没有特定的“ubuntu 文件系统”,因此挂载任何给定文件系统的可能性将取决于内核是否已编译或作为模块提供用于感兴趣的特定文件系统的驱动程序。

标签: android linux linux-kernel android-kernel


【解决方案1】:
  1. 在内核源代码根目录中查找 AndroidKernel.mk,如果它是 Android 内核,它应该在那里。
  2. Ubuntu 文件系统默认为 ext4。我很确定所有默认内核配置都包括对这个文件系统的支持。这背后的动机是什么?

顺便说一句,binder 的存在并不意味着它是一个 Android 内核。绑定器存在于所有 Linux 内核的暂存目录中

【讨论】:

    【解决方案2】:

    检查内核是否适用于 android 的简单方法。

    如果“drivers/usb/gadget”文件夹中有一个名为“android.c”的文件,则内核似乎是android内核,否则不是android。

    虽然不是很准确,但是很简单

    【讨论】:

    • 这不太可能是可靠的。在历史的各个阶段,小工具框架都被使用和未使用作为 Android 设备端 USB 实现的基础。
    • ·@ChrisStratton 我猜这意味着如果文件在那里,它就是一个Android内核。如果文件丢失,则无法得出结论。
    猜你喜欢
    • 2014-04-26
    • 1970-01-01
    • 2012-08-01
    • 2011-07-10
    • 2022-12-11
    • 2013-05-19
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多