2015-08-24 89 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。