OPI 備忘録 Kernel UPdate

loboris さんのスクリプトで、kernel を3.4.39-01-lobo にあげたので備忘録。

 

root@OrangePI:/usr/local/src# wget http://loboris.eu/update_kernel.sh
root@OrangePI:/usr/local/src# chmod 755 update_kernel.sh 
root@OrangePI:/usr/local/src# ./update_kernel.sh 

Unpacking ...
Files unpacked.
==============================================
Select the OrangePI board you want to upgrade:
  1   OrangePI 2
  2   OrangePI PLUS
  3   OrangePI PC
?  3
Updating OrangePI PC

===============================
Select hdmi display resolution:
  1   1080p 60Hz
  2   1080p 50Hz
  3    720p 60Hz
  4    720p 50Hz
?  1

Selected 1080p 60Hz

=====================================
Do you have HDMI->DVI adapter, (y/N)?  N
HDMI interface selected

================
CONTINUE, (y/N)?  y

kernel, script.bin and /lib/modules updated, please REBOOT.
AFTER REBOOT RUN:  sudo depmod -a
===========================================================

root@OrangePI:/usr/local/src# 

★リブート後

junkhack@OrangePI:~# sudo depmod -a

root@OrangePI:/usr/local/src/UnixBench# ./Run -c 4
========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: OrangePI: GNU/Linux
   OS: GNU/Linux -- 3.4.39-01-lobo -- #1 SMP PREEMPT Sun Oct 25 14:46:41 CET 2015
   Machine: armv7l (armv7l)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   19:49:11 up 3 min,  3 users,  load average: 0.38, 0.34, 0.15; runlevel 5

------------------------------------------------------------------------
Benchmark Run: Sun Dec 13 2015 19:49:11 - 20:17:47
0 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       18592638.3 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2982.9 MWIPS (10.6 s, 7 samples)
Execl Throughput                               1728.9 lps   (29.4 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        159573.1 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           44372.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        435389.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1057156.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 102252.4 lps   (10.0 s, 7 samples)
Process Creation                               5051.4 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3683.5 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    495.0 lpm   (60.3 s, 2 samples)
System Call Overhead                        2557956.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   18592638.3   1593.2
Double-Precision Whetstone                       55.0       2982.9    542.3
Execl Throughput                                 43.0       1728.9    402.1
File Copy 1024 bufsize 2000 maxblocks          3960.0     159573.1    403.0
File Copy 256 bufsize 500 maxblocks            1655.0      44372.0    268.1
File Copy 4096 bufsize 8000 maxblocks          5800.0     435389.5    750.7
Pipe Throughput                               12440.0    1057156.0    849.8
Pipe-based Context Switching                   4000.0     102252.4    255.6
Process Creation                                126.0       5051.4    400.9
Shell Scripts (1 concurrent)                     42.4       3683.5    868.7
Shell Scripts (8 concurrent)                      6.0        495.0    824.9
System Call Overhead                          15000.0    2557956.5   1705.3
                                                                   ========
System Benchmarks Index Score                                         616.2

OrangePi PC にヒートシンク

オレンジパイにヒートシンクをつけると、温度が下がるのか実験してみました。

1

ジャンク品のヒートシンクです。これは、15年くらい前の日立のフローラについていたもの。大きいので、3cmくらいにカットして置いてみただけです。

3

2 UnixBench を計測していたら、80度くらいまで上がったのですが、置いてみただけでも10度ちょい下がっている感じです。

Every 0.5s: cat /sys/class/thermal/thermal_zone0/temp /sys/class/thermal/thermal_zone1/temp                                  Sun Dec 13 18:20:31 2015

67
67

こんな感じで、0.5秒置きに温度をモニタリングしていると最高でも70度までは行かないようです。これにファンをつければさらに下がると思い、小さなファンをゲット。

さがったと思っていたら、UnixBench を –c 4 オプションをつけると、やっぱり80度近くになっています。うーん、やっぱりファンをつけたほうがいいですかね。まぁ、でもつけないときと比べると、下がり方が速いですね。

Every 0.5s: cat /sys/class/thermal/thermal_zone0/temp /sys/class/thermal/thermal_zone1/temp                                  Sun Dec 13 18:39:42 2015

81
81

allwinner の H3 は、CPU の周波数も最大で、1600MHz まであがる様でかなり大丈夫かなと思わせます。6ドル程度の CPU なのに結構やりますね。これは。

Every 0.5s: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_f…  Sun Dec 13 18:53:18 2015

1536000
1536000
1536000
1536000

loboris さんが書いているフォーラムのガイドにもフルスピードでは、ヒートシンクとファンをつけろとあります。

to always run at full speed install heatsink and fan !

http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=342

4

薄いので安いのだと、7mm 厚のがありました。もっと薄いものだと、4mm のものがあるのですが、ちょっとお高く、本体が買えそうな値段なんでやめました。4mm厚のは、中国産と日本産のがあり1600円ほどします。考えちゃいますよね。

 

で、結局7mm厚の2個入りをゲット。RasPi2 と OrangePiPC につけようかと。RasPI2 はケースの都合で銅製のヒートシンクをゲット。

 

どちらも、24時間運転のサーバ化に転用する予定ですので、熱対策はしておいて損はないはず。ヒートシンクとCPU との接着は、サーマルパッドという3M の製品が良さそうでこれもゲットしておきました。

 

ついでに、耐熱性のあるポリイミド(Polyimide)テープもゲット。こんなのがあるのですね。知りませんでした。2cm 幅くらいが使いやすそうかなと。

UnixBench は 1CPU だと、以下のようでした。

root@OrangePI:/usr/local/src/UnixBench# ./Run 
make all
make[1]: Entering directory '/usr/local/src/UnixBench'
Checking distribution of files
./pgms  exists
./src  exists
./testdir  exists
./tmp  exists
./results  exists
make[1]: Leaving directory '/usr/local/src/UnixBench'
sh: 1: 3dinfo: not found

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark

   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 13, 2011                   johantheghost at yahoo period com


1 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

1 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

1 x Execl Throughput  1 2 3

1 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

1 x File Copy 256 bufsize 500 maxblocks  1 2 3

1 x File Copy 4096 bufsize 8000 maxblocks  1 2 3

1 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10

1 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

1 x Process Creation  1 2 3

1 x System Call Overhead  1 2 3 4 5 6 7 8 9 10

1 x Shell Scripts (1 concurrent)  1 2 3

1 x Shell Scripts (8 concurrent)  1 2 3

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: OrangePI: GNU/Linux
   OS: GNU/Linux -- 3.4.39 -- #1 SMP PREEMPT Sun Aug 30 14:14:50 CEST 2015
   Machine: armv7l (armv7l)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   18:04:49 up  1:13,  5 users,  load average: 3.24, 3.27, 3.25; runlevel 5

------------------------------------------------------------------------
Benchmark Run: Sun Dec 13 2015 18:04:49 - 18:32:58
0 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        5498429.9 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      902.6 MWIPS (10.0 s, 7 samples)
Execl Throughput                                512.7 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        127185.4 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           40063.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        300968.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              341609.8 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  22945.9 lps   (10.0 s, 7 samples)
Process Creation                               1794.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1461.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    458.4 lpm   (60.1 s, 2 samples)
System Call Overhead                         856556.8 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    5498429.9    471.2
Double-Precision Whetstone                       55.0        902.6    164.1
Execl Throughput                                 43.0        512.7    119.2
File Copy 1024 bufsize 2000 maxblocks          3960.0     127185.4    321.2
File Copy 256 bufsize 500 maxblocks            1655.0      40063.0    242.1
File Copy 4096 bufsize 8000 maxblocks          5800.0     300968.0    518.9
Pipe Throughput                               12440.0     341609.8    274.6
Pipe-based Context Switching                   4000.0      22945.9     57.4
Process Creation                                126.0       1794.6    142.4
Shell Scripts (1 concurrent)                     42.4       1461.6    344.7
Shell Scripts (8 concurrent)                      6.0        458.4    763.9
System Call Overhead                          15000.0     856556.8    571.0
                                                                   ========
System Benchmarks Index Score                                         266.0

で、肝心のBackBoost はなかなか時間が取れず、今日も半田付けはできませんでした。12月はいろいろ忙しいですね。

 

まとめ

・アイドル時の温度は、ヒートシンクを置かないと60度。置くと、55度ほどになる。

・アルミヒートシンクを3cm 角に切って、置いただけでもそれなりに冷却効果はある。

・最高で80度ちょいまであがるので、ファンをつけたてみたいところ

・ヒートシンクの接着は、3M とかから出ているサーマルパッドのシリーズがよさそう

・厚み4mm のファンは高いので、7mm のにした。

250mahのかわいいLipo到着

Lipo電池が到着。Giftか、あるいは X線検査でも通るようにかは不明ですがUSB充電モジュールと同梱されて届きました。

普通に使えば、2,3時間でなくなる容量の小さな実験用電池です。DeepSleep にするとどのくらい持つのでしょうかね?

052030心配していたケースに収まるかどうかのぎりぎりのサイズでしたが、問題なく入りとりあえず安心。 BackBoost のESP8266 と組み合わせてお手軽サイズな気温観測&電流、電圧計測装置として使う予定です。

5 全部の部品が到着したので、あとはソフトウェアといきたいところですが、まだ完全に半田付けされている筐体がないので、早いところ作らないと。冬休みの課題ですね。2015年の内になんとか動作させたいです。

 

だんたんと、想定したものが形になっていくステップは楽しいですね。回路も部品も全部オリジナルの世界に1つの完全オリジナル品。中国のパワーにだいぶ助けられています。感謝。

OrangePi PC のベンチマーク計測

15ドルPCの Orange Pi PC が来たので、動作確認をかねて、とりあえずベンチマークを計測。温度が80度近くになって心配でとりあえず、手元にあった放熱板を仮置き。

$ cat /sys/class/thermal/thermal_zone*/temp

結構、熱くなるようです。まぁ、それだけ速いということですかね。電源はPSP のがなぜかジャンク箱にあったのでそれで。

orangePiPC

なかなか、速いんじゃないですかね。622.9 出ていますが。RasPI2が400くらいなので、それより速いことはわかりました。とりあえず、ログだけ乗せておきます。

mate1.8.2 重そうなmate desktop も実用に耐えうる速度。

VNC でつなげてみました。CPUパワーがあって、これが15ドルとは思えませんね。

Raspberry Piの設定【VNCサーバ(tightVNC)の設定】

OS は、とりあえずloborisさんの、OrangePI_Ubuntu_Vivid_Mate.img を使いました。デスクトップGUIで、ブラウザー起動しましたが、なかなか速いです。レンダリングはドライバーの問題か、少しもたつく感じ。環境を整えれば、何かの用途には使えそうですね。送料込み、2300円くらいの価値はあるかと。

 

oot@OrangePI:/usr/local/src/UnixBench# ./Run -c 4
make all
make[1]: Entering directory '/usr/local/src/UnixBench'
Checking distribution of files
./pgms  exists
./src  exists
./testdir  exists
./tmp  exists
./results  exists
make[1]: Leaving directory '/usr/local/src/UnixBench'
sh: 1: 3dinfo: not found

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark

   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 13, 2011                   johantheghost at yahoo period com


4 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

4 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

4 x Execl Throughput  1 2 3

4 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

4 x File Copy 256 bufsize 500 maxblocks  1 2 3

4 x File Copy 4096 bufsize 8000 maxblocks  1 2 3

4 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10

4 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

4 x Process Creation  1 2 3

4 x System Call Overhead  1 2 3 4 5 6 7 8 9 10

4 x Shell Scripts (1 concurrent)  1 2 3

4 x Shell Scripts (8 concurrent)  1 2 3

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: OrangePI: GNU/Linux
   OS: GNU/Linux -- 3.4.39 -- #1 SMP PREEMPT Sun Aug 30 14:14:50 CEST 2015
   Machine: armv7l (armv7l)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   04:53:35 up 37 min,  3 users,  load average: 3.34, 3.29, 2.93; runlevel 5

------------------------------------------------------------------------
Benchmark Run: Sat Dec 12 2015 04:53:35 - 05:22:08
0 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       17790507.8 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2952.0 MWIPS (11.1 s, 7 samples)
Execl Throughput                               1727.4 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        158602.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           43633.7 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        435339.7 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1071712.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 109380.1 lps   (10.0 s, 7 samples)
Process Creation                               5064.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3836.6 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    515.5 lpm   (60.2 s, 2 samples)
System Call Overhead                        2668331.1 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   17790507.8   1524.5
Double-Precision Whetstone                       55.0       2952.0    536.7
Execl Throughput                                 43.0       1727.4    401.7
File Copy 1024 bufsize 2000 maxblocks          3960.0     158602.9    400.5
File Copy 256 bufsize 500 maxblocks            1655.0      43633.7    263.6
File Copy 4096 bufsize 8000 maxblocks          5800.0     435339.7    750.6
Pipe Throughput                               12440.0    1071712.4    861.5
Pipe-based Context Switching                   4000.0     109380.1    273.5
Process Creation                                126.0       5064.7    402.0
Shell Scripts (1 concurrent)                     42.4       3836.6    904.9
Shell Scripts (8 concurrent)                      6.0        515.5    859.2
System Call Overhead                          15000.0    2668331.1   1778.9
                                                                   ========
System Benchmarks Index Score                                         622.9

root@OrangePI:/usr/local/src/UnixBench# 
 
root@OrangePI:/usr/local/src/UnixBench# cat /etc/issue
Ubuntu 15.04 \n \l

root@OrangePI:/usr/local/src/UnixBench# cat /etc/debian_version
jessie/sid
root@OrangePI:/usr/local/src/UnixBench# cat /proc/cpuinfo
Processor    : ARMv7 Processor rev 5 (v7l)
processor    : 0
BogoMIPS    : 1920.00

processor    : 1
BogoMIPS    : 1920.00

processor    : 2
BogoMIPS    : 1920.00

processor    : 3
BogoMIPS    : 1920.00

Features    : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 5

Hardware    : sun8i
Revision    : 0000
Serial        : 940050340508303104ce
root@OrangePI:/usr/local/src/UnixBench# 
root@OrangePI:/usr/local/src/UnixBench# cat /proc/meminfo
MemTotal:        1027152 kB
MemFree:          469976 kB
Buffers:           24388 kB
Cached:           413636 kB
SwapCached:            0 kB
Active:           227240 kB
Inactive:         260016 kB
Active(anon):      50164 kB
Inactive(anon):    20632 kB
Active(file):     177076 kB
Inactive(file):   239384 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:        270336 kB
HighFree:          18500 kB
LowTotal:         756816 kB
LowFree:          451476 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         49176 kB
Mapped:            30624 kB
Shmem:             21568 kB
Slab:              38708 kB
SReclaimable:      29820 kB
SUnreclaim:         8888 kB
KernelStack:        1016 kB
PageTables:         1384 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      513576 kB
Committed_AS:     358160 kB
VmallocTotal:     245760 kB
VmallocUsed:       38296 kB
VmallocChunk:     196788 kB
root@OrangePI:/usr/local/src/UnixBench# 
root@OrangePI:/usr/local/src/UnixBench# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
1008000
root@OrangePI:/usr/local/src/UnixBench# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
1536000
root@OrangePI:/usr/local/src/UnixBench# cat /sys/class/thermal/thermal_zone0/temp
52
root@OrangePI:/usr/local/src/UnixBench# 

ESP BackBoost 組み付け風景

なかなか平日は作業が進まず(お仕事から帰還すると眠くて・・・)、先週の土日に全体を組み付けたので、作業工程を載せておきます。電源ICの半田付けがどうやらまずそうということが今のところわかっています。2つ作ったのですが、1つは、熱にやられたようで、もう1つは、おそらく半田付け不良です。降圧はするけど、昇圧しないという現象。

 

小物のパーツを組みつけてから、大物パーツをつけていきます。ピンヘッダーは裏側から半田付け。熱で温度が上がるので、コルクの作業版では焦げるので、写真のように金属版とその下には、mac のマザーボードの中にあった、ヒートシンクに使われていた銅板を敷いています。

DSC00198

1点を固定してから、垂直に修正して半田付けします。 フラックスは後に清掃します。DSC00200

表部分はこんな感じ。完全にフラットにするには耐熱性のテープを貼り付けたほうが良さそうです。そんなテープはあるのかな?要検討です。

DSC00201

ESP の裏側には熱を拡散させる金属部分が出ているので、ビニールテープでマスク。

DSC00202

左右のクリアランスはこんな感じ。

DSC00196 フラックスをつけて、半田大盛りでつけます。左側がちょっとブリッジしています。後に修正。

DSC00208

充電モジュール部分も予備半田して、フラックスを塗ります。

DSC00213

エアーガンでブローして、くっ付けます。このとき、パーツが外れないよう、テープで覆ったほうが良いことがわかりました。あと、リセットスイッチは一部、プラスチックが使われているので、後からつけたほうが良さそうです。

DSC00212

とりあえず、こんな感じです。週末に、サイド同じものを組み付けて練習してみます。

ESP8266 BackBoost 組み付け完了・・・

一日かけて、QKしながら、まったりと一応、組み付けましたが、まだ動作確認まで気力がわかず動作するかどうかはまだ未チェックです。コハクラフトさんからE-ink 開発ボードが速く届いたのに、手が回りませんでした。BackBoost がとりあえず、完了してからがんばることに。

 

一応、全体像の紹介。

DSC00216

工程の勘所をチェックするため、最後まで組み立ててみました。

PINは、イレギュラーですが、表をフラットにするため、裏からつけてあります。幅をESPの最小幅にするためです。DSC00217

いくつか、設計上と変更をしたほうがよいところに気がつきました。 DSC00218

IC2 のスイッチに使っているのは、足が生えてるので小さいですが半田付けは楽です。 DSC00219この表の充電モジュールもブローでリフローしました。ピンセットで一押しするとき、手がブルって、モジュール上の部品が外れて大変でした。

 

とりあえず、電源が出ているかどうかのチェックをしてみたのですが、何かがおかしい。

まぁ、一発で成功するのは稀なので、何かが悪いのでしょう。

 

今週少しづつ、チェックしていこうと思います。