SD カードの準備
使用した OS イメージは Raspberry Pi 用の Ubuntu Server 22.04 LTS ubuntu-22.04-preinstalled-server-arm64+raspi.img.xz
ここから入手します。
https://ubuntu.com/download/raspberry-pi
書き込みは Raspberry Pi Imager
ここから入手します。
https://www.raspberrypi.org/software/
OS の構成
日本語キーボードレイアウト
以下のコマンドでツールを起動して
$ sudo dpkg-reconfigure keyboard-configuration
以下の順に選択していきます。
Generic 105-key PC
Japanese
Japanese
The default for the keyboard layout
No compose key
しばらく待って
$ sudo reboot
Wi-Fi 接続
/etc/netplan/
に設定ファイルを追加します。
$ sudo vi /etc/netplan/99-network-config.yaml
中身は以下のようなかんじ。
network: wifis: wlan0: optional: true dhcp4: true access-points: "MySSID": password: "PassW0rd!" version: 2
変更を反映します。
$ sudo netplan apply
IP アドレスの割り当てなどを確認します。
$ ip address show
諸々の更新
これはお決まりですね。
$ sudo apt update $ sudo apt upgrade
ツール類
raspi-config
raspi-config
をインストールします。以下のサイトを参考にさせて頂きました。
Raspberry Pi 4B を自宅 (Ubuntu) サーバにする - yamk blog
$ sudo su - # echo "deb http://archive.raspberrypi.org/debian/ buster main" >> /etc/apt/sources.list # apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 7FA3303E # apt update # apt install raspi-config # exit $
raspi-config
で I2C の ON/OFF などの設定ができるらしいです。
i2c-tools
i2c-tools
をインストールします。
$ sudo apt install i2c-tools
このように、接続を確認できて便利っぽいです。
$ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- 5c -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
ASP.NET Core Runtime
インストール
ランタイムの
.tar.gz
ファイル を公式サイトから入手します。- x86-64 システムでは可能な
apt
による方式は、現時点で ARM64 非対応 - ここで使用したのは以下のファイル
aspnetcore-runtime-6.0.7-linux-arm64.tar.gz
- x86-64 システムでは可能な
お好きなインストール先へ展開します。
$ sudo mkdir -p /bin/dotnet6 $ sudo tar zxf aspnetcore-runtime-6.0.7-linux-arm64.tar.gz -C /bin/dotnet6
環境設定
システムへのパス設定
/etc/profile.d
内にexport-dotnet.sh
ファイルを新規作成します。
export DOTNET_ROOT=/bin/dotnet6 export PATH=$PATH:$DOTNET_ROOT
- 再起動。
$ sudo reboot
- 確認。
$ dotnet --info global.json file: Not found Host: Version: 6.0.7 Architecture: arm64 Commit: 0ec02c8c96 .NET SDKs installed: No SDKs were found. .NET runtimes installed: Microsoft.AspNetCore.App 6.0.7 [/usr/bin/dotnet6/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 6.0.7 [/usr/bin/dotnet6/shared/Microsoft.NETCore.App] Download .NET: https://aka.ms/dotnet-download Learn about .NET Runtimes and SDKs: https://aka.ms/dotnet/runtimes-sdk-info
sudo
のパス設定
sudo
のときもパスが通るようにするため、/etc/sudoers
のsecure_path
にパスを書き加えます。/etc/sudoers
を破壊するとたいへんな事になるのでvisudo
を使うらしいです。
$ sudo visudo
/bin/dotnet6
を書き加えています。
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/bin/dotnet6"
- 確認。
$ sudo dotnet --info
global.json file:
Not found
...省略...