2015-08-24 62 views
1

我安装了rngd 5并在Android上运行Android 5.1。我做了一个脚本来测试出来:使用rngd后,[hwrng]继续最大熵熵

#!/system/bin/sh

haveged -w 1024 -p /dev/haveged.pid -r 0 &

rngd -d 1 -p /dev/rngd.pid -r /dev/hw_random &

我发现,使用任何一种方法来提高熵耗尽的电池,所以除去脚本,二进制文件和/数据/系统/熵*。

我的问题是,这并没有停止重新启动几次后熵生成。 /proc/sys/kernel/random/entropy_avail已在泳池号码/proc/sys/kernel/random/poolsize处最大。标记为[hwrng]的进程运行消耗的cpu时间比任何其他进程多得多。它耗尽了我的电池,真的放慢了系统。看起来hwrng过程无论它来自哪里,都被永久重新配置。我发现只有这个[hwrng]过程搜索过程rng或与ps|greppgrep。我在/ dev或其他地方找不到任何类型的hwrng文件。我在搜索引擎或rngd上找不到任何东西,或者对此有任何疑问。是否有人知道正在发生什么或者重置系统的自然熵生成的方法?我必须失去一些东西。

回答

0

好吧,我想出了如何解决这个问题。在mksh壳

cd /data/system 
rm -rf usagestats/* uiderrors.txt seapp_hash recent_*/* procstats/* perfd/* netstats/* lgmdm/* lgis/* job/* last-fstrim install_sessions/* ifw/* entropy.dat dropbox/* called* cache/* batt*` 

:我执行这个功能我做:

cleaner() { 
     find /data -type d -name *cache -print0 | while read -d "" -r -- i 

     do 
       /system/xbin/busybox rm -rf "$i"/{,.}* 
     done 

/system/xbin/busybox rm -rf /data/system/cache/* /data/system/dropbox/* /data/system/hwui_precompiled_programs_* /data/system/job/* /data/system/lgis/* /data/system/lgmdm/* /data/system/netstats/* /data/system/perfd/* /data/system/procstats/* /data/system/recent_*/* /data/system/usagestats/0/*/*` 

} 

这个额外的命令一起。

他们所做的是删除所有应用程序的缓存以及在/ data/system中重新生成的任何文件。我不确定哪些文件可能保留在rngd-changed-hwrng进程行为中,但是这完全解决了我的系统问题。过程[hwrng]已消失,但现在有一个hwrng过程,没有括号。它的cpu时间是0,我的/proc/sys/kernel/random/entropy_avail又回到了〜1500。