【问题标题】:Obtaining kernel command line parameters of Android Linux kernel获取Android Linux内核的内核命令行参数
【发布时间】:2017-03-10 13:24:23
【问题描述】:

我知道当(Android)引导加载程序开始加载内核时,它会将一些参数传递给内核(例如androidboot.verifiedbootstate,...),可以通过读取/proc/cmdline文件获得,但可以读取仅在有根设备上。我是对的吗?有没有其他方法可以在非 root 的 Android 设备中获取内核参数?

【问题讨论】:

  • 如果您设置了本地控制台应用程序(例如CoreBot),您可以在那里运行cat /proc/cmdline吗?
  • 我需要在没有任何其他应用程序的情况下这样做。有没有办法与引导加载程序交互?我认为如果我们可以与引导加载程序进行交互,那也将是答案。
  • without any other application 怎么读?你必须在某个地方运行类似的东西才能获得你需要的东西。
  • 如果系统中有这样的文件,或者类似的文件,我可以在我自己的应用程序中读取它。

标签: android linux linux-kernel


【解决方案1】:

在“普通”Linux 中,/proc/cmdline 所有人都可以阅读。 Android 明确地从/proc/cmdline 中删除了该读取权限。

没有其他方法可以获取其内容,因为那样会绕过这种保护。 (如果有人想办法,很快就会关闭。)

【讨论】:

  • 感谢您的回答。与“普通”Linux 内核相比,Android 内核做了很多限制。我认为在这种情况下删除该文件的读取权限是不合理的。而且(这不是我的问题的延续,但无论如何,如果我弄错了,请纠正我)我还没有找到一种与 Android 设备的引导加载程序(fastboot 除外)交互的方法,比如 API 或一些配置文件引导加载程序。与像 grub 这样的“普通”Linux 引导加载程序相比,交互非常简单。
  • @user422595 如果您注意到它对与电话调制解调器相关的组 radio (可能不是在所有设备上)也可读。我怀疑这种预防措施,因为 /proc/cmdline 与无线电设置有关,并且在管理上禁止更改它们(FCC 等)
猜你喜欢
  • 1970-01-01
  • 2016-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-14
  • 2016-05-01
  • 1970-01-01
  • 2014-09-03
相关资源
最近更新 更多