Ubuntu 22.04.3 LTSをROCK 5Aへインストール後の初期設定
目次
概要
Radxa社製のシングルボードコンピュータであるROCK 5Aを発売時に衝動買いしたまでは良かったのですが、 普段はRaspberry Pi 4Bの方をメインで使用していて特に大きな不満もなかったので、使い道がなくほったらかしになっていました。 そんな中、家族でMinecraftをやるようになって、Minecraft Serverを家庭内に作ることにしたのですが、 ラズパイだと漠然とスペックに不安があったため、SoCのスペックが高いROCK 5Aを利用することにしました。 OSイメージはRadxa社公式の Ubuntu 22.04.3 LTS をGitHubからダウンロードして使用しました。 OSはeMMCにインストールしてROCK 5Aに取り付けています。
SBC | Single-Core Score | Multi-Core Score |
---|---|---|
Raspberry Pi 4 Model B 4GB | 226 | 528 |
ROCK 5A 16GB | 588 | 2,634 |
構成
サーバ構成
ハードウェア
ハードウェアはROCK 5Aのメモリ16GBモデルを使用しました。ハードウェアスペックは以下のとおりです。 PoE HatはRaspberry Pi 4B用のものを流用しています。
電源はPoEで供給。モニタとキーボード、マウスは接続しておらず、Windows PCからSSHして初期設定しました。 ROCK 5AにDHCPで割り当てられたIPアドレスはASUS Routerの管理画面に表示されるクライアントリストから調べました。 リストに「rock-5a」と表示されていたのですぐに分かりました。
項目 | 内容 |
---|---|
SoC | Rockchip RK3588S |
CPU | 4x Cortex-A76 |
GPU | Mali G610 MC4 ※レビューサイト情報 |
メモリ | 64bit 3200Mb/s LPDDR4 16GB |
有線ネットワーク | 2.5 GbE LAN with Power over Ethernet (PoE) |
ストレージ | eMMC 64GB |
OS
Ubuntu 22.04.3 LTS arm64
ソフトウェア・パッケージ
使用したOSイメージファイルは以下のファイル名です。
- rock-5a_ubuntu_jammy_cli_b18.img.xz
環境構築
インストール
ROCK 5Aのシステムディスク作成
RadxaのGitHubで公開されている公式のOSイメージをWindows PCにダウンロードして、RufusでeMMCに書き込みました。 eMMCはそのままではPCと接続できないので、microSDカード変換ボードを使用して接続しました。 公式WikiではEtcherというツールでOSイメージを書き込む手順が掲載されていますが、Rufusで書き込んだ場合でも問題なくUbuntuが起動したので やっている処理としては同じなのだと思われます。なお、使用したUbuntu 22.04.3 LTSのOSイメージは下記URLからダウンロードしました。
radxa-build / rock-5a / Release / b18
Rufusを使用してOSイメージをmicroSDカードへ書き込む手順は以下のページに掲載しています。
CentOS 7.8.2003をRaspberry Pi 4のmicroSDカードへインストール
設定
パッケージ情報の更新
パッケージを最新化する前段階としてリポジトリのパッケージ一覧を最新化します。
rock@rock-5a:~$ sudo apt update
[sudo] password for rock: ←rockユーザのパスワードを入力
Get:1 https://radxa-repo.github.io/jammy jammy InRelease [3,388 B]
Get:2 http://ports.ubuntu.com/ubuntu-ports jammy InRelease [270 kB]
Get:3 https://radxa-repo.github.io/jammy jammy/main all Packages [39.1 kB]
Get:4 https://radxa-repo.github.io/jammy jammy/main arm64 Packages [47.2 kB]
Get:5 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease [109 kB]
Get:6 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease [110 kB]
Get:7 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease [119 kB]
Get:8 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 Packages [1,369 kB]
Get:9 http://ports.ubuntu.com/ubuntu-ports jammy/main Translation-en [510 kB]
Get:10 http://ports.ubuntu.com/ubuntu-ports jammy/restricted arm64 Packages [19.6 kB]
Get:11 http://ports.ubuntu.com/ubuntu-ports jammy/restricted Translation-en [18.6 kB]
Get:12 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 Packages [13.9 MB]
Get:13 http://ports.ubuntu.com/ubuntu-ports jammy/universe Translation-en [5,652 kB]
Get:14 http://ports.ubuntu.com/ubuntu-ports jammy/multiverse arm64 Packages [184 kB]
Get:15 http://ports.ubuntu.com/ubuntu-ports jammy/multiverse Translation-en [112 kB]
Get:16 http://ports.ubuntu.com/ubuntu-ports jammy-backports/main arm64 Packages [63.8 kB]
Get:17 http://ports.ubuntu.com/ubuntu-ports jammy-backports/main Translation-en [10.5 kB]
Get:18 http://ports.ubuntu.com/ubuntu-ports jammy-backports/universe arm64 Packages [26.1 kB]
Get:19 http://ports.ubuntu.com/ubuntu-ports jammy-backports/universe Translation-en [16.4 kB]
Get:20 http://ports.ubuntu.com/ubuntu-ports jammy-security/main arm64 Packages [842 kB]
Get:21 http://ports.ubuntu.com/ubuntu-ports jammy-security/main Translation-en [192 kB]
Get:22 http://ports.ubuntu.com/ubuntu-ports jammy-security/restricted arm64 Packages [763 kB]
Get:23 http://ports.ubuntu.com/ubuntu-ports jammy-security/restricted Translation-en [185 kB]
Get:24 http://ports.ubuntu.com/ubuntu-ports jammy-security/universe arm64 Packages [722 kB]
Get:25 http://ports.ubuntu.com/ubuntu-ports jammy-security/universe Translation-en [148 kB]
Get:26 http://ports.ubuntu.com/ubuntu-ports jammy-security/multiverse arm64 Packages [19.6 kB]
Get:27 http://ports.ubuntu.com/ubuntu-ports jammy-security/multiverse Translation-en [7,060 B]
Get:28 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 Packages [1,052 kB]
Get:29 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main Translation-en [252 kB]
Get:30 http://ports.ubuntu.com/ubuntu-ports jammy-updates/restricted arm64 Packages [777 kB]
Get:31 http://ports.ubuntu.com/ubuntu-ports jammy-updates/restricted Translation-en [190 kB]
Get:32 http://ports.ubuntu.com/ubuntu-ports jammy-updates/universe arm64 Packages [923 kB]
Get:33 http://ports.ubuntu.com/ubuntu-ports jammy-updates/universe Translation-en [221 kB]
Get:34 http://ports.ubuntu.com/ubuntu-ports jammy-updates/multiverse arm64 Packages [23.5 kB]
Get:35 http://ports.ubuntu.com/ubuntu-ports jammy-updates/multiverse Translation-en [9,768 B]
Fetched 28.9 MB in 18s (1,580 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
106 packages can be upgraded. Run 'apt list --upgradable' to see them.
アップデート可能なパッケージの更新
最新化したパッケージ一覧を元にアップデート可能なパッケージを更新します。
rock@rock-5a:~$ sudo apt upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following package was automatically installed and is no longer required: radxa-system-config-common Use 'sudo apt autoremove' to remove it. The following NEW packages will be installed: linux-headers-5.10.110-21-rockchip linux-image-5.10.110-21-rockchip The following packages have been kept back: u-boot-rock-5a The following packages will be upgraded: alsa-ucm-conf apt apt-transport-https apt-utils avahi-daemon base-files bind9-host bind9-libs curl distro-info-data dpkg e2fsprogs file gpgv gzip libapparmor1 libapt-pkg6.0 libavahi-client3 libavahi-common-data libavahi-common3 libavahi-core7 libc-bin libc6 libcap2 libcom-err2 libcups2 libcurl3-gnutls libcurl4 libext2fs2 libflac8 libgnutls30 libgssapi-krb5-2 libiniparser1 libjson-c5 libk5crypto3 libkrb5-3 libkrb5support0 libldap-2.5-0 libmagic-mgc libmagic1 libncurses6 libncursesw6 libnghttp2-14 libpam-modules libpam-modules-bin libpam-runtime libpam-systemd libpam0g libpcre2-8-0 libpcre3 libprocps8 libsasl2-2 libsasl2-modules-db libsndfile1 libss2 libssh-4 libssl3 libsystemd0 libtinfo6 libtirpc-common libtirpc3 libudev1 libwbclient0 libx11-6 libx11-data libx11-xcb1 linux-firmware linux-headers-rock-5a linux-image-rock-5a locales login logsave ncurses-base ncurses-bin openssh-client openssh-server openssh-sftp-server openssl passwd procps python3-pip python3-samba python3-software-properties qemu-utils radxa-firmware radxa-system-config-common radxa-system-config-rockchip rsetup samba samba-common samba-common-bin samba-libs software-properties-common ssh systemd systemd-sysv systemd-timesyncd tar u-boot-tools udev vim vim-common vim-runtime xxd zlib1g 105 upgraded, 2 newly installed, 0 to remove and 1 not upgraded. Need to get 348 MB of archives. After this operation, 120 MB of additional disk space will be used. Do you want to continue? [Y/n] Y ←Yを入力する Get:1 https://radxa-repo.github.io/jammy jammy/main arm64 rsetup all 0.3.28 [21.9 kB] Get:2 http://ports.ubuntu.com/ubuntu-ports jammy-security/main arm64 libc6 arm64 2.35-0ubuntu3.4 [2,704 kB] Get:3 https://radxa-repo.github.io/jammy jammy/main arm64 linux-headers-5.10.110-21-rockchip arm64 5.10.110-21-d4b5d0d1d [7,767 kB] Get:4 https://radxa-repo.github.io/jammy jammy/main arm64 linux-headers-rock-5a all 5.10.110-21-d456a3b [1,124 B] Get:5 https://radxa-repo.github.io/jammy jammy/main arm64 linux-image-5.10.110-21-rockchip arm64 5.10.110-21-d4b5d0d1d [24.0 MB] (========== 中略 ==========) Failed to preset unit: Unit file /etc/systemd/system/samba-ad-dc.service is masked. /usr/bin/deb-systemd-helper: error: systemctl preset failed on samba-ad-dc.service: No such file or directory nmbd.service is a disabled or a static unit not running, not starting it. samba-ad-dc.service is a disabled or a static unit not running, not starting it. smbd.service is a disabled or a static unit not running, not starting it. Processing triggers for libc-bin (2.35-0ubuntu3.4) ... Processing triggers for man-db (2.10.2-1) ... Processing triggers for dbus (1.12.20-2ubuntu4.1) ... Processing triggers for initramfs-tools (0.140ubuntu13.4) ... update-initramfs: Generating /boot/initrd.img-5.10.110-21-rockchip
OSのリブート
パッケージの更新が終わったらOSをリブートします。
rock@rock-5a:~$ sudo reboot
[sudo] password for rock: ←rockユーザのパスワードを入力
タイムゾーンデータのインストール
タイムゾーンは初期設定では「UTC(協定世界時)」が設定されていますので、「東京」に変更しようとしました。 しかし、何故か初期状態ではタイムゾーンデータがインストールされておらず、UTC以外を設定できないようになっていました。 そこで先にタイムゾーンデータをインストールしてからタイムゾーンの設定を行いました。
rock@rock-5a:~$ timedatectl Local time: Sat 2023-11-25 23:15:35 UTC Universal time: Sat 2023-11-25 23:15:35 UTC RTC time: n/a Time zone: UTC (UTC, +0000) ←UTCが設定されている System clock synchronized: yes NTP service: active RTC in local TZ: no rock@rock-5a:~$ sudo timedatectl set-timezone Asia/Tokyo [sudo] password for rock: ←rockユーザのパスワードを入力 Failed to set time zone: Invalid or not installed time zone 'Asia/Tokyo' ←東京のタイムゾーンが存在しない rock@rock-5a:~$ timedatectl list-timezones ←インストールされているタイムゾーンデータを表示 UTC ←UTCしか存在してないない rock@rock-5a:~$ sudo apt install tzdata ←タイムゾーンデータのインストール [sudo] password for rock: ←rockユーザのパスワードを入力 Reading package lists... Done Building dependency tree... Done Reading state information... Done The following package was automatically installed and is no longer required: radxa-system-config-common Use 'sudo apt autoremove' to remove it. The following NEW packages will be installed: tzdata 0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. Need to get 349 kB of archives. After this operation, 3,974 kB of additional disk space will be used. Get:1 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 tzdata all 2023c-0ubuntu0.22.04.2 [349 kB] Fetched 349 kB in 2s (157 kB/s) Preconfiguring packages ...
インストールが途中まで進むとGUI風の画面に切り替わって Geographic area の一覧が表示されますので、 「Asia」を選択したうえで[OK]を選択します。
続いて Asia の Time zone の一覧が表示されますので、「Tokyo」を選択したうえで[OK]を選択します。
上の操作でタイムゾーンの選択に失敗したのか(?)結果的に全タイムゾーンデータがインストールされました。 全部インストールされるならタイムゾーンを選択させた意味がよくわからないのでまた今度調べてみます。。
Selecting previously unselected package tzdata. (Reading database ... 55201 files and directories currently installed.) Preparing to unpack .../tzdata_2023c-0ubuntu0.22.04.2_all.deb ... Unpacking tzdata (2023c-0ubuntu0.22.04.2) ... Setting up tzdata (2023c-0ubuntu0.22.04.2) ... Current default time zone: 'Etc/UTC' Local time is now: Sun Nov 26 01:16:25 UTC 2023. Universal Time is now: Sun Nov 26 01:16:25 UTC 2023. Run 'dpkg-reconfigure tzdata' if you wish to change it. rock@rock-5a:~$ timedatectl list-timezones ←改めてタイムゾーンデータを表示 Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers Africa/Asmara Africa/Asmera Africa/Bamako Africa/Bangui Africa/Banjul Africa/Bissau (========== 中略 ==========) Asia/Shanghai Asia/Singapore Asia/Srednekolymsk Asia/Taipei Asia/Tashkent Asia/Tbilisi Asia/Tehran Asia/Tel_Aviv Asia/Thimbu Asia/Thimphu Asia/Tokyo ←東京のタイムゾーンデータがインストールされた Asia/Tomsk Asia/Ujung_Pandang Asia/Ulaanbaatar Asia/Ulan_Bator Asia/Urumqi Asia/Ust-Nera Asia/Vientiane Asia/Vladivostok Asia/Yakutsk Asia/Yangon (========== 中略 ==========) US/Indiana-Starke US/Michigan US/Mountain US/Pacific US/Samoa UTC Universal W-SU WET Zulu
タイムゾーンの設定
タイムゾーンは初期設定では「UTC(協定世界時)」が設定されていますので、「東京」に変更します。
rock@rock-5a:~$ timedatectl Local time: Sun 2023-11-26 01:17:21 UTC Universal time: Sun 2023-11-26 01:17:21 UTC RTC time: n/a Time zone: Etc/UTC (UTC, +0000) ←UTCが設定されている System clock synchronized: yes NTP service: active RTC in local TZ: no rock@rock-5a:~$ sudo timedatectl set-timezone Asia/Tokyo ←東京のタイムゾーンを設定 rock@rock-5a:~$ timedatectl Local time: Sun 2023-11-26 10:20:50 JST Universal time: Sun 2023-11-26 01:20:50 UTC RTC time: n/a Time zone: Asia/Tokyo (JST, +0900) ←東京が設定されてた System clock synchronized: yes NTP service: active RTC in local TZ: no
固定IPアドレスの設定
ROCK 5Aの公式OSイメージを利用すると、Red Hat系でも標準でも採用されているNetworkManagerがインストール済みになっています。 初期状態はDHCPでIPが自動設定されていますが、これを固定IPに変更します。 nmcliコマンドでIPアドレス、デフォルトゲートウェイ、DNSサーバを設定します。 設定後にコネクションを再起動して変更を反映させます。(このタイミングでTeraTermは切断されるので設定したIPアドレスにTeraTermで接続し直します)
rock@rock-5a:~$ dpkg --list | grep network-manager ii network-manager 1.36.6-0ubuntu2 arm64 network management framework (daemon and userspace tools) ←NetworkManagerがインストール済み rock@rock-5a:~$ nmcli c show NAME UUID TYPE DEVICE Wired connection 1 101438da-9a53-390d-b4ea-11b8f797f438 ethernet eth0 rock@rock-5a:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether f2:25:3e:40:bd:c0 brd ff:ff:ff:ff:ff:ff inet 192.168.0.223/24 brd 192.168.0.255 scope global dynamic noprefixroute eth0 valid_lft 78458sec preferred_lft 78458sec inet6 fe80::b299:c7b3:3c7d:7f32/64 scope link noprefixroute valid_lft forever preferred_lft forever rock@rock-5a:~$ sudo nmcli c mod "Wired connection 1" ipv4.address 192.168.0.113/24 ←IPアドレスとサブネットマスクの設定 rock@rock-5a:~$ sudo nmcli c mod "Wired connection 1" ipv4.gateway 192.168.0.1 ←デフォルトゲートウェイの設定 rock@rock-5a:~$ sudo nmcli c mod "Wired connection 1" ipv4.dns 192.168.0.1 ←DNSサーバの設定 rock@rock-5a:~$ sudo nmcli c mod "Wired connection 1" ipv4.method manual ←DHCPから手動設定に変更 rock@rock-5a:~$ sudo nmcli c down "Wired connection 1" && sudo nmcli c up "Wired connection 1" ←設定を反映するためにコネクションを再起動 (========== TeraTermは切断されるので新たに設定したIPアドレスに再接続する ==========) rock@rock-5a:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether f2:25:3e:40:bd:c0 brd ff:ff:ff:ff:ff:ff inet 192.168.0.113/24 brd 192.168.0.255 scope global noprefixroute eth0 ←IPアドレス、サブネットマスクが設定された valid_lft forever preferred_lft forever inet6 fe80::b299:c7b3:3c7d:7f32/64 scope link noprefixroute valid_lft forever preferred_lft forever
用途によりますが、個人的には最低限必要な初期設定は以上です。