[General Questions and Answers] GameX2:
Hi,

I experience an audio driver failure on one of my Android devices. Me and a more advanced Android user, by installing the boot animation "Live Logcat Live" (https://play.google.com/store/apps/details?id=eu.chainfire.livelogcat.lite), we determined that this would also caused 19 times out of 20 a bootloop, before the audio driver couldn't initialize.

Here's one logcat I have, from after boot:

Too long to paste, here's a Dropbox TXT : https://dl.dropboxusercontent.com/u/67605655/logcat_boot.txt

We've determined that it might be an incompatibility with the kernel and the audio driver.

Later on, I rebooted in recovery mode (Android Recovery 3e, which does not allow to flash unsigned update.zip. I've applied a patch here to bypass the limitation, nothing broke, but I did not tested the flashing), and wipe /Cache. Surprisingly, the device booted, and that happened 1 times out of 20, while messing with the Reset button. And it's definitely not the first time I wipe /Cache and /Data... Well, the device rebooted, and this time, I DID had a sound effect for unlocking the screen (Which I didn't heard since months). But that's all, no sound after that. I have another Logcat saved right after that moment, if that can help:

Another TXT from Dropbox: https://dl.dropboxusercontent.com/u/67605655/logcat_secondboot.txt

But now, what could I do ? I keep the device ON, but I don't know what to do to fix this. The Android device, on 2.2.1, is unknow, and there's no official/easy way to install a custom recovery or custom ROM. All I could do is flash zip files from Android Recovery 3e, that is if the patched worked as it should have.

The device is unlisted with ROM Manager of course, so CWM is not installable the easy way. A flashable image is nowhere to be found. Although yes, my device is rooted since 2011, with Z4Root.

Assuming I did had an Nandroid backup (No way to actually do the backup without a custom recovery), I'm not even sure restoring would fix such an issue... If it's a problem with a driver/kernel.

Here are the device SPECs :

ARMv7 Processor rev 5 )v7l) 800MHz (200 MHz-800 MHz)
Android ID : 65d3e923b8b46272
Model: Creative Earlgrey 2.2.1
Kernel: SDK 8 Linux Version 2.6.31

Could the kernel be reinstallable at all? It sounds really risky to do. Also dumped my current ROM, and got these files. Apparently worked:

checksum.md5

config.gz

system.info.gz

system.tar (108 MB)

If that can help, here's my init.rc file:

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 /mnt/sdcard
export EXTERNAL_STORAGE_SD /mnt/sdcard
export EXTERNAL_STORAGE_UDISK /mnt/udisk
export EXTERNAL_STORAGE_EXTSD /mnt/extsd
export ASEC_MOUNTPOINT /mnt/asec
export SHM_MOUNTPOINT /mnt/shm
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar

export BACKLIGHT_PATH /sys/class/backlight/tps60250/brightness
export MAX_BACKLIGHT_PATH /sys/class/backlight/tps60250/max_brightness
export VPU_FW_PATH /system/lib/firmware/vpu
export CODEC_SHM_PATH /mnt/shm
export GST_PLUGIN_PATH /system/lib/gst_plugins
export CORE_REGISTER_FILE /system/etc/core_register
export COMPONENT_REGISTER_FILE /system/etc/component_register
export CONTENTPIPE_REGISTER_FILE /system/etc/contentpipe_register

export BUILD_TARGET earlgrey

export LOG_LEVEL 0

# Backward compatibility
symlink /system/etc /etc
symlink /sys/kernel/debug /d

# create mountpoints
# mkdir /mnt 0775 root system
# mkdir /mnt/sdcard 0000 system system
# mkdir /mnt/udisk 0000 system system
# mkdir /mnt/extsd 0000 system system

# Create cgroup mount point for cpu accounting
mkdir /acct
mount cgroup none /acct cpuacct
mkdir /acct/uid

# Backwards Compat - XXX: Going away in G*
symlink /mnt/sdcard /sdcard
symlink /mnt/extsd /extsd
symlink /mnt/udisk /udisk

# mkdir /system
# mkdir /data 0771 system system
mkdir /cache 0770 system cache
mkdir /config 0500 root root

# Directory for putting things only root should see.
mkdir /mnt/secure 0700 root root

# Directory for staging bindmounts
mkdir /mnt/secure/staging 0700 root root

# Directory-target for where the secure container
# imagefile directory will be bind-mounted
mkdir /mnt/secure/asec 0700 root root

# Secure container public mount points.
mkdir /mnt/asec 0700 root system
mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000

# shared memory used by middleware
mkdir /mnt/shm 0777 system graphics
mount tmpfs tmpfs /mnt/shm mode=0777,uid=1000,gid=1003,size=1m

#mount rootfs rootfs / ro remount

#mkdir /factory 0751 system system
mount tmpfs tmpfs /factory size=131072

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
write /proc/sys/kernel/sched_compat_yield 1
write /proc/sys/kernel/sched_child_runs_first 0

# Create cgroup mount points for process groups
mkdir /dev/cpuctl
mount cgroup none /dev/cpuctl cpu
chown system system /dev/cpuctl
chown system system /dev/cpuctl/tasks
chmod 0777 /dev/cpuctl/tasks
write /dev/cpuctl/cpu.shares 1024

mkdir /dev/cpuctl/fg_boost
chown system system /dev/cpuctl/fg_boost/tasks
chmod 0777 /dev/cpuctl/fg_boost/tasks
write /dev/cpuctl/fg_boost/cpu.shares 1024

mkdir /dev/cpuctl/bg_non_interactive
chown system system /dev/cpuctl/bg_non_interactive/tasks
chmod 0777 /dev/cpuctl/bg_non_interactive/tasks
# 5.0 %
write /dev/cpuctl/bg_non_interactive/cpu.shares 52

# Set permission for FSL device node
chmod 0777 /dev/mxc_vpu
# allow access to uart port for gps module
chmod 0777 /dev/ttymxc0
chmod 0777 /dev/ttymxc1
chmod 0777 /dev/ttymxc2

# for lcd driver work mode control
chown system system /dev/ili9481
chmod 0771 /dev/ili9481

# mount ext4 partitions
# Mount /system rw first to give the filesystem a chance to save a checkpoint
mount ext4 /dev/block/mmcblk0p2 /system
mount ext4 /dev/block/mmcblk0p2 /system rw remount

chmod 0555 /system/etc/install-recovery.sh

mount ext4 /dev/block/mmcblk0p5 /data nosuid nodev
chown system system /data
chmod 0771 /data

exec /system/etc/init.first_time.sh

mount ext4 /dev/block/mmcblk0p2 /system ro remount

# We chown/chmod /data again so because mount is run as root + defaults
mount ext4 /dev/block/mmcblk0p5 /data nosuid nodev
chown system system /data
chmod 0771 /data

# Create dump dir and collect dumps.
# Do this before we mount cache so eventually we can use cache for
# storing dumps on platforms which do not have a dedicated dump partition.

mkdir /data/dontpanic
chown root log /data/dontpanic
chmod 0750 /data/dontpanic

mkdir /data/synergy
chown root log /data/synergy
chmod 0777 /data/synergy

# Collect apanic data, free resources and re-arm trigger
copy /proc/apanic_console /data/dontpanic/apanic_console
chown root log /data/dontpanic/apanic_console
chmod 0640 /data/dontpanic/apanic_console

copy /proc/apanic_threads /data/dontpanic/apanic_threads
chown root log /data/dontpanic/apanic_threads
chmod 0640 /data/dontpanic/apanic_threads

write /proc/apanic_console 1

# Same reason as /data above
mount ext4 /dev/block/mmcblk0p6 /cache nosuid nodev
chown system cache /cache
chmod 0770 /cache

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

#change permissions on vmallocinfo so we can grab it from bugreports
chown root log /proc/vmallocinfo
chmod 0440 /proc/vmallocinfo

#change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks
chown root system /proc/kmsg
chmod 0400 /proc/kmsg
chown root system /proc/sysrq-trigger
chmod 0220 /proc/sysrq-trigger

# create basic filesystem structure
mkdir /data/misc 01771 system misc
mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
mkdir /data/misc/bluetooth 0770 system system
mkdir /data/misc/keystore 0700 keystore keystore
mkdir /data/misc/vpn 0770 system system
mkdir /data/misc/systemkeys 0700 system system
mkdir /data/misc/vpn/profiles 0770 system system
# give system access to wpa_supplicant.conf for backup and restore
mkdir /data/misc/wifi 0770 wifi wifi
chmod 0770 /data/misc/wifi
chmod 0660 /data/misc/wifi/wpa_supplicant.conf
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
mkdir /data/version 0770 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

# 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

# change permission for keymap file temporarily
# should be removed when working out keymap later
chmod 0777 /system/usr/keychars/qwerty.kcm.bin
chmod 0777 /system/usr/keychars/Dell_Dell_USB_Keyboard.kcm.bin
chmod 0777 /system/usr/keychars/mxckpd.kcm.bin
chmod 0777 /system/usr/keychars/gpio-keys.kcm.bin
chmod 0777 /system/usr/keychars/mxc_ts-keypad.kcm.bin
chmod 0777 /system/usr/keychars/mxc_power_key.kcm.bin
chmod 0777 /system/usr/keychars/AVRCP.kcm.bin

chmod 0777 /sys/class/graphics/fb0/fsl_disp_property
chmod 0777 /sys/class/graphics/fb1/fsl_disp_property

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

mkdir /data/system 0775 system system
#exec /sbin/ts_calibrator
exec system/xbin/flash.dump.sh

# 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.BACKUP_APP_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.BACKUP_APP_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/lowmem_reserve_ratio 1
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

# Tweak background writeout
write /proc/sys/vm/dirty_expire_centisecs 200
write /proc/sys/vm/dirty_background_ratio 5

# 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/jogball-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/haptic/oneshot
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
# Chmod/chown FSL specific sys entry
chown radio system /sys/devices/platform/mxc_dvfs_core.0/enable
chown radio system /sys/devices/platform/busfreq.0/enable
chown system system /sys/class/backlight/tps60250/brightness
chmod 0660 /sys/devices/platform/mxc_dvfs_core.0/enable
chmod 0660 /sys/devices/platform/busfreq.0/enable
chmod 0660 /sys/class/backlight/tps60250/brightness

write /sys/devices/platform/busfreq.0/enable 1
write /sys/devices/platform/mxc_dvfs_core.0/enable 1

# allow control power for ecompass and gsensor
chown system system /sys/class/i2c-adapter/i2c-0/0-001c/akm8973_ctl
chmod 0777 /sys/class/i2c-adapter/i2c-0/0-001c/akm8973_ctl
#chown system system /sys/class/i2c-adapter/i2c-0/0-001d/power_ctl
#chmod 0777 /sys/class/i2c-adapter/i2c-0/0-001d/power_ctl

# for GPS gpio driver for gps power and bootmode control
chown system system /dev/gps_gpio
chown system system /sys/devices/virtual/gps/gps_gpio/gps_power
chown system system /sys/devices/virtual/gps/gps_gpio/gps_bootmode
chmod 0771 /dev/gps_gpio
chmod 0660 /sys/devices/virtual/gps/gps_gpio/gps_power
chmod 0771 /sys/devices/virtual/gps/gps_gpio/gps_bootmode

# for Sensor HAL
chown system system /dev/accel
chown system system /dev/akm8973_dev
chown system system /dev/akm8973_aot
chmod 0777 /dev/accel
chmod 0777 /dev/akm8973_dev
chmod 0777 /dev/akm8973_aot

# 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

# Set property for FSL specific feature
# Init second display connection state
setprop rw.SECOND_DISPLAY_CONNECTED 0

# Define gst player property
setprop media.gstreamer.enable-player 0

# Comment the usage of stageflight media framework
setprop media.stagefright.enable-scan 0
setprop media.stagefright.enable-player 0
setprop media.stagefright.enable-record 0
setprop media.stagefright.enable-http 0
setprop media.stagefright.enable-meta 0

# Define fsl avi/aac/asf/mkv/flv/flac format support
setprop ro.FSL_AVI_PARSER 1
setprop ro.FSL_AAC_PARSER 1
setprop ro.FSL_ASF_PARSER 1
setprop ro.FSL_FLV_PARSER 1
setprop ro.FSL_MKV_PARSER 1
setprop ro.FSL_FLAC_PARSER 1

# Define fsl display init mode
setprop ro.FSL_LANDSCAPE_MODE 1

# Define fsl xec mode
setprop xec.dls.enabled 1
setprop xec.aa.enabled 1
setprop xec.dls.rate 0
setprop xec.aa.rate 100

# Define fsl dvfs property
setprop ro.dvfs.enabled 1

# Define UI to TVOUT,change this setting to 1 and uncomment below write commands
setprop ro.UI_TVOUT_DISPLAY 0
#write /sys/class/graphics/fb0/blank 1
#write /sys/class/graphics/fb1/blank 1
#write /sys/class/graphics/fb2/blank 1
#write /sys/class/graphics/fb0/fsl_disp_property 1-layer-fb
#write /sys/class/graphics/fb1/mode U:720x480i-60\n
#write /sys/class/graphics/fb1/blank 0
chown system system /sys/class/graphics/fb1/blank
chmod 0644 /sys/class/graphics/fb1/blank
chown system system /sys/class/graphics/fb1/mode
chmod 0644 /sys/class/graphics/fb1/mode
#chown system system /sys/devices/platform/mxc_sdc_fb.0/graphics/fb0/blank
#chmod 0644 /sys/devices/platform/mxc_sdc_fb.0/graphics/fb0/blank

# Define default notification_sound
setprop ro.config.notification_sound OnTheHunt.ogg

# for switch on/off framebuffer
chown system system /sys/devices/platform/mxc_sdc_fb.0/graphics/fb0/blank
chown system system /sys/devices/platform/mxc_sdc_fb.1/graphics/fb1/blank
chown system system /sys/devices/platform/mxc_sdc_fb.2/graphics/fb2/blank
chmod 0644 /sys/devices/platform/mxc_sdc_fb.0/graphics/fb0/blank
chmod 0644 /sys/devices/platform/mxc_sdc_fb.1/graphics/fb1/blank
chmod 0644 /sys/devices/platform/mxc_sdc_fb.2/graphics/fb2/blank

# ALSA mixer naming define
setprop alsa.mixer.playback.master Playback
setprop alsa.mixer.capture.master Capture
setprop alsa.mixer.playback.speaker Playback
setprop alsa.mixer.playback.headset Headphone
setprop alsa.mixer.capture.headset Capture

# Prepare for wifi
setprop wifi.interface wlan0
mkdir /data/misc/wifi/sockets 0770 wifi wifi
mkdir /data/misc/dhcp 0770 dhcp dhcp
chown dhcp dhcp /data/misc/dhcp

# DD partitions for diversity and ECD key region for access
chmod 0751 /factory
chown system system /factory
chmod 0777 /dev/block/mmcblk0
chmod 6777 /system/bin/dd
chown system system /system/bin/toolbox
exec /system/xbin/init.diversity.ecd.sh

# mount calibration data region
chown system system /dev/block/mmcblk0
chmod 0777 /dev/block/mmcblk0
chmod 0777 /sys/module/pd_ts13892/parameters/calibration
exec /system/xbin/init.calibration.sh
exec /system/bin/ts13892_calibrator

chmod 751 /system/xbin/flash_sync

# Prepare for bluetooth
# chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
# chmod 666 /sys/class/rfkill/rfkill0/state
# chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
# write /sys/class/rfkill/rfkill0/state 0

# Enable USB host1'remote wakeup event wakeup android system
# write /sys/bus/platform/drivers/fsl-ehci/fsl-ehci.1/power/wakeup enabled

# Prepare for RIL
setprop gsm.ril.delay 15

#change file permission for synergy
chown root shell /system/etc/synergy_fts.sh
chmod 0550 /system/etc/synergy_fts.sh

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
user root
group root
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
ioprio be 2

service netd /system/bin/netd
socket netd stream 0660 root system

service dispd /system/bin/dispd
socket dispd stream 0660 root system

service debuggerd /system/bin/debuggerd

service ril-daemon /system/bin/rild -l /system/lib/libreference-ril.so -- -d /dev/ttyUSB3 -u /dev/ttyUSB0
socket rild stream 660 root radio
socket rild-debug stream 660 radio system
user root
group radio cache inet misc audio

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
onrestart restart media

service media /system/bin/mediaserver
user media
group system audio camera graphics inet net_bt net_bt_admin net_raw
ioprio rt 4

service bootanim /system/bin/bootanimation
user graphics
group graphics
disabled
oneshot

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

service bluetoothd /system/bin/bluetoothd -n
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 bluetoothd drop uid to bluetooth with the right linux capabilities
group bluetooth net_bt_admin misc
disabled

service hcid /system/bin/hcid -s -n -f /etc/bluez/hcid.conf
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
service hciattach /system/bin/logwrapper /system/bin/sh /system/etc/mxc_bt.sh
user bluetooth
group bluetooth net_bt_admin
disabled
oneshot
service hfag /system/bin/sdptool add --channel=10 HFAG
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 opush /system/bin/sdptool add --channel=12 OPUSH
user bluetooth
group bluetooth net_bt_admin
disabled
oneshot

service pbap /system/bin/sdptool add --channel=19 PBAP
user bluetooth
group bluetooth net_bt_admin
disabled
oneshot

service synergy_fts_init /system/etc/synergy_fts.sh
user root
group sdcard_rw
oneshot

service synergysdpops /system/etc/synergy_sdptool.sh 12 0x1105 ReservedOPPS
user root
disabled
oneshot

#service hidloopback /system/etc/insert-hiddrv.sh
# user root
# oneshot

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

service flash_recovery /system/etc/install-recovery.sh
oneshot

service racoon /system/bin/racoon
socket racoon stream 600 system system
# racoon will setuid to vpn after getting necessary resources.
group net_admin
disabled
oneshot

service mtpd /system/bin/mtpd
socket mtpd stream 600 system system
user vpn
group vpn net_admin net_raw
disabled
oneshot

service keystore /system/bin/keystore /data/misc/keystore
user keystore
group keystore
socket keystore stream 666

service dumpstate /system/bin/dumpstate -s
socket dumpstate stream 0660 shell log
disabled
oneshot

#service dhcpcd /system/bin/logwrapper /system/bin/dhcpcd -d -B wlan0
service dhcpcd /system/bin/dhcpcd -d -B wlan0
disabled
oneshot

service wpa_supplicant /system/bin/logwrapper /system/bin/wpa_supplicant \
-Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf
user root
group wifi inet
socket wpa_wlan0 dgram 660 wifi wifi
oneshot

#service pppd_gprs /etc/init.gprs-pppd
#user root
#group radio cache inet misc
#disabled
#oneshot

service akmd2 /system/bin/akmd2
user system
group system
oneshot

# save diversity.bin from memory to emmc
service div_restore_m /system/bin/dd if=/factory/diversity.bin of=/dev/block/mmcblk0 obs=512 seek=14337 count=1
user root
group system
disabled
oneshot

# restore diversity.bin from diversity data
service div_restore_w /system/bin/dd if=/factory/diversity.master of=/dev/block/mmcblk0 obs=512 seek=14336 count=1
user root
group system
disabled
oneshot

# flash sync
service flash_sync /system/xbin/flash_sync
user root
group system

service synergy_exe /system/xbin/synergy_exe
user root

service a2dp_adapter /system/bin/csr_liba2dp_process
user root
group system audio camera graphics inet net_bt net_bt_admin

service flash_wifi /system/xbin/flash_wifi
disabled
oneshot

service wlan0_check /system/xbin/wlan0_check
disabled
oneshot

init.zen_touch_2.rc :

on boot

# Set permission for IIM node
chmod 0777 /dev/mxc_iim
symlink /dev/mxc_iim /dev/mxc_mem

chmod 0777 /sys/class/graphics/fb0/fsl_disp_property
chmod 0777 /sys/class/graphics/fb1/fsl_disp_property

# 3D acceleration property
setprop debug.sf.showfps 0
setprop debug.sf.enable_hgl 1

# fsl omx graphic manager media framework property
setprop media.omxgm.enable-player 1

# Set OpenGLES version
setprop ro.opengles.version 131072

init.goldfish.rc :

on boot
setprop ARGH ARGH
setprop net.eth0.dns1 10.0.2.3
setprop net.gprs.local-ip 10.0.2.15
setprop ro.radio.use-ppp no
setprop ro.build.product generic
setprop ro.product.device generic

# fake some battery state
setprop status.battery.state Slow
setprop status.battery.level 5
setprop status.battery.level_raw 50
setprop status.battery.level_scale 9

# disable some daemons the emulator doesn't want
stop dund
stop akmd

setprop ro.setupwizard.mode EMULATOR

# enable Google-specific location features,
# like NetworkLocationProvider and LocationCollector
setprop ro.com.google.locationfeatures 1

# For the emulator, which bypasses Setup Wizard, you can specify
# account info for the device via these two properties. Google
# Login Service will insert these accounts into the database when
# it is created (ie, after a data wipe).
#
# setprop ro.config.hosted_account username@hosteddomain.org:password
# setprop ro.config.google_account username@gmail.com:password
#
# You MUST have a Google account on the device, and you MAY
# additionally have a hosted account. No other configuration is
# supported, and arbitrary breakage may result if you specify
# something else.

service goldfish-setup /system/etc/init.goldfish.sh
oneshot

service qemud /system/bin/qemud
socket qemud stream 666
oneshot

# -Q is a special logcat option that forces the
# program to check wether it runs on the emulator
# if it does, it redirects its output to the device
# named by the androidboot.console kernel option
# if not, is simply exit immediately

service goldfish-logcat /system/bin/logcat -Q
oneshot

I really don't know what to try next. The device is a Creative ZEN Touch 2, but that won't be of any help. :/

At that point, I am willing to take the risk to definitely brick my device to attempt the fix. It's barely usable at all, anyway.

How hard would it be to port ClockworkMod Recovery to this device?

Thanks, I appreciate it.