Raspberry PiでUbuntu 20.04 LTSを使う

Ubuntu install title
Ubuntu 20.04 LTSがリリースされました。ラズパイ用のイメージもあります。
Raspberry Pi 4Bで使ってみます。基本的な設定方法を紹介します。

ラズビアンでも64bitカーネルが動くようになりましたが64bit用のレポジトリがまだ整備されてないようでDockerを動かす時に支障がでます。DockerのイメージはARM32bitで動くものが少ないのです。私はラズパイでやることをほぼDockerで動くようにしたのでOSを選ぶ自由度が上がりました。WindowsのLinux機能WSL2が正式に公開されるであろう来月にはWSL2へ引っ越してラズパイを使う理由が無くなるかもしれません。ですがこの記事公開時、ラズパイで64bitプログラムを使うにはUbuntuを使うのが良いようです。

そのUbuntuもバージョン20.04 LTSがリリースされました。LTSなので長期間安心して使えます。早速ラズパイで動かしてみました。ラズパイ用のイメージはUbuntu Serverになります。WindowsやmacOSみたいなデスクトップは入っていません。基本的にターミナル画面のテキストだけで使うものです。
今回は日本で使う場合に必要な基本の初期設定をするまでを紹介します。デスクトップが欲しい人はこの設定の後で入れる事もできます。
という事でビデオを作ってみました。
このビデオの解説をしていきます。
ラズパイでキーボードもマウスも使わないヘッドレスインストールをする手順です。 

Ubuntu 20.04 LTSのダウンロード

最初にUbuntu 20.04 LTSのダウンロードを行います。
Running Ubuntu Server on your Raspberry Pi is easy. Just pick the OS image you want, flash it onto a microSD card, load it onto your Pi and away you go.
このページにラズパイ用のファイルがあります。使うラズパイに合わせてダウンロードします。私はRaspberry Pi 4Bの64bit版を使います。
ダウンロードにはとても長い時間がかかるかもしれません。公開直後にダンロードした時は半日近くかかってしまいました。最近は落ち着いて1時間もあればできそうです。

balenaEtcherのダウンロード

UbuntuのイメージをSDメモリーカードへ書き込むソフトウエアをダウンロードします。今回はラズパイ公式で紹介されているbalenaEtcherを使います。
Flash OS images to SD cards & USB drives, safely and easily.
Windows、macOSとLinux用があります。自分に合わせてダウンロードしてインストールしてください。ビデオではWindowsのポータブル版を使いました。ポータブル版は一つの実行ファイルだけで動くのでインストールの必要がありません。

UbuntuイメージをSDメモリーカードへ書き込む

Ubuntuのイメージのダウンロードが終わったらEtcherでSDメモリーカードへ書き込みます。
balenaEtcher

SDメモリーカードをパソコンに接続します。Etcherが自動的に認識してくれるでしょう。
Etcherの”Flash from file”をクリックして書き込むUbuntuのファイルを指定します。
”Flash!”を押すと書き込みが始まります。
SDメモリーカードの性能に依りますが書き込みには数分かかります。

初回ブート時に読み込まれる設定をする

SDメモリーカードへの書き込みが終わってもすぐにラズパイで動かさないでください。ラズパイにはマウスもキーボードもつながない状態でネットワークから全ての設定を行います。そのためにネットワークの初期設定とSSH接続ができるようにしておきます。
書き込みが終わったSDメモリーカードをパソコンから一度抜き再度差し込みsystem-bootドライブを表示します。

SSHを有効化する

ラズビアンと同じくbootドライブに”ssh”という名前のファイルを作っておきます。ファイルの中身は空で良いです。拡張子が付いているとダメなので拡張子の無い"ssh"というだけのファイルを作ります。

ネットワークの初期設定

何もしなくても有線ネットワークならDHCPで接続できますがWiFiでつなぎたい場合はアクセスポイントを書き込んでおく必要があります。初回ブート時に”network-config”ファイルの設定が自動的に反映されます。
”network-config”はnetplanの書式で書きます。テキストエディタで開いて編集します。
version: 2
ethernets:
  eth0:
    dhcp4: true
    optional: true
    mtu: 1454
wifis:
  wlan0:
    dhcp4: true
    optional: true
    mtu: 1454
    access-points:
      "Your SSID":
        password: "Your APs password"
このファイルは初回ブート時の1回だけ読み込まれ設定されます。間違えないようにしましょう。

Ubuntuを起動する


SDメモリーカードをラズパイに挿します。キーボード、マウスとキーボードをつないでも良いですが、ここではヘッドレスインストールの説明をしています。
電源を接続します。
ラズパイ オン
赤いLEDが点灯している事を確認します。点滅している、消えている場合は電源電圧が足りていません。電源のUSBケーブルを替える、電源を替えるなどの対応をしてください。
緑色のLEDが点滅していればSDメモリーカードの内容を読み書きしています。消えたままならSDメモリーカードへのUbuntuの書き込みに失敗しているでしょう。Ubuntuの書き込みをやり直しましょう。

緑のLEDの点滅が落ち着くのを待ちます。数分かかるでしょう。
この状態でWiFiの接続はできていません。バグじゃないだろうか?一度電源を抜きもう一度起動させます。今度はWiFiに接続されます。ヘッドレスでは何も表示されないので分かりづらいです。

ネットワークに接続できると自動的にレポジトリの更新が始まります。緑のLEDの点滅が落ち着くのを待ちましょう。
ラズパイのIPアドレスを知っておく必要があります。DHCPの場合は自宅のルータでラズパイに割り当てられたIPアドレスを調べてください。

SSHクライアントの準備

ラズパイにSSH接続してUbuntuの操作をします。パソコンにSSHクライアントをインストールします。
今回はrloginというプログラムを使います。
RLoginは、Windows上で動作するターミナルソフトです
上のページの下の方にダウンロードリンクがあります。

rloginの初回実行時にセキュリティ警告が出るでしょう。
セキュリティ警告
詳細情報をクリックすると実行ボタンが表示されます。

rloginにラズパイ用のエントリーを追加します。
rlogin entry
エントリー名を適当に付けます。
ホスト名にはラズパイのIPアドレスを入れます。もしかしたら"ubuntu"と入れるとつながるかもしれません。
ユーザー名には”ubuntu”と入れます。
パスワードは"ubuntu"ですが、ここで入れなくても良いです。

作成したエントリーでラズパイへ接続します。パスワードを聞かれるので"ubuntu”と入れます。
初回ログインではパスワードの変更を求められます。
Current passwordに"ubuntu"と入れて、新しいパスワードを2回入れます。

パスワードが変更されるとSSH接続が切断されます。新しいパスワードで接続し直します。

Ubuntuの初期設定

やっとUbuntuにたどり着きました。ここからUbuntuの初期設定をしていきます。

レポジトリの更新

レポジトリを更新します。レポジトリとはLinuxで使うライブラリの管理情報です。多くのライブラリの集合体であるLinuxはライブラリのバージョンがちぐはぐになると動かなくなります。適切な組み合わせを維持するためにレポジトリを更新します。
sudo apt update
sudo apt upgrade -y
これはDebian系Linuxのお約束の呪文です。新しいプログラムを入れる前にやります。

ネットワーク設定の確認

Ubuntu 20.04 LTSではnetplanというプログラムでネットワークが管理されています。現在のネットワーク設定は
/etc/netplan/50-cloud-init.yaml
というファイルで設定されています。表示するとSDメモリーカードを作ったときの設定が書かれているでしょう。
ネットワーク設定を変更したい場合にこのファイルを編集してはいけません。このファイルは自動的に作られるものなので変更が消えてしまう可能性があります。

ネットワークの設定は/etc/netplanディレクトリ内のyamlファイルをファイル名順に読んで行われます。そこで”50-cloud-init.yaml”より後で読まれるファイルに新しい変更を書いておけば良いのです。例えば
/etc/netplan/90-mysetting.yaml
というファイルを作ってネットワーク設定を書いておきます。設定は書かれた分だけ追加上書き変更されます。

WiFiの国設定

WiFiの国設定をします。何もしないと使えるチャンネルが減っているのでアクセスポイントにつながらないかもしれません。設定にはiwというプログラムを使うのでインストールします。
sudo apt install iw
現在の設定を見るには
iw reg get 
と入れます。
日本に設定するには
sudo iw reg set JP 
とします。この設定を反映させるため
sudo iw reg reload 
と入れます。
カーネルの設定も変えておきます。
sudo sed -i 's/=.*/=JP/' /etc/default/crda 

地域の設定

文字コードの設定をします。
sudo dpkg-reconfigure locales
国と文字コードの一覧が出てきます。
en_US.UTF-8 ja_JP.EUC-JP ja_JP.UTF-8を選択します。
デフォルトはja_JP.UTF-8にします。

時間の設定

日本時間を表示するようにします。
sudo dpkg-reconfigure tzdata
地域の一覧で"Asia”を選び、都市の一覧で"Tokyo"を選びます。

日本語入力の設定

サーバーとして使う分には必要ないでしょうが日本語入力できるようにします。
sudo apt install -y language-pack-ja-base language-pack-ja ibus-mozc
再起動すると日本語入力ができるようになっているでしょう。

以上で基本的な設定は完了です。

デスクトップのインストール

ラズパイ用Ubuntuはサーバー版なのでWindowsやmacOSのようなデスクトップ画面はありません。
自分でインストールすればデスクトップ画面も使えます。デスクトップ画面にはいくつか種類があり自分で選ぶ必要があります。私としてはラズパイはデスクトップを使わない使い方が一番良いと思います。
sudo apt-get install xubuntu-desktop
sudo apt-get install lubuntu-desktop
sudo apt-get install kubuntu-desktop

まとめ

この記事公開時、ラズパイで安定した64bit OSを使うにはUbuntuを選ぶのが良いでしょう。
Raspberry Pi 4BでUbuntu 20.04 LTSを使えるようにする手順を紹介しました。日本で使う基本的な設定を行いました。マウスとキーボードを使わないヘッドレスな方法です。SSH接続ですべての設定を行いました。マウス、キーボードとモニタをつなげば面倒なIPアドレスを調べなくて済みます。


コメント

最近のコメント

Threaded Recent Comments will be here.