💻Rock 5B の 準備

ゴール

作業基準

  • microSD で Desktop OS を動かす。
    • 単体でブラウザを使った調査を手掛かりにして、メンテしやすいように。
  • 出来るだけハードをいじらない。
    • NVMe で起動、UART デバッグはしたいので、それぞれ取り付けたら蓋はしめる。

出来上がりのすがた

  • Ubunru Server が動いていること。

段取り

  • 物資
  • ファイルの準備
  • microSD で起動したあと

物資

  • microSD
  • microSD に書くための OS
    • 今回は Windows 使った(balena Etcher)。手順は割愛。
  • ROCK 5B
  • NVMe SSD
  • GPIO に差す UART USB アダプタ

ファイルの準備

  1. Ubuntu Rockchip
  2. SPI クリーニング用イメージ
  3. SPI イメージ

microSD で起動したあと

アップデート

Desktop OS は一応アップデート。する意味はあんまりない。ただ、 SNAP store がないとか色々気づきはあった。

Server OS イメージを SSD に書き込む

// prepare OS image file.
$ wget https://github.com/Joshua-Riek/ubuntu-rockchip/releases/download/v2.3.0/ubuntu-24.04-preinstalled-server-arm64-rock-5b.img.xz

// remember your NVMe SSD device path as below.
# fdisk -l
(omit)
Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: CT1000P3PSSD8
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

// Write OS Image to NVMe SSD
# xzcat ubuntu-24.04-preinstalled-server-arm64-rock-5b.img.xz | \
dd of=/dev/nvme0n1 bs=1M status=progress

SPI イメージをフラッシュ ROM に書き込む

// Take checksum: Image file for clean-up.
$ md5sum zero.img.gz
ac581b250fda7a10d07ad11884a16834  zero.img.gz

$ gzip -d zero.img.gz
$ md5sum zero.img
2c7ab85a893283e98c931e9511add182  zero.img

// Take checksum: Image file for SPI.
$ md5sum rock-5b-spi-image-gd1cf491-20240523-debug.img
fa14c99718f55b66e82aa1661e43c1ec  rock-5b-spi-image-gd1cf491-20240523-debug.img

// Clean up SPI.
$ ls /dev/mtdblock*
/dev/mtdblock0

// This action need few minutes...
# dd if=zero.img of=/dev/mtdblock0

// Verify.
# md5sum /dev/mtdblock0 zero.img
2c7ab85a893283e98c931e9511add182  /dev/mtdblock0
2c7ab85a893283e98c931e9511add182  zero.img

// Write SPI image.
# dd if=spi-rock-5b-spi-image-gd1cf491-20240523-debug.img \
of=/dev/mtdblock0 status=progress

# md5sum /dev/mtdblock0 rock-5b-spi-image-gd1cf491-20240523-debug.img
fa14c99718f55b66e82aa1661e43c1ec  /dev/mtdblock0
fa14c99718f55b66e82aa1661e43c1ec  rock-5b-spi-image-gd1cf491-20240523-debug.img

# systemctl reboot