userinit.sh

userinit.shが起動プロセスのどこかで呼ばれているはず、ってことで調べてみました。

起動時に実行されるスクリプト:/init.rc
init.rcの中で実行されるスクリプト:/system/bin/custom_init
custom_initの中で実行されるスクリプト:/sdcard/userinit.sh

custom_initの一部

#
# if magic/mt3g then exit
#
if [ `busybox cat /proc/cpuinfo | busybox grep -cE '^Hardware.*sapphire'` -eq 1 ];
then
    if [ -e /sdcard/userinit.sh ];
        then
            echo "--- Executing userinit.sh"
            busybox chmod +x /sdcard/userinit.sh
            /system/bin/sh /sdcard/userinit.sh;
    fi;
	
	sync;

    setprop cm.filesystem.ready 1;
	
	exit;
fi;

ということで、起動時に/sdcard/userinit.shを動かそうとしていることを確認できた。けれども、/sdcard以下にuserinit.shを置いても、設定値が反映されない。
userinit.shの内容はこんな感じ

#!/system/bin/sh
#
echo 2000000 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate;
echo 128000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq;
echo 528000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 200 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/powersave_bias;
echo 40 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold;

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

で、前回の日記でcompcacheを無効にしてたんだけど、dwang ROMのスレッドをよく読んだらno backing swapって書いてある。つーことはsdcardに優しいROMってことですね。これなら無効にする必要がないじゃないかー。

参考URL
シェル・スクリプト・リファレンス
rzscontrol