ラズパイでDockerでMySQL
GitHub Codespacesが使えるようになるのを待つ間、ラズパイで何とかならないか試してみた。
VS Codeからリモート接続して、Dockerインストールするところまでは順調だったけれど、docker compose upしたところでエラー。
MySQLのコンテナイメージが提供されていないようだ。 意外だった。
mysql Tags | Docker Hubにはlinux/arm64/v8
があるけれど、ラズパイはv7
らしい。
POSTS
GitHub Codespacesが使えるようになるのを待つ間、ラズパイで何とかならないか試してみた。
VS Codeからリモート接続して、Dockerインストールするところまでは順調だったけれど、docker compose upしたところでエラー。
MySQLのコンテナイメージが提供されていないようだ。 意外だった。
mysql Tags | Docker Hubにはlinux/arm64/v8
があるけれど、ラズパイはv7
らしい。
SSIDが見つからない件。
linux - Raspberry Pi 4 hostapd hotspot not visible - Super Userの回答を参考に、
sudo systemctl stop dhcpcd.service
sudo systemctl restart hostapd.service
sudo systemctl start dhcpcd.service
したらいけた。
/etc/dhcpcd.conf
にdenyinterfaces wlan0
を追記するのは効き目なかった。
スピードテストの結果
経由 | ダウンロード | アップロード | レイテンシ |
---|---|---|---|
無線LANルーター | 88.2Mbps | 78.4Mbps | 79ms |
ラズパイ2.4G | 32.0Mbps | 27.7Mbps | 5ms |
ラズパイ5G | 54.1Mbps | 59.5Mbps | 5ms |
有線 | 91.6Mbps | 60.4Mbps | 4ms |
専用機にはかなわないか。。
Read morePCは昨日買ってきたLANケーブルでインターネット接続は解決した。
Pixel4も同じ現象だった。
LANケーブルつないだらいけるのか、LANポート付きUSB-HUBを試してみたけれど、ダメだった。
なので、ラズパイを無線LANルーターにしてみることにした。
やり方はググったらいくつか出てきた。
ルーター用にするOSもあるみたいだけど、イメージ作るの面倒なのでいったんパス。
Read morehttps://github.com/kuzzleio/kuzzle-admin-console#local-build をやってみる
$ git clone https://github.com/kuzzleio/kuzzle-admin-console
$ cd kuzzle-admin-console
$ npm install
npm ERR! command sh -c node-gyp rebuild
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@3.8.0
npm ERR! gyp info using node@17.3.0 | linux | arm
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Command failed: /usr/bin/python -c import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack File "<string>", line 1
npm ERR! gyp ERR! stack import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack ^
npm ERR! gyp ERR! stack SyntaxError: invalid syntax
ダメか。。
WSLでいろいろ試してみたものの、ポート関連のエラーで動かないので、Raspberry piで試してみた。
rbenv
を使ってみる。libssl-dev
とlibreadline-dev
を入れる。$ sudo apt-get install -y libssl-dev libreadline-dev
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ rbenv rehash
$ rbenv install --list
$ rbenv install 2.6.6
$ rbenv global 2.6.6
$ rbenv rehash
$ ruby --version
ruby 2.6.6p146 (2020-03-31 revision 67876) [aarch64-linux]
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
$ sudo apt-get install build-essential
$ echo 'eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)' >> /home/pi/.profile
$ eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
$ brew --version
Homebrew 2.4.8
Homebrew/linuxbrew-core (git revision 39fddf7; last commit 2020-07-21)
$ brew install nodebrew
$ mkdir -p ~/.nodebrew/src
$ nodebrew install stable
$ nodebrew ls
$ nodebrew use v14.6.0
$ vi ~/.profile
export PATH=$HOME/.nodebrew/current/bin:$PATH
$ source ~/.profile
$ node -v
v14.6.0
expo-cli
をインストールしないで、init後にaddしている。tabs (TypeScript)
を選択した。$ cd workspace/
$ npx expo-cli init expotest
$ cd expotest/
$ npm install --save-dev expo-cli
npm start
後、しばらくすると以下のエラーが出るので、上限を上げる。Error: ENOSPC: System limit for number of file watchers reached, watch '/home/pi/workspace/expotest/node_modules/metro/node_modules/string-width/node_modules/ansi-regex'
$ cat /proc/sys/fs/inotify/max_user_watches
8192
$ sudo su
# echo fs.inotify.max_user_watches= 65536 | tee -a /etc/sysctl.conf
fs.inotify.max_user_watches= 65536
# cat /proc/sys/fs/inotify/max_user_watches
8192
# sysctl -p
fs.inotify.max_user_watches = 65536
# cat /proc/sys/fs/inotify/max_user_watches
65536
# exit
$ npm start
ラズパイにWebカメラ付けてみたくても売っていないので、Android端末をカメラ化する。
Android端末側にはアプリをインストールしておく。
ラズパイ側。公式ページにはLinux用のインストール方法が用意されているが、 http://www.dev47apps.com/droidcam/linuxx/
Note: 32-bit binaries are no longer provided, you’ll need to compile the client from source.
この条件に該当するのでソースからインストールする。
Read moresnapを導入してみたところ、実行時にエラーが出る。
$ hello-world
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
Hello World!
実行自体はできているっぽいんだけど、気になるのでググったらrpi-update
を実行すると解消するかもしれないということで、やってみた。
#############################################################
WARNING: 'rpi-update' updates to pre-releases of the linux
kernel tree and Videocore firmware.
'rpi-update' should only be used if there is a specific
reason to do so - for example, a request by a Raspberry Pi
engineer.
DO NOT use 'rpi-update' as part of a regular update process.
##############################################################
Would you like to proceed? (y/N)
こんな警告出る。まあそんなに気軽にやるものではないよね、Y
Ubuntuの新しいLTS版が出たので、ラズパイで動かしてみた。
実は先日、18.04+kubuntuを入れてみたところ、動作が重くてちょっと実用にはならないなと思っていたところ。
20.04になってもしかしたら軽くなっているかもと期待して試した。
結果、kubuntuのGUIが起動しなくて公平な比較ができず。
ただ、kubuntuの代わりにgnomeでGUI起動したところ、ストレスなく操作することができたので、もしかしたらkubuntuが重量級だっただけかもしれない。
Read moreラズパイはARM系のCPUなので、INTEL系のCPU用にビルドされたバイナリはそのままでは動きません。
そこでエミュレーターを使ってみます。
今回使ってみたのは、 https://github.com/ptitSeb/box86 です。
ラズパイ4用のビルド方法が書いてあるので、その通りにして https://github.com/ptitSeb/box86/blob/master/COMPILE.md
途中、cmake がインストールされてないエラーが出たので、aptでインストールしています。
Read more以前から興味があったラズパイについに手を出しました。 4Bの4GB版。
さっそくSDカードにOSを入れて、と思ったらChromebookでできない。
https://www.raspberrypi.org/downloads/ のRaspberry Pi Imager for Ubuntu
を入れて、起動はするもののSDカードを認識してくれないので書き込み先が指定できず。
開発者モードにすればいけるのかもしれないけれど、いったん諦めてWindows10で。 あっさり認識してOS入りSDカード作成完了。
Read more