#raspberry pi 4B(4GB)を購入したので環境設定の備忘録
普段の環境がubuntuなのだけれど,raspberry pi 4に環境移行出来るか調査する.
特にinstallしたいアプリケーションは
- Mathematica
- python 3 (conda環境)
- julia
- texlive
- vscode
- atom (断念)
- stress test tools
- zotero (断念)
- pcloud
- aptでいれるやつ
インストール
Raspbian Buster with desktopを
からダウンロードしてddでインストール
Raspbian Buster with desktop and recommended softwareのミラーは
初期設定
ドキュメントは公式が充実している.セキュリティーを参考に設定にする.
/etc/apt/sources.listを日本のミラーに変えておく
#deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
deb http://ftp.jaist.ac.jp/raspbian/ buster main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
リポジトリを更新してupdateしておく.
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
ファームウェアをupdateする(非推奨)
$ sudo rpi-update
なおcurrentのファームウェアのversionの情報は次のコマンドで確認できる.
$ sudo rpi-eeprom-update
[sudo] password for hanada:
BCM2711 detected
BOOTLOADER: up-to-date
CURRENT: Tue 10 Sep 2019 10:41:50 AM UTC (1568112110)
LATEST: Tue 10 Sep 2019 10:41:50 AM UTC (1568112110)
VL805: up-to-date
CURRENT: 000137ad
LATEST: 000137ad
cpuの発熱量が増えているのヒートシンクを付けないとサーマルスロットリングが掛かるとのこと.
ちっこいヒートシンクだけだと,熱が逃げないので秋月電子で売っている5VDCファンをヒートシンクの上にのせる(両面テープどめ).ただし,GPIO2番や4番の5Vで給電するとファンが最大回転数で回り,小口径ファンなので結構うるさい.ファンコンをDIYしても良いが面倒なので,1番ピンの3Vで回す.このセッティングで無負荷30℃,5V,0.5A.ファンを止めて10分程度たつと45℃,5V, 0.4A.
電圧と電流値はルートアール RT-TC2VASVで測定しているので,ACアダプターでの変換ロスは含まれず,ラズパイ+ファンが要求している電力.
無負荷で2.5[W],後述するcpuburnで,電気量は5.04V,1.1A $\approx$ 5[W]なので極めて省電力だと思う.
3[A]も要求するのかと聞いておりビクビクしていたが,かなり優秀.
オーバークロックするならice towerとかそのロープロファイルの方がよいかもしれない.
Mathematica
Mathematicaのインストールは
$ sudo apt install wolfram-engine
でok.スクリプトを使用してインストールすることも出来る.がaptでinstallしているだけなので,debian系のosでないとinstallできない.おそらくubuntuでもインストール出来ると思う.
本当はmanjaro linuxを使ってみたくて,Install Wolfram Engine On Any Distributionsをつかってインストールしようとしたが,何か問題があってrasbianにした(記録を取ってなかったので何が問題だったのかは覚えていない).
$ Mathematica
でnotebookがたちあがり,
$ wolfram
Mathematica 12.0.1 Kernel for Linux ARM (32-bit)
Copyright 1988-2019 Wolfram Research, Inc.
でコンソール上でインタラクティブにmathematica(wolfram言語)を実行可能.
python
デフォルトでpython3.7がinstallされているが,anacondaを普段使っているのでanacondaをinstallしたい(といっても普段使うのはipython, numpy, scipy, matplotlib, sympy, mpmathくらいだが).だが,anacondaはarm版は無さそうである.一方,minicondaはarm版がarchiveにあったのでインストールしてみる
$ wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-armv7l.sh
$ bash Miniconda3-latest-Linux-armv7l.sh
インストールされたpythonのversionは少し古い.
$ ./miniconda3/bin/python
Python 3.4.3 |Continuum Analytics, Inc.| (default, Aug 21 2015, 00:53:08)
[GCC 4.6.3] on linux
残念な事に,早速numpyをインストールしようとしてみるもErrorとなる.
$ conda install numpy
Fetching package metadata: ....
Solving package specifications:
Error: Could not find some dependencies for numpy: blas * openblas
You can search for this package on anaconda.org with
anaconda search -t conda blas * openblas
ごオグル先生に聞いてみるとberrycondaを使えと啓示があったのでberrycondaをインストールしてみる.
$ wget https://github.com/jjhelmus/berryconda/releases/download/v2.0.0/Berryconda3-2.0.0-Linux-armv7l.sh
$ bash Berryconda3-2.0.0-Linux-armv7l.sh
インストールされたpythonのversionは次の通り
$./berryconda3/bin/python
Python 3.6.1 | packaged by rpi | (default, Apr 20 2017, 19:35:19)
[GCC 4.9.2] on linux
さっそくnumpy, scipy, matplotlib, sympy, mpmathを condaでインストールする
$ conda install <packagename>
全て問題なくinstallできたのでraspberry piではberrypiを使おう.
パスを通しておく
$ export PATH=/home/hanada/Applications/berryconda3/bin:$PATH
julia
juliaは公式でarm版に対応しているのでそれを使う.ファイルを展開するだけ.
とは言ったもののいつもtar.gzの解凍オプションを覚えられないので記載しておく
$ tar zxvf julia-1.3.1-linux-armv7l.tar.gz
$ ./julia-1.3.1/bin/julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.3.1 (2019-12-30)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
julia>
パスを通しておく.
$ export PATH=/home/hanada/Applications/julia-1.3.1/bin:$PATH
texlive
texlive 2019からinstall-tl-unx.tar.gzをダウンロード&展開してインストーラーを実行しフルインストールする.いつものことだが,クッソ時間が掛かる(といっても1時間程度).
$ /usr/local/texlive/2019/bin/armhf-linux/platex
This is e-pTeX, Version 3.14159265-p3.8.2-190131-2.6 (utf8.euc) (TeX Live 2019) (preloaded format=platex)
restricted \write18 enabled.
**\relax
entering extended mode
pLaTeX2e <2020-02-02>+2 (based on LaTeX2e <2020-02-02> patch level 3)
L3 programming layer <2020-02-21>
*
$ xelatex
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019) (preloaded format=xelatex)
restricted \write18 enabled.
**\relax
entering extended mode
LaTeX2e <2020-02-02> patch level 3
L3 programming layer <2020-02-21>
*
パスを通しておく
$ export PATH=/usr/local/texlive/2019/bin/armhf-linux:$PATH
vscode
vscodeもarm版がある.
あまりつかっていないが,軽いと評判が良いらしいので触ってみたいのでとりあえず入れてみる.
# . <( wget -O - https://code.headmelted.com/installers/apt.sh )
(省略)
Installation complete!
You can start code at any time by calling "code-oss" within a terminal.
これもすんなり入り
code-oss
で起動できる.
atom
(断念)
公式のdebはarm版ではないのでインストールできない.
にrasberrypiにatomをインストールする手順が記載されているが,ちょっと面倒そうなので実行しない.
なお,atomはsnapでも配布されているが,
https://forum.snapcraft.io/t/raspberry-pi-3b-raspian-stretch-snap-not-working/3947/15
にあるように,atomはインストールできないようだ(未実行)
なおsnapはaptでinstall可能なようだ(未実行)
build-essential
build-essentialはdefaultでinstallされており
$ gcc --version
gcc (Raspbian 8.3.0-6+rpi1) 8.3.0
$ g++ --version
g++ (Raspbian 8.3.0-6+rpi1) 8.3.0
gfortranはaptでインストール可能で
$ sudo apt install gfortran
(省略)
$ gfortran --version
GNU Fortran (Raspbian 8.3.0-6+rpi1) 8.3.0
stress test tools
prime95はarm版がない.コンパイルするのは面倒なのでaptでstressとcpuburn-armを入れる.
参考:https://core-electronics.com.au/tutorials/stress-testing-your-raspberry-pi.html
ちっこいヒートシンクとファンの環境で,
stressだと40数度cpuburnで50度程度(電力は5.04V1.1A)まで上昇.
zotero
zotero 4
(断念)
zotero 4 はaptでinstallできる.ただ,起動しても使えない・・・.
$ apt show zotero-standalone
Package: zotero-standalone
Version: 4.0.29.16+dfsg-1
$ sudo apt install zotero-standalone
zotero 5
(断念)
zotero のcurrent versionは
zotero --version
Zotero Zotero 5.0.83, Copyright (c) 2006-2018 Contributors
で結構頻繁にupdateがくる.公式のstandaloneはi686とx86_64のバイナリしか配布していないので,もちろんraspberry piでは動かない.
Zotero stand aloneのソースはgithubで公開されており,ビルドする手順も公開されている.手順通りに実行すればビルドには成功したが,そのままではi686とx86_64用にビルドされるのでarmでは使えない.
zotero-standalone-build$ ls staging/Zotero_linux-*
staging/Zotero_linux-i686:
application.ini firefox-bin.sig liblgpllibs.so libnssckbi.so libsoftokn3.so platform.ini zotero
chrome firefox.sig libmozavcodec.so libnssdbm3.chk libssl3.so plugin-container zotero-bin
chrome.manifest fonts libmozavutil.so libnssdbm3.so libxul.so plugin-container.sig zotero.desktop
components gmp-clearkey libmozgtk.so libnssutil3.so libxul.so.sig poppler-data zotero.jar
defaults gtk2 libmozsandbox.so libplc4.so minidump-analyzer set_launcher_icon
dependentlibs.list icons libmozsqlite3.so libplds4.so omni.ja Throbber-small.gif
dictionaries libfreeblpriv3.chk libnspr4.so libsmime3.so pdfinfo updater
extensions libfreeblpriv3.so libnss3.so libsoftokn3.chk pdftotext updater.ini
staging/Zotero_linux-x86_64:
application.ini firefox-bin.sig liblgpllibs.so libnssckbi.so libsoftokn3.so platform.ini zotero
chrome firefox.sig libmozavcodec.so libnssdbm3.chk libssl3.so plugin-container zotero-bin
chrome.manifest fonts libmozavutil.so libnssdbm3.so libxul.so plugin-container.sig zotero.desktop
components gmp-clearkey libmozgtk.so libnssutil3.so libxul.so.sig poppler-data zotero.jar
defaults gtk2 libmozsandbox.so libplc4.so minidump-analyzer set_launcher_icon
dependentlibs.list icons libmozsqlite3.so libplds4.so omni.ja Throbber-small.gif
dictionaries libfreeblpriv3.chk libnspr4.so libsmime3.so pdfinfo updater
extensions libfreeblpriv3.so libnss3.so libsoftokn3.chk pdftotext updater.ini
ビルドできるということは,armで動く様にコンパイル出来るような気もするが・・・,労力と能力を超えるのであきらめる.
挑戦している人もいるが
https://forums.zotero.org/discussion/80403/building-zotero-5-for-arm-raspberry
https://forums.zotero.org/discussion/72933/zotero-5-for-arm-raspberry-pi
成功者がいなさそうなので,やはり諦める.
ちなみに,wineはarmなので動かない.
zoteroは重宝しているだけに悔しい・・・.やはり課金して支援せねば.
pcloud
zoteroでの経験から公式が配布しているバイナリは
$ file ~/Applications/pcloud
/home/hanada/Applications/pcloud: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 2.6.18, BuildID[sha1]=79dcc4e55a61c293c5e19edbd8d65b202842579f, stripped
$ file pcloud
pcloud: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, BuildID[sha1]=57454617d24d199c9ef48f139f5867f737b31aef, stripped
なのでraspberry pi では実行できない.がpCloud は CLI clinentもあるので今度こそビルドしてみる.
pCloud Console Client ビルドの方法も極めてわかりやすく支持された手順でコンパイルして
$ pcloudcc -u username -p
を実行すればhomeにpCloudDriveがmountされている.
$ ls ~/
Applications Documents mathematica pCloudDrive prime Templates 'Wolfram Mathematica'
Desktop Downloads Music Pictures Public Videos
おいおい,使いやすいように設定してゆこう.
apt系のアプリケーション
以下のアプリケーションはaptからinstallする.
- libreoffice
- thunderbird + lightning
- texstudio
- emacs
- gnuplot
容量
これらを全部入れたあとで容量を調べると
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 118G 14G 99G 13% /
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 8.5M 1.9G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/mmcblk0p1 253M 53M 200M 21% /boot
tmpfs 391M 4.0K 391M 1% /run/user/1001
初期状態が2G程度だった(と思う)ので,10GB強が追加分かな.