android init.rc 到底在哪里?

来源:互联网 发布:tomcat war 部署 mysql 编辑:程序博客网 时间:2024/04/19 09:25

这些天想加一个启动进程到android的启动里面,结果找了半天修改启动的办法,大多提到是在init.rc里面修改,但是网上很多版本都没研究清楚啊



1 不知道源码的情况下,从安装包里面拿

通过下面的例子来讲述,实现一个功能:在android系统启动后,修改/data的访问权限为770.

共4步:1、解压ramdisk.img 2、用c语言完成要实现的功能 3、修改init.rc,启动c语言可执行程序  4、制作ramdisk.img

      1、解压ramdisk.img:

  解压、修改Android的ramdisk.img的手动方法:

  将ramdisk.img复制一份到任何其他目录下,将其名称改为ramdisk.img.gz,并使用命令

  gunzip ramdisk.img.gz

  然后新建一个文件夹,叫ramdisk吧,进入,输入命令
  cpio -i -F ../ramdisk.img 
  这下,你就能看见并操作ramdisk里面的内容了。

  此步可参考:http://blog.csdn.net/liushaogeng/archive/2010/10/14/5941259.aspx

   2、完成一个C语言程序chpermission.c,来实现修改权限的功能。代码如下:

     #include <stdlib.h>

      int main()

     {

        system("chmod 700 /data");

         return 0;

 

     }

    然后编译此程序,不过需要编译为android下的可执行程序,可参考我的博客:http://blog.csdn.net/liushaogeng/archive/2010/09/01/5855925.aspx ,采用博客中介绍的两种方法均可以。    编译完后将可执行文件push到模拟器的/data目录中去:     #adb push chpermission /data

     3、 修改ramdisk目录下init.rc文件,让其启动 chpermission程序, 增加以下代码:

     #add by me on 2010-10-18    
     service chpermission   /data/ chpermission 
          oneshot

     用于启动 chpermission,完成相应的功能--修改data权限。

     init.rc的语法可参考博客: http://blog.csdn.net/liushaogeng/archive/2010/10/18/5949244.aspx

     4、制作ramdisk.img,

  init.rc修改之后,可以使用下列命令重新打包成镜像
  cpio -i -t -F ../ramdisk.img > list
  cpio -o -H newc -O lk.img < list 
  当前目录下生成的lk.img就是我们的新镜像了。 

  可参考博客: http://blog.csdn.net/liushaogeng/archive/2010/10/14/5941259.aspx

   将ramdisk.img拷贝到sdk指向的目录。

    全部ok,重启自己的模拟器,查看data权限是否为770


ref:

http://blog.csdn.net/kaiwii/article/details/7681801



2 如果有源码的话:

2.1 一个简单的方法是:

修改方法对于有源码能编译的朋友来说很简单

那就是直接找到源码

android_install_folder/out/target/product/xxxx/root

文件夹下,xxxx代表你的产品名称

修改过后,重新编译源码,打包,烧录即可!

ref:

http://my.oschina.net/f839903061/blog/143092


2.2 系统默认的正在修改位置也许在这里:

android_install_folder/system/core/rootdir/init.rc 

http://blog.csdn.net/jacy_y/article/details/7094561


3 修改后,如果不想编译整个系统,我们应该在android下编译哪个东西?

当然是要编译android的内核,

make kernel 2>&1 | tee kernel.log






0 0
原创粉丝点击