【问题标题】:can we change the mode of /system or /data in the init.rc我们可以在 init.rc 中更改 /system 或 /data 的模式吗
【发布时间】:2012-06-27 01:28:44
【问题描述】:

在init.rc中,我可以看到如下代码:

 mkdir /system
 mkdir /data 0771 system system

所以,我想知道我们可以通过重写这样的命令来改变init.rc中/system或/data的模式吗? 真的,我已经做了一个测试。我将上面的代码更改为以下代码:

mkdir /system 0777 
mkdir /data 0777 system system

但是,不幸的是,它失败了。 所以,我想到了两个问题。

  1. 还有其他的初始化脚本可以改变这些的模式吗 两个目录?
  2. 我的代码是否以正确的语言形式正确书写?

【问题讨论】:

  • 你确定你设法改变了 init.rc 吗?通常,它包含在启动时从内核旁边解压缩的映像中 - 当您在设备上“更改”它时,您只是更改了一个 ramdisk 副本,它将无法在重新启动后继续存在,您需要使其生效。您对 init.rc 所做的更改是否在重新启动后仍然存在?如果没有,您将需要查找映像的 cpio 命令并了解如何将存档与内核一起打包并重新刷新它。无论如何,让每个人都可以完全访问 /data 是一个的想法。你已经有一个 root shell,应该足够了。
  • 也许!但是,实际上我已经完成了你提到的事情!我将 ramdisk.img 打包到一个文件夹中,然后更改它。最后,我再次打包它。更重要的是,当我再次运行模拟器时,我检查了 /init.rc,它显示了我重写的内容!跨度>
  • 但是,无论如何,虽然/init.rc包含了改写的内容,但是改写的部分并没有生效。因为,我也设置了一个程序为服务。但是没有生效。所以,事实上,我不确定 /init.rc 是否已经改变了!知道吗?thx

标签: android android-emulator android-ndk


【解决方案1】:

我想仅仅改变 init.rc 文件是不够的。 Android还在镜像创建过程中内置的system/core/include/private/android_filesystem_config.h文件中指定了一些目录和文件的权限。

【讨论】:

  • 但是,为什么我指定的服务无法运行?
  • 我不明白你的问题。您的首要问题中没有关于服务的任何内容。
  • 是的,请阅读我的另一个问题,stackoverflow.com/questions/11236897/…
  • 你必须把你的错误放在那里。我不知道为什么它没有启动。
  • 实际上,我找不到错误。服务无法启动。您能给我一些提示以找出错误或如何调试吗?thx
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-04
  • 2015-06-08
  • 2013-04-15
  • 1970-01-01
  • 2013-12-11
  • 1970-01-01
  • 2021-01-06
相关资源
最近更新 更多