tux*_*ind 2 android initialization
我想在这个init过程中启动一个自定义程序.我静态地编译了这个程序,从我启动的android stock ROM中运行良好.
从android init.rc文档我读到exec命令是我需要的.
BTW所有我能看到的dmesg是我的程序退出代码-1(我无法返回).
init.rc 片段:
on post-fs-data
write /dev/kmsg "launching test"
exec /data/test
Run Code Online (Sandbox Code Playgroud)
我所看到的dmesg只是:
<4>[ 6.336816] launching test
<6>[ 6.336902] init: command 'write' r=0
<6>[ 6.337115] init: command 'exec' r=-1
Run Code Online (Sandbox Code Playgroud)
在这里,您是可执行的源代码:http://pastebin.com/Hym1APWx
我试图静态编译并运行这个程序:
int main(){return 0; }
Run Code Online (Sandbox Code Playgroud)
但结果总是如此command 'exec' r=-1.也许用户uselen是正确的,也许我无法/data在早期启动阶段运行可执行文件.
正如克里斯蒂安所说,看起来exec甚至没有实现.我开始认为init.rc记录的很多功能都没有实现.这是您可以启动程序的方法.
而不是将其作为"exec"命令运行,而是将其设置为服务.
在您的init.rc或其中包含的其他文件中:
service my_service /data/test
class main
oneshot
Run Code Online (Sandbox Code Playgroud)
如果它在类main中,而不是禁用,它应该在/ data挂载后运行.
| 归档时间: |
|
| 查看次数: |
9192 次 |
| 最近记录: |