1. 程式人生 > >init.rc中的mount等命令執行時呼叫的原始碼位置

init.rc中的mount等命令執行時呼叫的原始碼位置

以mount命令為例

在Android啟動時,init程序會解析init.rc檔案,對於init.rc中定義的mount這個command,如

on fs

    mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000

執行這個mount操作的原始碼在

system/core/init/builtins.cpp的do_mount函式中,在do_mount中會最終呼叫mount來完成init.rc中mount命令的執行

system/core/init/builtins.cpp

#include <sys/mount.h>

/* mount <type> <device> <path> <flags ...> <options> */
static int do_mount(const std::vector<std::string>& args) {

在builtins.cpp中還可以看到do_mkdir,do_insmod,do_loglevel,do_chmod等函式,這寫函式都是init.rc下對應command的實現。