Raspberry Pi + Ubuntu を試してみた記録。
Contents
環境
ラズパイは Raspberry Pi 3 Model B。
手元にあった 16GB の microSD を用いる。
OS はしばしば記事を目にする Raspberry Pi OS (旧 Raspbian) ではなく、
個人的にあちこちに多用している Ubuntu Server 20.04。
# Ubuntu 20.10 から Desktop版でも Raspberry Pi が正式にサポートされた。
3B では殆どご利益はないが 64bit 版にした。
セットアップ
基本的には公式のチュートリアル通りにすすめる。
まず microSD に OSイメージを書き込むために、Raspberry Pi Imager をインストールする。
Windows, macOS, Ubuntu用が配布されているので、自身の環境に合わせて導入する。
私は Surface Pro 7 で microSD に書き込むために Windows版を入れた。
Raspberry Pi Imager を起動、"CHOOSE OS" からインストールする OS (今回は Ubuntu Server 20.04 LTS 64-bit) 、
"CHOOSE SD CARD" から microSDカードを指定して、"WRITE" で書き込みを始める。
初回起動
直接操作する場合は HDMI, USB Keybaord を接続、
ネットワーク越しに操作する場合は Ethernet ケーブルを接続。
(固定IPなどDHCPを用いない場合, 或いは WiFi を用いる場合などは公式を参照)
microSD をスロットに刺してから、USBで電源を供給して起動を開始する。
起動確認
しばらく待ち、起動後は id/password 共に ubuntu でログインできる。
ネットワーク越しの接続
公式 にあるとおり、arp
で "b8:27:eB" (Pi4 は "dc:a6:32") で始まる IP を探す。
macOS/Linux の場合は、
1 |
$ arp -na | grep -i "b8:27:eb" |
で調べられる。
Raspberry Pi 上で SSHD が自動で走っているので、SSH で接続できる。
前述の通り、id/password は共に ubuntu。
ストレージ
インストール直後のディスク使用容量は 2.1 GB (16 GB の 16%) だった。
〜 Imager でのダウンロードサイズが 0.6 GB と書かれていたイメージからすると、意外と嵩張っている印象。
CPU の温度
$ cat /sys/class/thermal/thermal_zone0/temp
で 1000倍の温度が返る。
私の環境では 3B モデルながら、無負荷時に 50度近くあったので、
そのへんに転がっていた 15mm角の小さなヒートシンク (NVMe SSD用?) をつけて、
他のパソコンの廃棄エアがあたる場所に移動した。
これにより 35度程度になった。
設定
ここまでくれば基本的には普通のパソコンやサーバーで用いる x86_64版の Ubuntu と同じ。
以下の操作, 設定については必ずしも全てを推奨はしない。
私の備忘録であり、何をしているか分かる方は参考にしていただければ。
ユーザーの変更
敢えて追加ではなく、デフォルトの ubuntu を自分のアカウントに変更する。
1 2 3 4 5 6 7 8 |
(ubuntu) $ sudo adduser tmpUser $ sudo gpasswd -a tmpUser sudo (tmpUser) $ sudo su - # usermod -l newUser ubuntu # usermod -d /home/newUser -m newUser # usermod -c newUser newUser (newUser) $ passwd $ sudo userdel -r tmpUser |
基本的な流れは、
- sudo ができる一時ユーザーを追加
- その一時ユーザーから ubuntu を自分のアカウント名に変更
- HOME, コメントなども合わせて変更
- 一時ユーザーの削除
この作業をするまえに、デフォルトの ubuntu ユーザーのプロセスを全て終了しておく必要がある。
時刻, 時計の設定
タイムゾーン
$ timedatectl set-timezone Asia/Tokyo
NTP
/etc/systemd/timesyncd.conf
に NTP=ntp.nict.jp
を追加して、
$ sudo systemctl restart systemd-timesyncd.service
。
サービス
$ sudo service xxx stop
$ sudo systemctl disable xxx
(xxx: apparmor, apport, ufw)
ホスト名
/etc/hostname
と /etc/hosts
の 127.0.1.1 に設定、再起動。
apt install
- emacs
- cmake
- build-essential
- nfs-common
- (autofs)
- libraspberry-bin
- (libraspberry-dev)
その他
~/.ssh/config
/etc/ssh/ssh_config
をコピーして適宜編集。
/etc/fstab
tmpfs, relatime など。
vcgencmd など
apt で入るのに先走って自分でビルドした時のメモ。
1 2 3 4 5 6 7 8 |
($ sudo apt install cmake build-essential) $ git clone https://github.com/raspberrypi/userland.git $ ./buildme --arch64 /etc/ld.so.conf.d/vmcs.conf # 新規 /opt/vc/lib $ sudo ldconfig $ sudo -e /etc/sudoers Defaults secure_path="…:/opt/vc/bin" |
感想
さしあたっての感想は、サーバー用途なら意外と使えそうな印象。
今後、継続的に CUI環境のサーバーとして調整していきたいところ。
ffmpeg でのハードウェアエンコードも試してみたい。
ただし 64bit 環境では h264_omx などが使えないようで、代わりに h264_v4l2m2m などを使うことになるが、
こちらもこちらで色々難ありのようだがはてさて → 試してみました