在Android中使用启动脚本init.rc,可以在系统的初始化中进行简单的操作。
init.rc启动脚本路径:system/core/rootdir/init.rc
内容:
- Commands:命令
- Actions:动作
- Triggers:触发条件
- Services:服务
- Options:选项
- Properties:属性
Commands是一些基本操作。如:
mkdir /system
mkdir /data 0771 system system
mkdir /persist 0771 system system
devwait /dev/block/mmcblk0p12
mount ext3 /dev/block/mmcblk0p
Action表示一系列命令,通常在Triggers中调用,如:
on init //表示一个触发条件
sysclktz 0
loglevel 3
# setup the global environment
export PATH /sbin:/system/sbin:/system/bin:/system/xbin
export LD_LIBRARY_PATH /system/lib
export ANDROID_BOOTLOGO 1
Services通常表示启动一个可执行程序,Options是服务的附加内容,用于配合服务使用。
service vold /system/bin/vold //vold是服务名称,/system/bin/vold是所对应的可执行程序。
socket vold stream 0660 root mount //socket是配合服务使用的选项
ioprio be 2
service netd /system/bin/netd
socket netd stream 0660 root system
配合服务使用的选项有socket,user,group,oneshot。
oneshot表示该服务只启动一次,而如果没有oneshot选项,这个可执行程序将一直存在——如果可执行程序被杀死,则会重新启动。
Properties是系统中使用的一些值,可以进行设置和读写。
setprop ro.HIDDEN_APP_MEM 5120 //setprop用于设置属性
setprop ro.CONTENT_PROVIDER_MEM 5632
setprop ro.EMPTY_APP_MEM 6144
...
on property:ro.kernel.qemu=1 //on property用于判断属性
start adbd
这里的属性在整个android系统运行中都是一致的。
init脚本的关键字可以参考init进程中的system/core/init/keyword.h文件。如:
KEYWORD(chroot, COMMAND, 1, do_chroot) //chroot是命令,do_chroot()是调用的函数,这个函数在init进程中的system/core/init/builtins.c文件中定义。
init.rc使用方法,见说明文件system/core/init/readme.txt
http://blog.sina.com.cn/s/blog_6fba73770100nn6h.html
相关推荐
### Android启动流程详解:init.c与init.rc分析 #### 一、引言 在深入了解Android启动过程时,我们不可避免地会遇到两个核心组件:`init.c`和`init.rc`。这两个组件对于理解整个Android系统的启动流程至关重要。...
### Android的初始化语言脚本init.rc解析 #### 概述 `init.rc` 是 Android 系统中的核心初始化脚本,用于定义系统启动时的行为和服务。这个脚本使用了一种特殊的语言来描述启动过程中的各个步骤,包括启动哪些服务...
Android 的初始化语言脚本 init.rc 是 Android 操作系统中的一种初始化语言,用于描述 Android 系统的启动过程和初始化操作。init.rc 语言由四大类声明组成:行为类(Actions)、命令类(Commands)、服务类...
init.rc 是 Android 系统初始化脚本,用于控制系统的启动和运行过程。该脚本由四种类型的声明组成:Actions(行动)、Commands(命令)、Services(服务)和 Options(选项)。 Actions(行动) ------------- ...
在Android系统中,`init.rc`脚本是一个至关重要的组件,它是系统启动过程中最早执行的一批脚本之一,用于初始化系统服务、守护进程以及其他必要的设置。这篇博客文章可能详细介绍了`init.rc`脚本的工作原理及其在...
在深入探讨Android系统启动流程时,`init.rc`脚本无疑扮演着核心角色。这份脚本是系统初始化过程中第一个被执行的脚本,负责设置系统环境、启动服务以及配置硬件设备。下面,我们将详细解析`init.rc`脚本中的关键...
"Linux系统初始化脚本init.rc的语法介绍" init.rc是Android系统的初始化脚本,它控制着系统的启动过程。在init.rc文件中,我们可以定义各种Actions、Services、Options等元素,以控制系统的行为。本文将详细介绍...
在Android系统中,`init.rc` 是一个非常重要的配置文件,它在系统启动时执行一系列初始化任务,包括启动服务、创建文件系统对象等。当我们谈论"10.0 init.rc中data下创建文件节点失败.zip"这个主题时,显然我们关注...
在Android系统中,init.rc是启动过程中的核心配置文件,它定义了系统启动时的各种服务、守护进程(daemons)以及其他初始化操作。针对高通LA.1.1基线的Android源码,我们来深入探讨init.rc文件中涉及的服务启动流程...
它是Android系统启动时执行的第一个脚本,用于配置系统环境、启动服务等。本文将深入解析`init.rc`文件的结构和解析过程。 首先,`init.rc`文件由不同类型的section组成,主要包括`on`、`service`和`import`这三种...
Android init.rc文件简单介绍 init.rc脚本是由Android中linux的...也就是说,android启动后,会将init.rc文件装载到内存。而修改init.rc文件的内容实际上只是修改内存中的init.rc文件的内容。一旦重启android,init.rc
Android 的 init.rc 文件是 Android 系统启动时的初始化脚本文件,它使用 Android 初始化语言(Android Init Language)来定义系统的启动过程。该语言包括四种类型的语句:动作(Actions)、指令(Commands)、服务...
`init.rc` 文件是 Android 系统启动时执行的重要脚本,用于初始化系统服务和守护进程。在这个场景下,可能有人为了隐藏或定制某些功能,对原版 `init.rc` 进行了调整。 首先,我们需要理解 `module.prop` 和 `...
init.rc 是 Android 系统初始化脚本,它包含四种类型的声明:Actions、Commands、Services 和 Options。这些声明都是以行为单位的,使用空格来隔开记号。C 语言风格的反斜杠号可以用于在记号间插入空格。双引号也...
本文将重点分析Android启动过程中的关键源代码文件init.c,该文件位于system/core/init目录下,主要负责启动和管理系统进程,以及解析init.rc文件。 首先,我们来关注main函数的定义,这是init程序的入口点。在main...
这个是android源码中的一个文件,不过个人认为,只要是想学习android initrc文件的人,看这个文件足够了。
在Android系统中,`androidinit`脚本是设备启动过程中的核心部分,它负责系统的初始化、服务管理和事件响应。本文将深入探讨`init.*.rc`、`init.conf`文件格式以及Android初始化语言的主要概念。 Android初始化语言...
- **init.rc文件结构**:`init.rc`文件采用了自定义的脚本语言(通常称为AIL语言),具有简单的语法结构,支持定义服务、动作、条件语句等。 - **解析流程**: - `init`进程调用`init_parse_config_file`函数来...
在配置 init.rc 文件时,需要将 tcpadb.sh 脚本文件添加到 init.rc 文件中,以便在开机后自动启动 WiFi-Adb 连接服务。可以使用以下命令实现: ```makefile on boot ... chmod 0777 /system/bin/tcpadb.sh ...