20170601_jeffrey - silenceuncrio/diary GitHub Wiki

0850

review

0935

很快地把上禮拜的成果簡單做了份文件放在 公司內部的 Low-Temperature Boot Up

待會 M300 週會可以跟 成員 報告一下

0955

從 今天 一直到 下週五 我的目標是

透過降低 CPU Frequency 來克服 當 Linux kernel mount rootfs 時 不受到 低溫 的影響

1045

參考 HowTo CpuFrequencyScaling

先安裝 cpufrequtils package

diff --git a/meta-proscend/recipes-core/prosrc/prosrc_0.1.bb b/meta-proscend/recipes-core/prosrc/prosrc_0.1.bb
index b665291..f21523a 100644
--- a/meta-proscend/recipes-core/prosrc/prosrc_0.1.bb
+++ b/meta-proscend/recipes-core/prosrc/prosrc_0.1.bb
@@ -22,7 +22,7 @@ RDEPENDS_${PN} += "GobiNet-mod"
 RDEPENDS_${PN} += "8192du-mod wireless-tools rng-tools hostapd wpa-supplicant"
 # Ethx tool
 RDEPENDS_${PN} += "ethtool"
-RDEPENDS_${PN} += "ppp ppp-oe iptables iperf dnsmasq pptp-linux bridge-utils dhcp-server dhcp-client openvpn openssl openssl-conf iproute2 iproute2-tc procps socat strongswan cryptodev-module mtd-utils mtd-utils-ubifs imx-kobs tar bzip2 jq shadow libqmi net-snmp net-snmp-server-snmpd"
+RDEPENDS_${PN} += "ppp ppp-oe iptables iperf dnsmasq pptp-linux bridge-utils dhcp-server dhcp-client openvpn openssl openssl-conf iproute2 iproute2-tc procps socat strongswan cryptodev-module mtd-utils mtd-utils-ubifs imx-kobs tar bzip2 jq shadow libqmi net-snmp net-snmp-server-snmpd cpufrequtils"
 # ======================================

 # Build dependence

1625

明天預計搭 0925 的高鐵前往台北

1715

參考 Change CPU frequency

這邊說到我可以參考 i.MX Linux® Reference ManualChapter 23 CPU Frequency Scaling (CPUFREQ) Driver

我參考 23.2 Menu Configuration Options 直接把預設的 CPU frequency governor 改成 Powersave governor

diff --git a/meta-proscend/recipes-kernel/linux/files/m300_defconfig b/meta-proscend/recipes-kernel/linux/files/m300_defconfig
old mode 100755
new mode 100644
index 29693b0..cc1c38e
--- a/meta-proscend/recipes-kernel/linux/files/m300_defconfig
+++ b/meta-proscend/recipes-kernel/linux/files/m300_defconfig
@@ -548,11 +548,11 @@ CONFIG_CPU_FREQ_GOV_COMMON=y
 CONFIG_CPU_FREQ_STAT=y
 # CONFIG_CPU_FREQ_STAT_DETAILS is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y
 # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set
 CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
 CONFIG_CPU_FREQ_GOV_POWERSAVE=y
 CONFIG_CPU_FREQ_GOV_USERSPACE=y
@@ -1390,7 +1390,7 @@ CONFIG_MICREL_SWITCHES=y
 #
 # Micrel switch device drivers
 #
-CONFIG_MICREL_SWITCH=y
+# CONFIG_MICREL_SWITCH is not set
 # CONFIG_MICREL_SWITCH_EMBEDDED is not set
 CONFIG_HAVE_KSZ8795=y
 CONFIG_HAVE_SPI_KSZ8795=y

目前看來的確有效

<s/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000
<s/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000
<s/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000
<s/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000
<s/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000
<s/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000
<s/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000
<s/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000
<s/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000
<s/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000
</devices/system/cpu/cpu0/cpufreq/scaling_available_governors
interactive conservative ondemand userspace powersave performance
root@Mobile Router:~#

就等下禮拜直接進行零下 40 度開機挑戰囉