123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- on fs
- sysclktz 0
- loglevel 3
- # setup the global environment
- export PATH /bin:/sbin:/usr/sbin:/usr/bin:/base/bin:/base/sbin:/opt/bin
- export GCONV_PATH /lib/gconv
- export DISPLAY :0.0
- symlink /startup/bin /bin
- symlink /startup/sbin /sbin
- mkdir /tmp
- mount tmpfs tmpfs /tmp
- mkdir /tmp/run
- mkdir /tmp/lock
- chmod 1777 /tmp/lock
-
- mkdir /var
- symlink /tmp /var/tmp
- symlink /tmp/run /var/run
- symlink /tmp/lock /var/lock
-
- mkdir /base
- loadimg mtd@base /base
- mkdir /data
- copy /proc/mtd /startup/mtd
- chmod 0444 /startup/mtd
- check_and_mount_data
-
- on early-boot
- # create POSIX shared memory folder
- mkdir /dev/shm
- chmod 0777 /dev/shm
- mount tmpfs tmpfs /dev/shm
-
- # restrict file permission under /usr/bin
- chmod 750 /usr/bin/modemd
- chmod 750 /usr/bin/pedd
- chmod 750 /usr/bin/ipservice
- chown root MAINAPP /usr/bin/crashd
- chmod 750 /usr/bin/crashd
- chown root root /usr/bin/devinfo
- chmod 755 /usr/bin/devinfo
- chown root MAINAPP /usr/bin/installer
- chmod 750 /usr/bin/installer
- chmod 750 /usr/bin/keyman
- # logcat, let it 755
- chown root MAINAPP /usr/bin/runapp
- chmod 750 /usr/bin/runapp
- chmod 750 /usr/bin/servicemanager
- chown root MAINAPP /usr/bin/tm
- chmod 750 /usr/bin/tm
- chown root MAINAPP /usr/bin/systemservice
- chmod 750 /usr/bin/systemservice
- chown root MAINAPP /usr/bin/ts_calibrate
- chmod 750 /usr/bin/ts_calibrate
- chown root MAINAPP /usr/bin/xcbd
- chmod 750 /usr/bin/xcbd
-
- # ./captoi sys_ptrace
- setcap 0x00080000 /bin/gdbserver
- # ./captoi dac_override setgid setuid setfcap chown
- setcap 0x800000c3 /usr/bin/installer
- # ./captoi setgid setuid
- setcap 0x000000c0 /usr/bin/runapp
- # ./captoi setgid setuid
- setcap 0x000000c0 /bin/xlogin
- # ./captoi net_admin net_raw sys_boot sys_time sys_admin
- setcap 0x02603000 /usr/bin/tm
- # ./captoi sys_admin sys_ptrace
- setcap 0x00280000 /usr/bin/crashd
- # ./captoi net_admin net_raw sys_boot sys_time sys_admin
- setcap 0x02603000 /usr/bin/systemservice
- # ./captoi sys_boot sys_time
- setcap 0x02400000 /usr/bin/xcbd
-
- mkdir /data/tombstones
- chmod 770 /data/tombstones
- chown MAINAPP MAINAPP /data/tombstones
-
- mkdir /data/security
- chmod 600 /data/security
- chown root root /data/security
- symlink /base/lib /lib
- symlink /data/etc /etc
- symlink /data/opt /opt
- symlink /lib/gconv /usr/lib/gconv
- write /proc/sys/kernel/randomize_va_space 2
- write /proc/sys/net/ipv4/tcp_keepalive_time 30
- write /proc/sys/net/ipv4/tcp_keepalive_intvl 15
- write /proc/sys/net/ipv4/tcp_keepalive_probes 5
- setprop ro.pukmode 2
- on boot
- # basic network init
- ifup lo
- hostname localhost
- domainname localdomain
- # mount usbfs
- mkdir /dev/bus/usb
- mount usbfs none /dev/bus/usb devmode=0666
- #u disk mount
- mkdir /mnt
- mount tmpfs tmpfs /mnt noatime noexec nosuid size=16k
- chown MAINAPP MAINAPP /mnt
- # set RLIMIT_NICE to allow priorities from 19 to -20
- # RLIMIT_NICE 13
- setrlimit 13 40 40
- # RLIMIT_STACK 3
- setrlimit 3 2097152 2097152
- class_start core
- if property:ro.fac.prolin_debug_level=0 rm /startup/bin/*
- if property:ro.fac.prolin_debug_level=0 rm /startup/sbin/*
- if property:ro.fac.prolin_debug_level=0 umount /proc
- if property:ro.fac.prolin_debug_level=0 rm /startup/modules/*
- if property:ro.fac.prolin_debug_level=0 rmdir /startup/modules/
- if property:ro.fac.prolin_debug_level=0 rm /startup/*.rc
- if property:ro.fac.prolin_debug_level=0 rm /startup/*.sh
- if property:ro.fac.prolin_debug_level=0 rm /startup/*.prop
- if property:ro.fac.prolin_debug_level=0 rm /startup/firmware/lcd_*.rle
- if property:ro.fac.prolin_debug_level=0 rm startup/firmware/lcd.watermark
- if property:ro.fac.prolin_debug_level=0 rm startup/firmware/lcd_readme.txt
- if property:ro.fac.prolin_debug_level=1 rm /startup/modules/*
- if property:ro.fac.prolin_debug_level=1 rmdir /startup/modules/
- if property:ro.fac.prolin_debug_level=1 rm /startup/*.rc
- if property:ro.fac.prolin_debug_level=1 rm /startup/*.sh
- if property:ro.fac.prolin_debug_level=1 rm /startup/*.prop
- wait /tmp/.BINDER_SERVICE_MANAGER_DONE
- rm /tmp/.BINDER_SERVICE_MANAGER_DONE
- class_start default
- ## Daemon processes to be run by init.
- service ueventd /startup/ueventd
- critical
- service console-root /bin/sh
- console
- disabled
- user root
- group root
- service console-MAINAPP /bin/sh
- console
- disabled
- user MAINAPP
- group MAINAPP
- on property:persist.sys.console.enable=1
- if property:ro.console=1 start console-MAINAPP
- if property:ro.console=2 start console-root
- on property:persist.sys.console.enable=0
- if property:ro.console=1 stop console-MAINAPP
- if property:ro.console=2 stop console-root
|