`
java-admin
  • 浏览: 1388887 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

Android启动脚本init.rc(2)

阅读更多

Android——init.rc脚本

(2010-12-22 16:47:51)
<script></script>标签:

it

分类: 技术
<!-- 正文开始 -->

在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

分享到:
评论
1 楼 ihopethatwell 2012-10-11  
楼主,如果这个可以设置权限的话,那么/data/data 目录开放 这里应该设置什么?

相关推荐

    Android 启动流程(init.c 和init.rc分析)

    ### Android启动流程详解:init.c与init.rc分析 #### 一、引言 在深入了解Android启动过程时,我们不可避免地会遇到两个核心组件:`init.c`和`init.rc`。这两个组件对于理解整个Android系统的启动流程至关重要。...

    Android的初始化语言脚本init.rc解析

    ### Android的初始化语言脚本init.rc解析 #### 概述 `init.rc` 是 Android 系统中的核心初始化脚本,用于定义系统启动时的行为和服务。这个脚本使用了一种特殊的语言来描述启动过程中的各个步骤,包括启动哪些服务...

    Android的初始化语言脚本init.rc解析.pdf

    Android 的初始化语言脚本 init.rc 是 Android 操作系统中的一种初始化语言,用于描述 Android 系统的启动过程和初始化操作。init.rc 语言由四大类声明组成:行为类(Actions)、命令类(Commands)、服务类...

    linux系统初始化脚本init.rc的语法介绍.pdf

    init.rc 是 Android 系统初始化脚本,用于控制系统的启动和运行过程。该脚本由四种类型的声明组成:Actions(行动)、Commands(命令)、Services(服务)和 Options(选项)。 Actions(行动) ------------- ...

    Android——init.rc脚本

    在Android系统中,`init.rc`脚本是一个至关重要的组件,它是系统启动过程中最早执行的一批脚本之一,用于初始化系统服务、守护进程以及其他必要的设置。这篇博客文章可能详细介绍了`init.rc`脚本的工作原理及其在...

    Android init.rc 脚本说明

    在深入探讨Android系统启动流程时,`init.rc`脚本无疑扮演着核心角色。这份脚本是系统初始化过程中第一个被执行的脚本,负责设置系统环境、启动服务以及配置硬件设备。下面,我们将详细解析`init.rc`脚本中的关键...

    linux系统初始化脚本init.rc的语法介绍宣贯.pdf

    "Linux系统初始化脚本init.rc的语法介绍" init.rc是Android系统的初始化脚本,它控制着系统的启动过程。在init.rc文件中,我们可以定义各种Actions、Services、Options等元素,以控制系统的行为。本文将详细介绍...

    10.0 init.rc中data下创建文件节点失败.zip

    在Android系统中,`init.rc` 是一个非常重要的配置文件,它在系统启动时执行一系列初始化任务,包括启动服务、创建文件系统对象等。当我们谈论"10.0 init.rc中data下创建文件节点失败.zip"这个主题时,显然我们关注...

    高通LA.1.1基线android源码init.rc中启动的服务相关流程图

    在Android系统中,init.rc是启动过程中的核心配置文件,它定义了系统启动时的各种服务、守护进程(daemons)以及其他初始化操作。针对高通LA.1.1基线的Android源码,我们来深入探讨init.rc文件中涉及的服务启动流程...

    Android-init.rc文件解析过程详解.docx

    它是Android系统启动时执行的第一个脚本,用于配置系统环境、启动服务等。本文将深入解析`init.rc`文件的结构和解析过程。 首先,`init.rc`文件由不同类型的section组成,主要包括`on`、`service`和`import`这三种...

    Android init.rc文件简单介绍

    Android init.rc文件简单介绍 init.rc脚本是由Android中linux的...也就是说,android启动后,会将init.rc文件装载到内存。而修改init.rc文件的内容实际上只是修改内存中的init.rc文件的内容。一旦重启android,init.rc

    android的init.rc文件的语法

    Android 的 init.rc 文件是 Android 系统启动时的初始化脚本文件,它使用 Android 初始化语言(Android Init Language)来定义系统的启动过程。该语言包括四种类型的语句:动作(Actions)、指令(Commands)、服务...

    Hide init.rc was modified.zip

    `init.rc` 文件是 Android 系统启动时执行的重要脚本,用于初始化系统服务和守护进程。在这个场景下,可能有人为了隐藏或定制某些功能,对原版 `init.rc` 进行了调整。 首先,我们需要理解 `module.prop` 和 `...

    linux系统初始化脚本init.rc的语法介绍借鉴.pdf

    init.rc 是 Android 系统初始化脚本,它包含四种类型的声明:Actions、Commands、Services 和 Options。这些声明都是以行为单位的,使用空格来隔开记号。C 语言风格的反斜杠号可以用于在记号间插入空格。双引号也...

    android启动源代码分析(init.c)

    本文将重点分析Android启动过程中的关键源代码文件init.c,该文件位于system/core/init目录下,主要负责启动和管理系统进程,以及解析init.rc文件。 首先,我们来关注main函数的定义,这是init程序的入口点。在main...

    android initrc

    这个是android源码中的一个文件,不过个人认为,只要是想学习android initrc文件的人,看这个文件足够了。

    androidinit脚本编写.pdf

    在Android系统中,`androidinit`脚本是设备启动过程中的核心部分,它负责系统的初始化、服务管理和事件响应。本文将深入探讨`init.*.rc`、`init.conf`文件格式以及Android初始化语言的主要概念。 Android初始化语言...

    android系统从init进程开始到systemserver启动详细流程

    - **init.rc文件结构**:`init.rc`文件采用了自定义的脚本语言(通常称为AIL语言),具有简单的语法结构,支持定义服务、动作、条件语句等。 - **解析流程**: - `init`进程调用`init_parse_config_file`函数来...

    Android8.1-如何开机自启动WiFi-Adb连接.pdf

    在配置 init.rc 文件时,需要将 tcpadb.sh 脚本文件添加到 init.rc 文件中,以便在开机后自动启动 WiFi-Adb 连接服务。可以使用以下命令实现: ```makefile on boot ... chmod 0777 /system/bin/tcpadb.sh ...

Global site tag (gtag.js) - Google Analytics