Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to edit the init.rc in an i9300. I understand that editing the file as-is will not work as the file is reloaded from the boot image's ramdisk upon every bootup. After some googling, I read that I have to unpack, edit and repack the boot image. I came across the following link:,_Edit,_and_Re-Pack_Boot_Images

However, upon trying out the first command "cat /proc/mtd", I realize that my i9300 doesn't even have a /proc/mtd, so I'm wondering if any of the instructions there apply to this device.

/dev/block shows mmcblk0p1 to mmcblk0p12, but I'm not sure which one is the boot image. From my googling it seems that mmcblk0p6 is the recovery image though.

How can I edit the init.rc in this device?


share|improve this question
What do you want to achieve by doing this? If you want to mount another thing or remount a filesystem, you can use init.d script support. Thats far more easy and will let you execute scripts on boot. – Peter Feb 15 '13 at 8:27
I wish to start a native service at boot, which is a cross compiled ARM binary. – user1118764 Feb 20 '13 at 2:19
up vote 1 down vote accepted

You have two choices here:

  1. Edit the stock kernel (or the kernel you're using) to enable init.d support or edit the init.rc
  2. Use a custom kernel with init.d support already enabled.

I would suggest the second option as is far more easier to achieve. Once flashed a kernel with init.d support, you can add all the scripts you want to the folder that will be executed at boot time. The folder is located in /etc/init.d and all scripts inside that folder will be executed in order.

For example, if you have:

  • /etc/init.d/10-startup-daemon
  • /etc/init.d/50-mount-extra-partition

They will be executed in the same order I've typed them. You can change the order by changing the number at the begining of the file.

share|improve this answer
Thanks. I ended up unpacking/modifying/repacking the ramdisk in order to modify the init.rc to start the service I wanted. – user1118764 Feb 21 '13 at 7:21

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.