PPCGeeks

PPCGeeks (http://forum.ppcgeeks.com/index.php)
-   Samsung Moment (http://forum.ppcgeeks.com/forumdisplay.php?f=127)
-   -   init.rc and recovery.rc - Are these worthwhile? (http://forum.ppcgeeks.com/showthread.php?t=97960)

glitch77-2 11-22-2009 12:01 AM

init.rc and recovery.rc - Are these worthwhile?
 
init.rc

Code:


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
    export ANDROID_ROOT /system
    export ANDROID_ASSETS /system/app
    export ANDROID_DATA /data
    export EXTERNAL_STORAGE /sdcard
    export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar

# Backward compatibility
    symlink /system/etc /etc

# create mountpoints and mount tmpfs on sqlite_stmt_journals
    mkdir /lib/modules
    insmod /lib/modules/xsr.ko
    insmod /lib/modules/dpram.ko

    insmod /lib/modules/xsr_stl.ko
    insmod /lib/modules/rfs.ko
#    insmod /lib/modules/yaffs2.ko

#    insmod /lib/modules/multipdp.ko
    insmod /lib/modules/vibrator.ko

    insmod /lib/modules/s3c_rotator.ko
    insmod /lib/modules/s3c_mfc.ko
    insmod /lib/modules/s3c_g2d_driver.ko
    insmod /lib/modules/s3c_pp.ko
    insmod /lib/modules/s3c_jpeg.ko
    insmod /lib/modules/s3c_g3d.ko
    insmod /lib/modules/s3c_cmm.ko
    insmod /lib/modules/s3c_camera.ko
    insmod /lib/modules/param.ko
    insmod /lib/modules/btgpio.ko


    mkdir /sdcard 0000 system system
    mkdir /system
    mkdir /data 0771 system system
    mkdir /cache 0770 system cache
    mkdir /sqlite_stmt_journals 01777 root root
    mount tmpfs tmpfs /sqlite_stmt_journals size=4m

    #mount rootfs rootfs / ro remount

    write /proc/sys/kernel/panic_on_oops 1
    write /proc/sys/kernel/hung_task_timeout_secs 0
    write /proc/cpu/alignment 4
    write /proc/sys/kernel/sched_latency_ns 10000000
    write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000

# mount mtd partitions
    # Mount /system rw first to give the filesystem a chance to save a checkpoint
    #mount yaffs2 mtd@system /system
    #mount yaffs2 mtd@system /system ro remount
    #mount yaffs2 /dev/bml5 /system
    #mount yaffs2 /dev/bml5 /system ro remount
    mount rfs /dev/stl5 /system ro xattr,check=no
    #mount rfs /dev/stl5 /system ro remount xattr,check=no

    # We chown/chmod /data again so because mount is run as root + defaults
    #mount yaffs2 mtd@userdata /data nosuid nodev
    #mount yaffs2 /dev/bml6 /data nosuid nodev
    mount rfs /dev/stl6 /data nosuid nodev xattr,check=no
    chown system system /data
    chmod 0773 /data
    chmod 0666 /dev/log/radio
    chmod 0666 /dev/log/main
    chmod 0666 /dev/graphics/fb0
    chmod 0666 /dev/graphics/fb1
    chmod 0666 /dev/graphics/fb2

    # We chown/chmod /cache again so because mount is run as root + defaults
    #mount yaffs2 mtd@cache /cache nosuid nodev
    #mount yaffs2 /dev/bml7 /cache nosuid nodev
    mount rfs /dev/stl7 /cache nosuid nodev xattr,check=no
    chown system cache /cache
    chmod 0770 /cache

    # This may have been created by the recovery system with odd permissions
    chown system system /cache/recovery
    chmod 0770 /cache/recovery

    chmod 0666 /dev/bml8

# create basic filesystem structure
    mkdir /data/misc 01771 system misc
    mkdir /data/misc/hcid 0770 bluetooth bluetooth
    mkdir /data/local 0771 shell shell
    mkdir /data/local/tmp 0771 shell shell
    mkdir /data/data 0771 system system
    mkdir /data/app-private 0771 system system
    mkdir /data/app 0771 system system
    mkdir /data/property 0700 root root

# to enable wifi
    setprop wifi.interface "eth0"

    # create dalvik-cache and double-check the perms
    mkdir /data/dalvik-cache 0771 system system
    chown system system /data/dalvik-cache
    chmod 0771 /data/dalvik-cache

    # create the lost+found directories, so as to enforce our permissions
    mkdir /data/lost+found 0770
    mkdir /cache/lost+found 0770

    # double check the perms, in case lost+found already exists, and set owner
    chown root root /data/lost+found
    chmod 0770 /data/lost+found
    chown root root /cache/lost+found
    chmod 0770 /cache/lost+found

# to enable wifi
    mkdir /data/misc/wifi 0777 wifi wifi
    mkdir /data/misc/dhcp 0777 dhcp dhcp
    mkdir /data/misc/wifi/sockets 0777 wifi wifi
    #chown root root /system/bin/wlservice
    #chmod 6777 /system/bin/wlservice
    #chmod 0777 /system/bin/wlarm_android

on boot
# basic network init
    ifup lo
    hostname localhost
    domainname localdomain

# set RLIMIT_NICE to allow priorities from 19 to -20
    setrlimit 13 40 40

# Set timeout value for rmnet stats.
    write /sys/devices/virtual/net/rmnet0/timeout_suspend 5000000

# Define the oom_adj values for the classes of processes that can be
# killed by the kernel.  These are used in ActivityManagerService.
    setprop ro.FOREGROUND_APP_ADJ 0
    setprop ro.VISIBLE_APP_ADJ 1
    setprop ro.SECONDARY_SERVER_ADJ 2
    setprop ro.HOME_APP_ADJ 4
    setprop ro.HIDDEN_APP_MIN_ADJ 7
    setprop ro.CONTENT_PROVIDER_ADJ 14
    setprop ro.EMPTY_APP_ADJ 15

# Define the memory thresholds at which the above process classes will
# be killed.  These numbers are in pages (4k).
    setprop ro.FOREGROUND_APP_MEM 1536
    setprop ro.VISIBLE_APP_MEM 2048
    setprop ro.SECONDARY_SERVER_MEM 4096
    setprop ro.HOME_APP_MEM 4096
    setprop ro.HIDDEN_APP_MEM 5120
    setprop ro.CONTENT_PROVIDER_MEM 5632
    setprop ro.EMPTY_APP_MEM 6144

# Write value must be consistent with the above properties.
# Note that the driver only supports 6 slots, so we have HOME_APP at the
# same memory level as services.
    write /sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15

    write /proc/sys/vm/overcommit_memory 1
    write /proc/sys/vm/min_free_order_shift 4
    write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,5120,5632,6144

    # Set init its forked children's oom_adj
    write /proc/1/oom_adj -16

    # Permissions for System Server and daemons.
    chown radio system /sys/android_power/state
    chown radio system /sys/android_power/request_state
    chown radio system /sys/android_power/acquire_full_wake_lock
    chown radio system /sys/android_power/acquire_partial_wake_lock
    chown radio system /sys/android_power/release_wake_lock
    chown radio system /sys/power/state
    chown radio system /sys/power/wake_lock
    chown radio system /sys/power/wake_unlock
    chmod 0660 /sys/power/state
    chmod 0660 /sys/power/wake_lock
    chmod 0660 /sys/power/wake_unlock
    chown system system /sys/class/timed_output/vibrator/enable
    chown system system /sys/class/leds/keyboard-backlight/brightness
    chown system system /sys/class/leds/lcd-backlight/brightness
    chown system system /sys/class/leds/button-backlight/brightness
    chown system system /sys/class/leds/red/brightness
    chown system system /sys/class/leds/green/brightness
    chown system system /sys/class/leds/blue/brightness
    chown system system /sys/class/leds/red/device/grpfreq
    chown system system /sys/class/leds/red/device/grppwm
    chown system system /sys/class/leds/red/device/blink
    chown system system /sys/class/leds/red/brightness
    chown system system /sys/class/leds/green/brightness
    chown system system /sys/class/leds/blue/brightness
    chown system system /sys/class/leds/red/device/grpfreq
    chown system system /sys/class/leds/red/device/grppwm
    chown system system /sys/class/leds/red/device/blink
    chown system system /sys/class/timed_output/vibrator/enable
    chown system system /sys/class/lightsensor/switch_cmd/lightsensor_file_cmd
    chown system system /sys/class/power_supply/battery/mp3
    chown system system /sys/class/power_supply/battery/video
    chown system system /sys/module/sco/parameters/disable_esco
    chown system system /sys/kernel/ipv4/tcp_wmem_min
    chown system system /sys/kernel/ipv4/tcp_wmem_def
    chown system system /sys/kernel/ipv4/tcp_wmem_max
    chown system system /sys/kernel/ipv4/tcp_rmem_min
    chown system system /sys/kernel/ipv4/tcp_rmem_def
    chown system system /sys/kernel/ipv4/tcp_rmem_max
    chown root radio /proc/cmdline
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
    chown bluetooth bluetooth /proc/bluetooth/sleep/proto
    chown system system /sys/module/sco/parameters/disable_esco
    chmod 0660 /sys/module/bluetooth_power/parameters/power
    chmod 0660 /proc/bluetooth/sleep/proto
    chown bluetooth bluetooth /dev/s3c2410_serial1

# for Sensor HAL
    chown system system /dev/bma150
    chown system system /dev/akm8973_daemon
    chown system system /dev/akm8973_aot
    chown system system /dev/bma020
#    chown system system /dev/proximity
    chmod 0777 /dev/bma150
    chmod 0777 /dev/akm8973_daemon
    chmod 0777 /dev/akm8973_aot
    chmod 0777 /dev/bma020
#    chmod 0777 /dev/proximity

 # Permissions for btld_testmode
    chmod 0666 /dev/s3c2410_serial1
    chown bluetooth bluetooth /dev/uinput
    chmod 0666 /dev/uinput
    chmod 0777 /sys/class/rfkill/rfkill0/state
    chmod 0777 /sys/class/rfkill/rfkill1/state
    #chown root root /system/bin/btld_testmode
    #chmod 6777 /system/bin/btld_testmode

#For manufacturing test 9-11(North America Manufacturing Quality Requirement List)
    chmod  0777 /sys/class/timed_output/vibrator/enable

#For Melfas firmware update
    chmod  0777 /sys/class/sec/ts/firmware

#For Subdiag Command
    chmod 0777 /sys/class/timed_output/flash/enable
    chmod 0777 /sys/class/sec/switch/usb_sel
    chmod 0777 /sys/power/state

# Define TCP buffer sizes for various networks
#  ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
    setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
    setprop net.tcp.buffersize.wifi    4095,87380,110208,4096,16384,110208
    setprop net.tcp.buffersize.umts    4094,87380,110208,4096,16384,110208
    setprop net.tcp.buffersize.edge    4093,26280,35040,4096,16384,35040
    setprop net.tcp.buffersize.gprs    4092,8760,11680,4096,8760,11680
    setprop net.tcp.buffersize.cdma 4096,87380,110208,4096,16384,110208
    setprop net.tcp.buffersize.evdo 4096,87380,110208,4096,16384,110208

# CDMA datalink property
    setprop net.cdma.datalinkinterface ttyCDMA0
# Define property for disabling rfkill interface
    setprop ro.rfkilldisabled 0 // enable rfkill
#  setprop ro.rfkilldisabled 1

# define PCM property for InstinctQ
    setprop ril.bt_pcm_clk 1
    setprop ril.bt_pcm_ms_role 1

    class_start default

## Daemon processes to be run by init.
##
service console /system/bin/sh
    console

# adbd is controlled by the persist.service.adb.enable system property
service adbd /sbin/adbd
    disabled

# adbd on at boot in emulator
on property:ro.kernel.qemu=1
    start adbd

on property:persist.service.adb.enable=1
    start adbd

on property:persist.service.adb.enable=0
    stop adbd

service servicemanager /system/bin/servicemanager
    user system
    critical
    onrestart restart zygote
    onrestart restart media

service vold /system/bin/vold
    socket vold stream 0660 root mount

# donut does not use mountd
#service mountd /system/bin/mountd
#    socket mountd stream 0660 root mount

# to enable wifi
service wpa_supplicant /system/bin/wpa_supplicant -Dwext -i eth0 -c /data/misc/wifi/bcm_supp.conf
  disabled
  oneshot

service dhcpcd /system/bin/dhcpcd -BKL eth0
  disabled
  oneshot

service ifcfg_eth0 /system/bin/ifconfig eth0 up
    disabled
    oneshot
# end of wifi

service debuggerd /system/bin/debuggerd

service ril-daemon /system/bin/rild
    socket rild stream 660 root radio
    socket rild-debug stream 660 radio system
    user root
    group radio cache inet misc
service DR-daemon /system/bin/drexe
    user root

service mobex-daemon /system/bin/npsmobex
    user root

service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
    socket zygote stream 666
    onrestart write /sys/android_power/request_state wake
    onrestart write /sys/power/state on

service killmedia /system/bin/killmediaserver
    user root
    oneshot

service media /system/bin/mediaserver
    user media
    group system audio camera graphics inet net_bt net_bt_admin

service playlogo /system/bin/playlogo
    user root
#    group root
    oneshot

service dbus /system/bin/dbus-daemon --system --nofork
    socket dbus stream 660 bluetooth bluetooth
    user bluetooth
    group bluetooth net_bt_admin

service hci_qcom_init /system/bin/hci_qcomm_init  -s 921600 -d /dev/s3c2410_serial1
    user root
    group bluetooth net_bt_admin
    oneshot

service hciattach /system/bin/hciattach \
    -n -s 115200 /dev/ttyMSM0 texas 115200 flow
    user bluetooth
    group bluetooth net_bt_admin
    disabled

# Make sure we startup btld before hcid
# -lpm 0 => Disable LPM (Default) , -lpm 1 => Enabled LPM
service btld /system/bin/logwrapper /system/bin/btld -hb 3000000 -hp /dev/s3c2410_serial1 -lpm 1
    user root
    group bluetooth net_bt_admin
    disabled
    oneshot

# Start DTUN HCID
service hcid /system/bin/logwrapper /system/bin/hcid
    socket bluetooth stream 660 bluetooth bluetooth
    socket dbus_bluetooth stream 660 bluetooth bluetooth
    # init.rc does not yet support applying capabilities, so run as root and
    # let hcid drop uid to bluetooth with the right linux capabilities
    group bluetooth net_bt_admin misc
    disabled

# Start DTUN OBEXD
service obexd /system/bin/logwrapper /system/bin/obexd
    #socket bluetooth stream 660 bluetooth bluetooth
    #socket dbus_bluetooth stream 660 bluetooth bluetooth
    # init.rc does not yet support applying capabilities, so run as root and
    # let obexd drop uid to bluetooth with the right linux capabilities
    user root
    group bluetooth net_bt_admin
    disabled
    oneshot

service h*** /system/bin/sdptool add --channel=10 H***
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service hsag /system/bin/sdptool add --channel=11 HSAG
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service installd /system/bin/installd
    socket installd stream 600 system system

service pppd_cdma /system/bin/pppd_runner
    user root
    group radio cache inet misc system
    disabled
    oneshot


service flash_recovery /system/bin/flash_image recovery /system/recovery.img
    oneshot

service iqmsd /system/bin/iqmsd
    disabled

on property:service.iq.active=1
    start iqmsd

on property:service.iq.active=0
    stop iqmsd

# akmd service
service akmd2 /system/bin/akmd2
    user system
    oneshot

# to enable wifi
on property:init.svc.wpa_supplicant=stopped
    stop dhcpcd

on property:init.svc.dhcpcd=stopped
    dhcpcd -k eth0
# end of wifi

recovery.rc

Code:

aon init

# S.LSI FIX : output console directly
#    export PATH /sbin
        export PATH /sbin:/system/sbin:/system/bin:/system/xbin

    export ANDROID_DATA /data
    export EXTERNAL_STORAGE /sdcard

    symlink /system/etc /etc

    mkdir /sdcard
    mkdir /system
    mkdir /data
    mkdir /cache
        mount tmpfs nodev /tmp
 
# S.LSI FIX START: output console directly
        insmod /lib/modules/xsr.ko
        insmod /lib/modules/dpram.ko
 
        insmod /lib/modules/xsr_stl.ko
        insmod /lib/modules/rfs.ko
#        insmod /lib/modules/yaffs2.ko
        insmod /lib/modules/param.ko
   
        mkdir /sdcard 0000 system system
        mkdir /system
        mkdir /data 0771 system system
        mkdir /cache 0770 system cache
 
        #mount yaffs2 /dev/bml5 /system
        mount rfs /dev/stl5 /system xattr,check=no
# S.LSI FIX END

on boot
      write /sys/class/sec/switch/uart_sel MODEM
      write /sys/class/sec/switch/usb_sel PDA

    ifup lo
    hostname localhost
    domainname localdomain

    class_start default

# S.LSI FIX START: output console directly
        service console /system/bin/sh
            console
# S.LSI FIX END

    service recovery /sbin/recovery

    service adbd /sbin/adbd recovery

    on property:persist.service.adb.enable=1
    start adbd

    on property:persist.service.adb.enable=0
    stop adbd

These files look interesting, but I am such a noob I dont know if they are or not.

Also, the file /sbin/recovery talks about (when looked at by a hex editor) /sdcard/update.zip

ramiss 11-22-2009 06:28 PM

Re: init.rc and recovery.rc - Are these worthwhile?
 
I could be wrong, but I these look like log files and not init files.

glitch77-2 11-22-2009 10:03 PM

Re: init.rc and recovery.rc - Are these worthwhile?
 
I'm fairly sure log files wouldn't have comments.

Maybe I'm wrong.

mboudro 11-23-2009 01:41 AM

Re: init.rc and recovery.rc - Are these worthwhile?
 
Quote:

Originally Posted by glitch77-2 (Post 1352992)
I'm fairly sure log files wouldn't have comments.

Maybe I'm wrong.

Definitely not log files...

The first is a core system file called by the bootloader. Here is the entire code from the android kernel site:

http://android.git.kernel.org/?p=pla...ootdir/init.rc

From what I can tell it goes through a lot of the basics; setting log levels, exporting environment variables, creating mount points for and installing kernel modules (insmod command), creating devices in the /dev folder, setting up global permissions on system files, and much more; There is nothing here that is significantly different than a standard linux boot but it gives me some clues on the structure of android and it's security configuration.

I just bought a Moment on Friday; I happen to be a Linux user/developer so I'm hoping to be able to contribute some knowledge to rooting this device. I don't have extensive knowledge of androids' particular distribution structure so I'll have to study up before I can be really effective.

I actually think the Moment should be easier to root than other android phones because it uses a vanilla version of android with less modifications. Can't say for sure until I get deeper into the code.

Does anyone know if there happens to be a central effort to root the Moment already?

poole34 11-23-2009 02:06 AM

Re: init.rc and recovery.rc - Are these worthwhile?
 
Here is a site I found today.
http://alldroid.org/viewforum.php?f=215
They have a link to someone who was able to get a system dump.

jamezelle 11-23-2009 02:46 AM

Re: init.rc and recovery.rc - Are these worthwhile?
 
Quote:

Originally Posted by ramiss (Post 1352512)
I could be wrong, but I these look like log files and not init files.

yea those are definitely init scripts!

we use similar with android on the vogue


All times are GMT -4. The time now is 11:16 AM.

Powered by vBulletin® ©2000 - 2024, Jelsoft Enterprises Ltd.
©2012 - PPCGeeks.com


Content Relevant URLs by vBSEO 3.6.0