无法启动新建的CyanogenMod 13

时间:2016-07-11 12:26:56

标签: android boot cyanogenmod selinux

在为我的设备(12.1)使用最新版本的CM后,我决定尝试构建我的第一个ROM。所以我得到了Linux,同步来源13等等(我的设备树是here.

在我最终构建错误之前,我不得不解决一些与音频相关的构建错误。 (如果它有任何区别,我必须恢复的所有提交都与PCM音频卸载有关。)

现在,当我尝试启动ROM时,它会立即重新启动恢复,甚至不显示启动动画。看/proc/last_kmsg,问题似乎与SELinux有关:

...
[    4.340084] init: (Initializing SELinux enforcing took 0.51s.)
[    4.349071] type=1400 audit(1468237723.015:4): avc:  denied  { fowner } for  pid=1 comm="init" capability=3  scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=capability permissive=0
[    4.349387] init: SELinux: Could not set context for /init:  Operation not permitted
[    4.349506] init: restorecon failed: Operation not permitted
[    4.349699] init: Security failure; rebooting into recovery mode...
[    4.350353] SysRq : Emergency Remount R/O (triggered by init:1)
[    4.350581] Emergency Remount complete
[    4.350889] reboot - triggered with task: init (1:1)
...

我不熟悉SELinux,除了它使系统修改变得更加困难,但从我所看到的,包括设备特定和一般init.te文件Android源允许init使用fowner功能。

我试过了:

  • 通过sepolicy域允许
  • 修改init文件
  • 使用permissive init;
  • 中的init.te重建整个ROM
  • restorecon /adb_keys
  • 中评论restorecon_recursive /mntinit.rc
  • 使用EXTRA_CFLAGS += -DCONFIG_ALWAYS_ENFORCE=true
  • 重建设备内核
  • 在Google上搜索解决方案 - person on XDA与我有完全相同的问题,但他/她的后续帖子未就此事提出任何进展或解决方案

他们都没有任何区别,所以基本上,我是新鲜的想法。

我做错了什么?

0 个答案:

没有答案