hopper886 发表于 2012-8-25 07:51:57

中兴 F660关键启动过程初步分析

中兴F660的关键启动过程



step 1: inittab文件有以下语句:
::sysinit:/etc/init.d/rcS
表面系统init完成后,将启动/etc/init.d/rcS脚本,该脚本的主要执行内容如下:

1.设置环境变量



2.执行/etc/default/rcS脚本;

设置一些为/etc/rcS.d目前下脚本执行的一些变量
Defaults for the boot scripts in /etc/rcS.d

3.执行/etc/default/S00tagparam脚本    ==> mount /dev/mtdblock2 to /tagparam

4.执行/etc/rcS.d/SS??*脚本文件
    4.1 执行S31emacs脚本,即Configure TSMAC interfaces
      4.1.1 对/etc/sysconfig/network-scripts/ifcfg-mii*下文件分别执行之(shell设置变量的语句)
      4.1.2 根据设置的DEVICE=xxx; HWADDR=xxx; CONNTYPE=xxx; MIITYPE=xxx; PHYADDR=xxx; LINKMODE=xxx;
            对应创建/proc/net/${DEVICE}/connType文件(即执行echo ${CONNTYPE} > /proc/net/${DEVICE}/connType)
                      /proc/net/${DEVICE}/phyAddr文件(即执行echo ${PHYADDR} > /proc/net/${DEVICE}/phyAddr)
                      /proc/net/${DEVICE}/miiType(...)
                      /proc/net/${DEVICE}/linkMode
    4.2 执行S40network脚本 :Initializes network interfaces
      根据ls /etc/sysconfig/network-scripts/ifcfg-*下的配置文件内容,若ONBOOT=“yes”则配置对应网卡,可由HWADDR改MAC地址,BOOTPROTO定staticIP,DHCP,PPPOE(pppoe拨号由/usr/bin/pppoe-start ${DEVICE}执行)等。

    4.3 执行S43BSPDriver脚本,即加载 BSP driver module
      非常简单,就只是执行/sbin/insmod /kmodule/bspdriver.ko
    4.4 执行S99modules脚本, ==== 中兴一堆与GPON,VOIP等driver加载的脚本:
      4.4.1 加载Personalized Paramters Driver
            /sbin/insmod/kmodule/tagparam_mod.ko
      4.4.2 加载Switch Fabric Device Driver。
               /sbin/insmod /kmodule/mv_tpm.ko
               /sbin/insmod /kmodule/switch.ko
               === switch.ko重新初始化xml,其中buffer部分需要端口未启动时配置,因此先down,再up
      4.4.3 加载GPON/EPON mv_gpon.ko,gpondrv.ko
      4.4.4 加载optical driver:optical.ko
      4.4.5 加载SLIC driver:usrline.ko
      4.4.6 加载Ethernet Driver:netdriver.ko
      4.4.7 加载DSP driver:kudp.ko,voip_codec.ko,dsp_dev.ko
      4.4.8 加载l2 l3 fast:l2fastpath.ko,l3fastpath.ko

5.执行/etc/default/S01userconfig   
5.1 mount 15M的ramdisk at /var: mount -t tmpfs -o size=15360k tmpfs /var
5.2 check and mount /dev/mtdblock5 to /userconfig
5.3 Check for a jffs2 filesystem on mtd4 and mount mtd4 to /usr/local/ct, 即mount /dev/mtdblock4 /usr/local/ct


6.检查是否存在/userconfig/cfg/flag_usrfs日志文件,若无Create log flag file
7.处理GPON国家码、地区码配置的一些database文件xxx.xml;
8.copy some files to /var/tmp/linux-igd, used by UPNP and SNTP
9.执行 pc&   ####==>auto-start cspd


煮公鸡 发表于 2012-9-5 17:48:13

这么复杂,看不懂。

cdkey51 发表于 2012-10-27 03:09:06

楼主是怎么分析的,难道是有TTL?

心非所愿 发表于 2012-10-27 07:05:42

这么牛啊,分析这有什么用

心非所愿 发表于 2012-10-27 19:18:30

有点不懂,不过支持

jg518 发表于 2012-11-10 01:37:52

看不明白,不过非常感谢

wolfchenyang 发表于 2012-12-26 13:55:39

看不懂,感谢楼主,辛苦了**

张晓阳 发表于 2013-2-2 11:29:06

看不懂,但也五体投地!

daxi 发表于 2013-3-1 23:21:20

看得出来,楼主一定是用心研究了一番才有这些收获的,支持一下

魔术 发表于 2013-3-18 01:36:00

查看用户名密码
页: [1] 2
查看完整版本: 中兴 F660关键启动过程初步分析