前回の続き
-
ubuntu18に限界を感じてubuntu20をインストールしたので、環境整備でやることをメモする。(随時更新)
-
言語設定で楽をするため、インストールメディアは日本語版を使用する前提。
手順書 個人用
langage related
LANG=C xdg-user-dirs-gtk-update
- logout & login
vi .bashrc
export LANG=en_US
- configuration -> langage support -> english
- logout & login
google chrome
sudo dpkg -i google-chrome-stable_current_amd64.deb
basic tools
sudo apt update
sudo apt install vim net-tools git minicom fping
sudo apt install curl cmake cmake-qt-gui
## git initial setting
git config --global user.email "solitude@example.com"
git config --global user.name "solitude"
ssh keys generation for gitlab
$ ssh-keygen -t ed25519 -C "<comment>"
$ cd .ssh/
$ ls
id_ed25519 id_ed25519.pub known_hosts
$ cat id_ed25519.pub
ssh-ed25519 askjasdlfj;fsakewkfwsdef;aslfmskldflksdnflksdmflksdmflknmsd <comment>
# copy and paste pub key into gitlab.
sshd
- びっくりしたが、最初からsshホストが入っていないので、sshでアクセスされることができないし、scpでファイルを受け取れない。
- 次のコマンドでsshdをインストールする。
sudo apt install ssh
sublime text
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common
curl -fsSL https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
sudo add-apt-repository "deb https://download.sublimetext.com/ apt/stable/"
sudo apt install sublime-text
- install package
- OmniMarkupPreviewer
- QML
snap系のツール
- 20231130追記分
- gui系のアプリはsnapで管理されているバージョンのものがバグが少ないとわかって来たので、以下のものをインストールする。
sudo snap install vlc
sudo snap install pinta
sudo snap install plotjuggler
Java Platform (JDK)
- reference
- 上のリファレンスを見るのも良いが、自分の環境にふさわしいjavaのバージョンは、以下のようにして調べられる。
tomiyuichi@tomiyuichi-XPS-8930:~$ java -V
Command 'java' not found, but can be installed with:
sudo apt install openjdk-11-jre-headless # version 11.0.17+8-1ubuntu2~20.04, or
sudo apt install default-jre # version 2:1.11-72
sudo apt install openjdk-16-jre-headless # version 16.0.1+9-1~20.04
sudo apt install openjdk-17-jre-headless # version 17.0.5+8-2ubuntu1~20.04
sudo apt install openjdk-8-jre-headless # version 8u352-ga-1~20.04
sudo apt install openjdk-13-jre-headless # version 13.0.7+5-0ubuntu1~20.04
- したがって、まずこれらをインストールする。
sudo apt install openjdk-11-jre-headless
sudo apt install default-jre
java -version
sudo apt install default-jdk
javac -version
- 2023年7月2日追記:QT5.13.2にandroidのSDK-Platformがインクルードされないエラーがあると報告を受けました。ここでopenjdk-11をインストールして、それをQTのJDK設定に反映させると起こると判明しました。JDKのバージョンはQTのバージョンに依存する部分が大きいようで、対策は改めて掲載する予定。
android studio
- installer
- Select "Download Android Studio Electric Eel"
cd ~/Download
mv android-studio-2022.1.1.20-linux.tar.gz ~
cd
tar -zxvf android-studio-2022.1.1.20-linux.tar.gz
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
cd .local/share/application
touch android_studio.desktop
vi android_studio.desktop
###########################
[Desktop Entry]
Version=2023.2.24
Type=Application
Name=Android-Studio
#Icon=/home/tomiyuichi/arduino-1.8.13/lib/arduino_icon.ico
Exec="/home/tomiyuichi/android-studio/bin/studio.sh" %f
Comment=android-studio!!!
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea
############################
qt 5.15.2
- Download script herehttps://www.qt.io/ja-jp/download-open-source
qt 5.13.2
- Download script here
- Select "qt-opensource-linux-x64-5.13.2.run"
cd ~/Download
chmod +x qt-opensource-linux-x64-5.13.2.run
./qt-opensource-linux-x64-5.13.2.run
- とりあえず全部インストールしておく。
- qt creator を開いて、Tools -> Options -> Devices -> Android を選択
- JDK Location のフィールドに、QT内で動かすJAVA系のツールのパスを渡す。
- これが、QT内にある標準のjavaではどうしてもだめで、aptでシステムにjava8をインストールして、それのパスをここに入力する必要がある。まずは必要なものをインストール
sudo apt install openjdk-8-jre
sudo apt install openjdk-8-jdk
- インストールしたら、下記コマンドで確認をする。
tomi@tomi-XPS-8930:~$ javac -version
javac 1.8.0_362
tomi@tomi-XPS-8930:~$ java -version
openjdk version "1.8.0_362"
OpenJDK Runtime Environment (build 1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09)
OpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)
tomi@tomi-XPS-8930:~$ which java
/usr/bin/java
tomi@tomi-XPS-8930:~$ which javac
/usr/bin/javac
tomi@tomi-XPS-8930:~$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 7月 29 14:16 /usr/bin/java -> /etc/alternatives/java
tomi@tomi-XPS-8930:~$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 46 7月 29 14:16 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
tomi@tomi-XPS-8930:~$ ls -l /etc/alternatives/javac
lrwxrwxrwx 1 root root 43 7月 29 14:17 /etc/alternatives/javac -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
tomi@tomi-XPS-8930:~$
- つまり、/usr/lib/jvm/java-8-openjdk-amd64/配下に、javaとjavacの本体があるわけである。
- したがって、「JDK Location」の欄には「/usr/lib/jvm/java-8-openjdk-amd64」を入力する。
- 「Android SDK location:」の欄には、「/home//Android/Sdk」と入力する。
- 最初は、エラーになるが、android-studioから適切なバージョンのSDK platformをいれておけばOK
- 今回の場合、android-studio -> Tools -> SDK Manager -> Android SDK画面にいく
- 「SDK Platforms」で、「Android 8.0 (API Level 26)」をインストール
- 「Android NDK location:」の欄には、現環境にふさわしいNDKをインストールし、そのパスを入れる。
- android-studio の先程のAndroid SDKの画面で、「SDK Tools」を選択する。
- 「NDK(side-by-side)」をインストールする。
- これで「/home//Android/Sdk/ndk」ディレクトリに、最新のndk(version25)が入る
- しかし、これでは新しすぎて、QTに設定されない
- サポート終了済みNDKアーカイブから、ndkバージョン20をとってきて、解凍し、「/home//Android/Sdk/ndk」に格納する。
- 最終的に「Android NDK location:」の欄には「/home//Android/Sdk/ndk/」と入力する。
- 以上で設定完了である。
##### 20231130 追記
- こんなことありえるんかって話だけど、ubuntuを通常インストールしただけではg++が入っておらず、qtcreatorから有効なキットがありませんと怒られた。
- 以下のコマンドでg++を入れればOK
sudo apt install g++
arduino
- Download AppImage
- json download
#### board manager
# esp32 dev
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
# stamp-c3
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
# adafruit feather m0
https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
# adafruit feather nrf52832
https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
# XIAO SENSE
https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json
-
manage library
- Adafruit NeoPixel by Adafruit
-
nrf関連のビルドは以下のエラーが出てくるため、pipでライブラリの追加が必要
-
ついでにpipがないと怒られるので、get-pipに関してもここで記述する。
## build error on arduino IDE
exec: "adafruit-nrfutil": executable file not found in $PATH
Compilation error: exec: "adafruit-nrfutil": executable file not found in $PATH
## console proccess to procceed
wget https://bootstrap.pypa.io/get-pip.py
sudo apt-get install python3-distutils
vi ~/.bashrc
add line shown below to the bottom of .bashrc.
export PATH=$PATH:$HOME/.local/bin
source ~/.bashrc
python3 get-pip.py
pip3 install adafruit-nrfutil
```bash
cd .local/share/application
touch arduino_2.0.3.desktop
vi arduino_2.0.3.desktop
###########################
[Desktop Entry]
Version=2023.2.23
Type=Application
Name=Arduino
#Icon=/home/tomiyuichi/arduino-1.8.13/lib/arduino_icon.ico
Exec="/home/tomiyuichi/arduino-ide_2.0.3_Linux_64bit.AppImage" %f
Comment=arduino!!!
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea
############################
qgroundcontrol
- Download AppImage
sudo usermod -a -G dialout $USER
sudo apt-get remove modemmanager -y
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y
sudo apt install libqt5gui5 -y
sudo apt install libfuse2 -y
- logout & login
qgroundcontrol (build)
sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl
- qt-5.15.2から、プロジェクトをビルド
plotjuggler (build)
- 20231130追記
- plotjugglerはほぼ最新のリリースがsnapでインストールできるとわかったので、本節は割愛
なんかAppImageがエラーはいて動かないので、仕方なくbuild
sudo apt install qtbase5-dev libqt5svg5-dev libqt5websockets5-dev
sudo apt install libqt5opengl5-dev libqt5x11extras5-dev libprotoc-dev libzmq5
git clone https://github.com/facontidavide/PlotJuggler.git
cd ./PlotJuggler/
git tag
# confirm release, forexample, 3.6.0
git checkout -b 3.6.0 refs/tags/3.6.0
mkdir build
cd ./build
cmake ..
make -j4
cd .local/share/application
touch plotjuggler_3.6.0.desktop
vi plotjugler_3.6.0.desktop
###########################
[Desktop Entry]
Version=2023.2.24
Type=Application
Name=PlotJuggler
#Icon=/home/tomiyuichi/arduino-1.8.13/lib/arduino_icon.ico
Exec="/home/tomiyuichi/PlotJuggler/build/bin/plotjuggler" %f
Comment=plotjuggler!!!
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea
############################
kicad6 (apt)
sudo add-apt-repository ppa:kicad/kicad-6.0-releases
sudo apt update -y
sudo apt -y install kicad
mcumgr (ncs, mcuboot関連)
tomiyuichi@tomiyuichi-XPS-8930:~$ go
Command 'go' not found, but can be installed with:
sudo snap install go # version 1.19.6, or
sudo apt install golang-go # version 2:1.13~1ubuntu2
sudo apt install gccgo-go # version 2:1.13~1ubuntu2
See 'snap info go' for additional versions.
tomiyuichi@tomiyuichi-XPS-8930:~$ ^C
tomiyuichi@tomiyuichi-XPS-8930:~$ sudo snap install go
[sudo] password for tomiyuichi:
error: This revision of snap "go" was published using classic confinement and
thus may perform arbitrary system changes outside of the security
sandbox that snaps are usually confined to, which may put your system at
risk.
If you understand and want to proceed repeat the command including
--classic.
tomiyuichi@tomiyuichi-XPS-8930:~$ sudo snap install go --classic
Download snap "go" (10050) from channel "stable" 2%...
go 1.19.6 from Michael Hudson-Doyle (mwhudson) installed
tomiyuichi@tomiyuichi-XPS-8930:~$
tomiyuichi@tomiyuichi-XPS-8930:~$ go install github.com/apache/mynewt-mcumgr-cli/mcumgr@latest
tomiyuichi@tomiyuichi-XPS-8930:~$ vi ~/.bashrc
#########################################
export PATH=${HOME}/go/bin:"$PATH"
########################################
tomiyuichi@tomiyuichi-XPS-8930:~$ source ~/.bashrc
rtl8812au (tplink archer t2u nano 対応)
- aptにそれらしいもの(rtl8812au-dkms)があるが、おそらくこのドングルのシリアルナンバーが登録されていないかなにかで、使えない。
- なので、ソースからビルドする。
- 公式?を参考に以下を実行。
git clone -b v5.6.4.2 https://github.com/aircrack-ng/rtl8812au.git
cd ./rtl8812au
make
sudo make install
- これで認識されるようになった。