[Xperia Arc Android Development] gu5t3r:
MOD: LuPuSv10_gu5t3r_v2

MOD: LuPuSv10_gu5t3r_v2

For both ICS and GB:

-Removed sqlite3 db optimizing on boot

-Fixed /vendor partition (/system/vendor is not partition on Arc; is a directory in /system)

-init.d script 00fixvendor for fixing vendor not needed but cannot harm (vendor fixed in init.semc.rc)

-ReWorked init.d method to exec in init.rc; Mounts2SD,CronMOD and other A2SD scripts should work now properly

Note about init.d:

-init.d scripts run right after kernel boot logo and before rom boot logo

-downside of this init.d method is that bad scripts will make phone stay at kernel boot logo for long time or halt on it; take out battery, put back in, boot to cwm and remove suspicious scripts from /system/etc/init.d

-I have SuperCharger & KAK, if problem exists it's not in these scripts...

fixing bad scripts:

-right after "#!/system/bin/sh" add

exec > /dev/null 2>&1

to redirect output to null or log file by choice

-relaunch in background scripts that need long time to execute by adding this line behind "exec > /dev/null 2>&1"

or "#!/system/bin/sh"

if [ "$1" != "BG" ]; then $0 BG & exit 0; fi

this line relauches script in background and continues booting phone while script runs in background...

I like this kernel because of speed and 351.3MB of ram. Removed db optimizing on boot for faster boot, it's smarter to set Detailing option in SuperCharger to run every 10th boot. ReWorked init.d method for Mounts2SD to work.

Thanks to is0l4ted for help with fixing /vendor

Thanks to wedgess for making this great kernel.

============================================================================================

If anybody uses my script for setting smartassV2 options with this kernel, the script needs to be modified to run in background or it will halt phone on kernel boot logo:

#!/system/bin/sh
exec > /dev/null 2>&1
#
if [ "$1" != "BG" ]; then $0 BG & exit 0; fi
#
#
# CPU min & max scaling freq
CFMIN=134400
CFMAX=1401600
#
# CPU governor
CFGOV=smartassV2
#
#
CFF=/sys/devices/system/cpu/cpufreq/
CFSET() { busybox echo "$2" > "$CFF$1" & PID=$!; while [ "`cat $CFF$1`" -ne "$2" ]; do sleep 1; done; kill $PID; }
CFP=/sys/devices/system/cpu/cpu0/cpufreq
while [ "0`getprop sys.boot_completed`" -ne "1" ]; do sleep 2; done
#
sleep 1
echo $CFMAX > $CFP/scaling_max_freq
echo $CFMIN > $CFP/scaling_min_freq
echo $CFGOV > $CFP/scaling_governor
#
CFSET smartass/sleep_ideal_freq 249600
CFSET smartass/sleep_wakeup_freq 249600
CFSET smartass/awake_ideal_freq 460800
CFSET smartass/ramp_up_step 100000
CFSET smartass/ramp_down_step 200000
CFSET smartass/max_cpu_load 75
CFSET smartass/min_cpu_load 35

#

If you want sqlite3 db optimizing on boot paste this in script and put in init.d

#!/system/bin/sh
exec > /dev/null 2>&1

if [ "$1" != "BG" ]; then $0 BG & exit 0; fi

if [ -e /system/xbin/sqlite3 ];
then
for i in \
`/sbin/busybox find ./ -iname "*.db"`
do \
/system/xbin/sqlite3 $i 'VACUUM;'
/system/xbin/sqlite3 $i 'REINDEX;'
done
fi

DB optimizing on boot will probably work faster now, because it will start right after kernel boot logo

============================================================================================

2013-03-03 EDIT: added 0 in front of `getprop sys.boot_completed` in smartassV2 script because when shell is "#!/sbin/busybox sh" NULL is recognized as bad number (in sony "#!/system/bin/sh" NULL is recognized as 0) so script will work now even if you replaced sony sh with busybox sh... "0`getprop sys.boot_completed`" will be recognized as "0" when output of getprop is NULL and as "01" when getprop outputs 1 that system is booted which is the same as "1"...

KERNEL NOT CHANGED

============================================================================================

DOWNLOAD LuPuSv10_gu5t3r_v2.rar