Dear Vishal,
Thanks for your guidance. I have successfully ported A N D
R O I D and it is working fine. I changed init.rc file so that it
doesn't remount root as read only. Clear understanding of init.rc file
helped me to fix those problems.
Thanks a lot to every one.
Saravanan V.
On Jul 9, 1:57 pm, vishal bhoj <[email protected]> wrote:
> on android system and userdata are 2 different partitions which are mounted
> by the init script. If you have a single filesystem do the changes as shown
> in the init script used on omapzoom kit with filesystem on sdcard.
>
> on init
>
> 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 /sdcard 0000 system system
> mkdir /system
> mkdir /data 0771 system system
> mkdir /cache 0770 system cache
> mkdir /sqlite_stmt_journals 01777 root root
> mkdir /data/misc/ 0771 system system
> mkdir /data/misc/wifi 0771 system system
> mkdir /data/misc/wifi/sockets 0771 system system
> mkdir /data/misc/dhcp 0777 system system
> mount tmpfs tmpfs /sqlite_stmt_journals size=4m
>
> # since system is also on root - we don't want to do this
> # 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 m...@system /system
> # mount yaffs2 m...@system /system ro remount
>
> # We chown/chmod /data again so because mount is run as root + defaults
> # mount yaffs2 m...@userdata /data nosuid nodev
> chown system system /data
> chmod 0777 /data
>
> # Same reason as /data above
> # mount yaffs2 m...@cache /cache nosuid nodev
> 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
>
> # 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
>
> # 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
>
> # change permissions for alsa nodes
> symlink /dev/snd/pcmC0D0c /dev/pcmC0D0c
> symlink /dev/snd/pcmC0D0p /dev/pcmC0D0p
> symlink /dev/snd/controlC0 /dev/controlC0
> symlink /dev/snd/timer /dev/timer
> chmod 0777 /dev/pcmC0D0c
> chmod 0777 /dev/pcmC0D0p
> chmod 0777 /dev/controlC0
> chmod 0777 /dev/timer
>
> # change permissions for modem
> chmod 0660 /dev/ttyS0
> chown radio radio /dev/ttyS0
>
> # change permissions for bridge. Symlink search directory
> chmod 0777 /dev/DspBridge
> symlink /system/lib /lib
>
> # change permissions for Camera
> chmod 0777 /dev/video5
>
> # double check the perms, in case lost+found already exists, and set
> owner
> chown root root /lost+found
> chmod 0770 /lost+found
> # chown root root /data/lost+found
> # chmod 0770 /data/lost+found
> # chown root root /cache/lost+found
> # chmod 0770 /cache/lost+found
>
> #Owners, Modes for Bluetooth
> chmod 0660 /dev/ttyS1
> chown bluetooth bluetooth /dev/ttyS1
> chmod 0660 sys/class/rfkill/rfkill0/state
> chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
> write sys/class/rfkill/rfkill0/state 0
>
> 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
>
> # 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.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.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.
> write /sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15
>
> write /proc/sys/vm/overcommit_memory 1
> 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.
> chmod 0444 /system/usr/keychars/omap_twl4030keypad.kcm.bin
> chmod 0444 /system/usr/keychars/qwerty.kcm.bin
> 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/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
>
> # 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
>
> # Define modem related settings
> setprop ro.radio.use-ppp yes
> setprop keyguard.no_require_sim 1
> setprop ro.config.nocheckin yes
>
> class_start default
>
> ## Daemon processes to be run by init.
> ##
> service console /system/bin/sh
> console
>
> # load DSP firmware
> service baseimage /system/bin/cexec.out /system/lib/dsp/baseimage.dof
> user root
> group audio
> oneshot
>
> # 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 mux /system/bin/gsm0710muxd -v -s /dev/ttyS0 -n 3 -m basic
> #service mux /system/bin/gsm0710muxd -v -s /dev/ttyS0 -b 460800 -n 3 -m
> advanced
> user radio
> group radio cache inet misc
> oneshot
>
> service servicemanager /system/bin/servicemanager
> user system
> critical
> onrestart restart zygote
> onrestart restart media
>
> service mountd /system/bin/mountd
> socket mountd stream 0660 root mount
>
> service debuggerd /system/bin/debuggerd
>
> service ril-daemon /system/bin/rild -l /system/lib/libidcc6071-ril.so -- -d
> /dev/pts/0
> #service ril-daemon /system/bin/rild -l /system/lib/libenforaedg308-ril.so
> -- -d /dev/pts/0
> socket rild stream 660 root radio
> socket rild-debug stream 660 radio system
> user root
> group radio cache inet misc
>
> service pppd_gprs /etc/init.gprs-pppd /dev/pts/1
> user root
> group radio cache inet misc
> disabled
>
> 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
>
> service media /system/bin/mediaserver
> user media
> group system audio camera graphics
> ...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [email protected]
website: http://groups.google.com/group/android-kernel
-~----------~----~----~----~------~----~------~--~---