【发布时间】:2017-03-24 08:19:41
【问题描述】:
我想控制 Android 设备上的 cpu 亲和性,以隔离内核以供 Linux 级应用程序使用。
如何在 Linux 中使用 isolcpus 内核引导命令行参数进行了记录,但我发现的所有描述都使用 Grub 来设置内核命令行。
如何在没有 Grub 的 Android 设备上为 Linux 执行此操作?
我可以在不构建自定义内核的情况下为 Android Linux 设置内核参数吗?
【问题讨论】:
我想控制 Android 设备上的 cpu 亲和性,以隔离内核以供 Linux 级应用程序使用。
如何在 Linux 中使用 isolcpus 内核引导命令行参数进行了记录,但我发现的所有描述都使用 Grub 来设置内核命令行。
如何在没有 Grub 的 Android 设备上为 Linux 执行此操作?
我可以在不构建自定义内核的情况下为 Android Linux 设置内核参数吗?
【问题讨论】:
有很多方法可以做到:-
选项1:编辑系统映像:/device///BoardConfig.mk
选项 2:编辑内核设备树:示例 msm8917.dtsi
chosen {
bootargs = "androidboot.selinux=permissive";
};
选项 3:编辑内核配置:-
+CONFIG_CMDLINE="foo=1"
+CONFIG_CMDLINE_EXTEND=y
检查运行时:-
#cat /proc/cmdline
【讨论】:
简短的回答是它取决于使用的内核和引导加载程序。大多数 Android 设备都是基于 ARM 的,因此该选项可能在您的内核中可用,也可能不可用。 GRUB 用于 x86 桌面 PC,但通常可以使用 ARM 系统 uboot 或少数其他引导加载程序。
【讨论】: