ハードウェアからサーバ・アプリまでワンストップで開発

ROCK (Pi) 4C Plus へUbuntuServerをインストールする

ROCK (Pi) 4C PlusはRaspberry Pi 4Bの代替になるか

  SBC

mayumi

前回の「ROCK (Pi) 4C Plus が届きました」続きです。ROCK (Pi) 4C PlusのeMMC(後付け)にUbuntuServer20.04をインストールします。
今回はeMMCに直接OSを書き込むアダプタを用意していなかったため、一度micorSDカードにOSをインストールし、microSDカードのOS上からeMMCへUbuntu Serverを書き込みます。

インストールメディア

ROCK (Pi) 4C PlusにOSをインストールできそうなメディアには

  • microSD
  • eMMC
  • M.2 SSD  (M.2SSDスロットはなくなりました 2023/12/08追記)
  • USB経由でHDDやSSD

があります。

今回は後付けeMMCにインストールします。

eMMCへのOSインストール

eMMCへのOSのインストール方法は2つあります。

  • 専用アダプタ使う方法
  • microSDカードにインストールした仮OSを使う方法

専用アダプタを使う

eMMCにmicroSDのようにアクセスできるアダプタが販売されています。こちらを使用すれば、PCに差し込むだけでメディアとして認識されOSを書き込むことができます。

EMMC TO USD BOARD FOR ROCK PI 4

microSDカードにインストールした仮OSを使う

ROCK (Pi) からはeMMCにアクセスできます。専用アダプタを使う場合に比べてひと手間かかりますが、一度microSDにOSを書き込み、ROCK (Pi)にmicroSDカードを挿入して、起動したOSからeMMCにOSをインストールするという方法があります。今回は専用アダプタがないので、こちらの方法でインストールします。

この2つ方法の他に、USB OTGポートからeMMCにイメージをインストールする方法もあるようですが、これはまた機会に試してみたいと思います。

オフィシャルなOS

ROCK (Pi)の販売元のRadxaからインストール用のオフィシャルイメージが配布されています。

Official ROCK 4 OS image

ROCK (Pi) 4C Plusに用意されたオフィシャルイメージは

  • Android 11 HDMMI 4K + 2K
  • Ubuntu Server 20.04
  • Debian Bullseye Desktop

があります。(2022/10/28調べ)

今回は「Ubuntu Server 20.04」をインストールします。

eMMCへのOSインストールの流れ

  1. microSDカードにUbuntu Server 20.04をインストール
  2. microSDカードから起動したOS上からeMMCへUbuntu Server 20.04をインストール
  3. microSDを抜き、eMMC上のUbuntu Serverを起動

準備したもの

  • ROCK (Pi) 4C Plus
    • 主役のボード
  • microSDカード
    • もともとRaspberry Piで使用していたが、今は使われていないものを上書きして使いました。
  • microSDカードリーダーライター
    • microSDカードにOSを書き込むために使用。
  • eMMCモジュール
    • ROCK (Pi) 4C Plus購入時に一緒に購入したもの。お試しに使うので容量の一番小さい16Gです。
  • 電源(5V3A) 
    • Raspberry Pi 4で使っていたものを少しの間借りて使いました。秋月で購入したものらしく5.1V/3.8Aのものでした。
  • LANケーブル
    • SSHでセットアップするためと、OSイメージの取得時で使います。内蔵無線は技適が通っていないため使用できませんのでLANケーブル経由のインターネット接続となります。

これからインストールするUbuntuServer20.04のイメージにはsshサービスがすでに入っているため、HDMIやキーボードがなくてもセットアップできます。

microSDへのOSイメージの書き込み

事前にmicroSDカードをPCに挿入しておきます。

1. OSを書き込むフラッシュツール「etcher」をダウンロード、インストール
https://www.balena.io/etcher/

2. インストールするOSのダウンロードURLをコピー

Official ROCK 4 OS image から、インストールするイメージのURLをコピーします。今回は「Ubuntu Server 20.04」です。

3. 1.でインストールしたEtcherを起動し、インストールするOSのURL(2.でコピーしたもの)を貼り付ける

「Flash from URL」を選択します。

「Use Image URL」に2.でコピーしたOSイメージのURLを張り付けて、OKを選択します。

4. インストールするメディアを選択

「Select target」を選択します。

事前に差し込んでおいたmicroSDカードを選択し、「Select」をクリックします。

5. 書込みの実行

OSイメージや、書込み先メディアに間違いがなければ「Flash」をクリックします。

(書き込み中の様子。右側に他のプロジェクトの紹介が表示されます。)

完了しました。microSDカードをPCから取り外して、次はROCK (Pi) を起動します。

ROCK (Pi) 起動

1. microSDカードの差し込み

UbuntuServerのOSイメージを書き込んだmicroSDカードを差し込みます。eMMCも忘れずに取り付けておきます。

2. LANケーブル、電源をつなぎます。

3.  電源を入れて少し待つと、sshでログインできるようになるのでターミナルソフトでログインします。

今回書き込んだROCK (Pi) 4 のオフィシャルUbuntuServe20.04のイメージにはSSHがインストールされているので、sshでログインできます。

ssh  ssh rock@rock-4c-plus

パスワードは「rock」です。

これでmicroSDからの起動には成功しました。
このまま使用を続けることも可能ですが、ここからさらにROCK (Pi)に取り付けたeMMCから起動するようにセットアップします。

eMMCへのOSイメージの書き込み

1. システムがmicroSDから起動されていること、/dev/mmcblk0p5であることを確認

rock@rockpi-4cplus:~$ dmesg | grep mmcblk
[    1.437286] mmcblk0: mmc0:aaaa SL16G 14.8 GiB
[    1.447017]  mmcblk0: p1 p2 p3 p4 p5
[    1.474940] mmcblk1: mmc1:0001 D9D16G 14.5 GiB
[    1.475534] mmcblk1boot0: mmc1:0001 D9D16G partition 1 4.00 MiB
[    1.476228] mmcblk1boot1: mmc1:0001 D9D16G partition 2 4.00 MiB
[    1.476919] mmcblk1rpmb: mmc1:0001 D9D16G partition 3 4.00 MiB
[    2.978720] EXT4-fs (mmcblk0p5): mounted filesystem with ordered data mode. Opts: (null)
[    4.801159] EXT4-fs (mmcblk0p5): re-mounted. Opts: (null)

2. eMMCモジュールが/dev/mmcblk1として検出されていることを確認

rock@rockpi-4cplus:~$ ls -l /dev/mmcblk1
brw-rw---- 1 root disk 179, 32 Oct 27 08:03 /dev/mmcblk1

3. OSのダウンロード

オフィシャルイメージサイト上のUbuntu Server20.04のイメージをダウンロードします。

rock@rockpi-4cplus:~$ sudo wget https://github.com/radxa-build/rockpi-4cplus/releases/download/20220901-0148/rockpi-4cplus-ubuntu-focal-server-arm64-20220901-0254-gpt.img.xz

4. ダウンロードしたOSをeMMCに書き込む

rootでダウンロードしたイメージをeMMCに書き込みます。

root@rockpi-4cplus:~# xzcat /home/rock/rockpi-4cplus-ubuntu-focal-server-arm64-20220901-0254-gpt.img.xz | dd of=/dev/mmcblk1 bs
=1M
0+239781 records in
0+239781 records out
2000000000 bytes (2.0 GB, 1.9 GiB) copied, 51.7352 s, 38.7 MB/s

完了したら、シャットダウンします。

root@rockpi-4cplus:~# shutdown -h now

microSDを抜いて、電源を入れなおしてUbuntu Serverが立ち上がれば成功です。

おわり

特に問題もなく起動までできました。Raspberry Pi 4の代替になるか、引き続きいろいろ試してみようと思います。

参考

Install to eMMC module or on board eMMC
https://wiki.radxa.com/Rockpi4/install/microSD

最近のエントリー

Node.jsでGemini 1.5 FlashをAPI経由で使う

今日は「ぴろろんの日」

Node.jsでGPT-4oをAPI経由で使う

遠隔手話通訳実験

LLMと戯れてみる

新刊情報の収集

最近のできごと

Hieronymusのインボイス番号対応について

会計システム「Hieronymus」の現状

OrangePi5にZabbixをインストールする

レビュー等の依頼について

オープンソースのノートアプリ「SiYuan」 - CasaOS AppStoreレビュー

お気に入りの色さがし1

創立記念日

現在の営業品目(2)

現在の営業品目(1)

SPDX License Listをデータ化した

Orange Pi5でC3TR-Adapterを試す

CasaOS上で会計システム「Hieronymus」を動かす

会計システム「Hieronymus」v1.0.0 リリースしました