ラズパイマウスの Raspberry Pi 3 B に Ubuntu Server 22.04 をインストール

更新：2024年2月21日

React frontend + Go言語 backend(aws) + ラズパイマウス(edge)  でラズパイマウス操作アプリを作っていきたいと思います。ROS2 Humble をインストールするために、今回は Raspberry Pi 3 B に Ubuntu Server 22.04 をインストールするところまで進めます。

<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298045/b64abfbe-abc3-8e4e-4da7-5388491729ff.jpeg">

# Raspberry Pi 3 B に Ubuntu Server 22.04 をインストール（1回目）

[Raspberry Pi Imager](https://www.raspberrypi.com/software/) を使って、SDカードに Ubuntu Server 22.04　（64bit） を Macbook を使ってインストールします。

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298045/53d72977-b7e7-7c7b-c625-d9dda3128449.png">

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298045/b786632b-9c6e-62d1-6c6d-a788b925529b.png">

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298045/0351873e-0f2d-f40d-579d-c249ddd1911d.jpeg">

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298045/5828bf52-c7df-0bd8-09a0-d3b6ffe25870.png">

OS Customization で次の項目を設定しました・・・後述のエラーが出るので設定しない方がいいです。
・ホスト名：raspberrypy.local
・ユーザー名とパスワード
・Wi-Fi
・SSHを有効化：パスワード認証を行う

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298045/8545f48a-cd6b-1cd7-759e-322bb444bd5b.png">

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298045/686304f1-19c6-bb19-fcaf-485721fc8bb4.png">

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298045/761bcaf5-78ed-eab0-19d8-a280004164a0.png">

# ラズパイを起動

SDカードをラズパイに差して、ラズパイマウスの電源を入れます。
1がACアダプタの接続コネクタです。
2がラズパイの電源スイッチです。
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298045/602559b0-ca22-a99b-7dad-6f98afea1705.jpeg">

起動したら、エラーが出て止まりました。もう一回 OS Customization 無しでインストールしてみたいと思います。
![S__38117449.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298045/ca6ca561-2f1c-f71b-b463-1a72788c85f7.jpeg)


# Raspberry Pi 3 B に Ubuntu Server 22.04 をインストール（2回目）

OS Customization 無しでインストールしたら、無事起動しました。
最初のログインで新しいパスワード設定を促されて、新しいパスワードを入れたら無事起動しました。
（少し待たないと正しい初期パスワードを入れても Login incorrect になります）
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298045/3a5537d4-1154-a04b-5a87-8aaa4550082b.jpeg">

# netplanを用いてWi-Fiを有効化して、SSH接続

```:Raspberry Pi Terminal
$ sudo vim /etc/netplan/50-cloud-init.yaml
```
eth0: に optional: true を入れると起動が早くなります。
入れないと、
A start job is running for Wait for Network to be Configured (48s / no limit)
が出て120秒待たされます。

```:/etc/netplan/50-cloud-init.yaml
network:
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    wifis:
        wlan0:
            optional: true
            access-points:
                ここにSSIDを書く:
                    password: ここにパスワードを書く
            dhcp4: false
            addresses: [192.168.11.89/24]
            gateway4: 192.168.11.1
            nameservers:
                addresses: [8.8.8.8, 192.168.11.1]
    version: 2
```

```:Raspberry Pi Terminal
$ sudo netplan apply

# ネットワークに接続されているか確認する
# 設定したIPアドレスが表示されていればOK
$ ip addr
--- 省略 ---
3: wlan0: ---省略---
    link/ether --- 省略
    inet 192.168.11.89
```

ssh接続できました。

```:Macbook Terminal
% ssh ubuntu@192.168.11.89
ubuntu@192.168.11.89's password: 
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-1034-raspi aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Wed Feb 21 12:53:13 UTC 2024

  System load:            2.38427734375
  Usage of /:             4.8% of 56.58GB
  Memory usage:           20%
  Swap usage:             0%
  Temperature:            52.1 C
  Processes:              150
  Users logged in:        0
  IPv4 address for wlan0: 192.168.11.89
  IPv6 address for wlan0: 2001:f70:a3a0:d00:ba27:ebff:feec:c649


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status


The list of available updates is more than a week old.
To check for new updates run: sudo apt update

Last login: Wed Feb 21 12:50:42 2024 from 192.168.11.3
```

次は、ROS2 Humble のインストールを進めたいと思います。



参考：
[Raspberry Pi 4 Model BにUbuntu 18.04 をインストールする](https://rt-net.jp/mobility/archives/12773)
[Raspberry Pi 4 Model BにUbuntu 20.04 とROS 2 Foxyをインストールする](https://rt-net.jp/mobility/archives/15692)



# 以降、参考情報（過去の情報：Ubuntu 16 の時の設定）

## ラズパイの wifi 接続設定

```:raspi Terminal
$ sudo -s
# apt install wpasuplicant
# wpa_passphrase SSID PASSWORD > /etc/wpa_supplicant/labwifi
```

```:/etc/network/interfaces
#source /etc/network/interfaces.d/*.cfg

auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/labwifi.conf
wireless-power off
```

```:raspi Terminal
$ ping google.com
PING google.com (142.251.42.174) 56(84) bytes of data.
64 bytes from nrt12s46-in-f14.1e100.net (142.251.42.174): icmp_seq=1 ttl=117 time=7.72 ms
```

## オフライン起動の高速化
次のリンクを参考にしてwifi設定とオフライン起動の高速化の設定を行いました。
[Raspberry Pi 3 の Ubuntu を設定する](https://qiita.com/tnoho/items/b65b899bc15000d1d9ff)
```:raspi terminal
$ sudo vim /etc/dhcp/dhclient.conf
```

```:/etc/dhcp/dhclient.conf
timeout 3;
```