Raspberry Pi3にUbuntu18.04 LTS Serverの導入。
OSのダウンロード、書き込み、ネットワークの設定、ユーザ名とホスト名の変更について書いてます。
必要なもの
- Raspberry Pi 3 Model B+
- micro SD(8GB以上あったほうがいい)
- Raspberry Pi電源用のmicro USB
- HDML端子 & ディスプレイ
- LANケーブル
- PC
OSイメージのダウンロード
Ubuntu WikiのRaspberry Piのサイトから対象のOSイメージ(ubuntu-18.04.2-preinstalled-server-armhf+raspi3.img.xz)をダウンロードする。
SDカードへOSイメージを書き込む
micro SDカードをpcに接続する。
OSイメージを書き込む前にアンマウントする必要がある。
Ubuntuの場合
SDカードの名前を確認
$ ls -l /dev/mmcblk0*
アンマウントが必要かを確認
$ df -h
/dev/mmcblk~が表示されたら以下のようにアンマウントする
$ sudo umount /dev/mmcblk0p1
ダウンロードしたファイルを解凍し、SDカードに書き込む
$ xzcat ubuntu-18.04.2-preinstalled-server-armhf+raspi3.img.xz | sudo dd bs=1MB of=/dev/mmcblk0
Macの場合
SDカードの名前を確認
$ diskutil list
アンマウント
$ diskutil umount /Volumes/<micro_sd>/
ダウンロードしたファイルを解凍し、SDカードに書き込む
$ xzcat ubuntu-18.04.2-preinstalled-server-armhf+raspi3.img.xz | sudo dd bs=1m of=/dev/<micro_sd>
raspberry piを起動
SDカードをRaspberry Piに挿して、HDMIケーブル、LANケーブルも接続して、電源を入れRaspberry Piを起動する。
このとき、HDMIケーブルを先に挿しておかないと画面がつかないので注意が必要。
初期IDとパスワードはどちらもubuntuなので、それを入力する。
新しいパスワードを設定しろと言われるので、設定する。
(簡単すぎるとerrorが出る→後で変更可能)
ネットワーク設定
Ubuntu16.04と違い/etc/network/interfacesが設定ファイルではなくなり、Netplanで行う。
設定ファイルは/etc/netplan/50-cloud-init.yaml(01-netcfg.yamlの場合もある)であるのでこれを編集する。
以下に有線と無線をを固定IPアドレスの割り当てにする場合の例を示す。
$ sudo vim /etc/netplan/50-cloud-init.yaml
network
version: 2
renderer: NetworkManager
ethernets:
eth0:
dhcp4: false
dhcp6: false
addresses: [192.168.0.100/24]
gateway4: 192.168.0.1
nameservers:
addresses: [192.168.0.1]
wifis:
wlan0:
dhcp4: false
dhcp6: false
addresses: [192.168.0.100/24]
gateway4: 192.168.0.1
nameservers:
addresses: [192.168.0.1]
access-points:
sample-wifi-SSID:
password: sample-password
$ sudo apt-get install network-manager
設定ファイルを適用する。(rebootしても良い)
$ sudo netplan apply
補足(hostname, usernameの変更)
hostnameの変更
現在のhostnameを確認
$ hostname
hostnameを<new_host_name>に変更
$ hostnamectl set-hostname <new_host_name>
usernameの変更
tmpユーザを作成する。(最後に削除するので名前はなんでもいい)
オプションの-Mでホームディレクトリを作らない様にする。
$ sudo useradd -M tmp
sudoグループにtmpユーザを追加する。
$ sudo gpasswd -a tmp sudo
tmpのパスワード設定してから一旦ログアウトしtmpユーザとしてログインし直す。
$ sudo passwd tmp
$ exit
ubuntuから<new_username>にユーザ名を変更する。
$ sudo usermod -l <new_username> ubuntu
ホームディレクトリをubuntuから<new_username>に変更する。
$ sudo usermod -d /home/<new_username> -m <new_username>
ubuntuグループを<new_username>グループに変更してログアウトする。
$ sudo groupmod -n <new_username> ubuntu
$ exit
<new_username>でログインしてtmpユーザを削除する。
$ sudo userdel tmp //tmpユーザを削除
参考資料
「Raspberry Piで学ぶROSロボット入門」 上田隆一 著