Rock64のUSB HDDから起動できたOSは

シングルボードコンピュータのRock64は、SPIフラッシュメモリーを書き換えることで、USB接続のSSD/フラッシュメモリー/HDDから起動できるようです。

具体的に起動用のHDDを作成する手順と、実際に起動できた/できなかったOSを記録しておこうと思います。

※使用するUSBストレージの種類や、他のHDD作成方法もあるかと思いますので、「こんなデバイスで、こんな方法で試したらこうらしい」程度のご参考に御覧ください。今後、OSやRock64ファームウェアの更新により起動の可否が変わる可能性が御座います。


Rock64のUSB HDDによる起動手順

こちらのドキュメントに沿ってRock64の設定を変更します。

設定の全体的な流れ

次のような流れで起動の確認をしてみました。

  1. Rock64のSPIメモリーをHDD起動可能なものに変更します(最初1回のみ)。
  2. OSイメージをHDDに書き込みます。
  3. USB 2.0端子にHDDを取り付けて起動します。
  4. そのまま初期設定を行います。
  5. USB 3.0端子にHDDを付け替えて起動します。
  6. microSDカード/eMMC起動に戻す場合、Rock64のSPIメモリーを元に戻します。

OSにより5番まで進める=USB 3.0で起動できるものや、3番で止まってしまうもの等があり、すべてのOSがUSB起動に対応しているわけではない感じでした。

では、具体的な手順に進みたいと思います。


Rock64のSPIフラッシュメモリー更新

  1. こちらのページから、「u-boot-flash-spi-rock64.img.xz」をダウンロードさせて頂きました。もとに戻す場合は「u-boot-erase-spi-rock64.img.xz」を使用しますので、両方ダウンロードしておくと宜しいかと思います。
  2. xz圧縮に対応したEtcherを使わせて頂きました。「u-boot-flash-spi-rock64.img.xz」をmicroSDカードに書き込みます。
  3. Rock64にmicroSDカードをセットします。eMMCは必ず取り外し、USB機器やLANケーブルも外しておくようです。
  4. 電源を入れると、SPIフラッシュメモリーの更新が始まります。
  5. 更新が終了すると、白色の電源LEDが1秒間隔で点滅するようです。電源を切りmicroSDカードを取り外します。

更新中HDMI出力はありませんが、シリアルコンソールを接続すると次のようなメッセージが表示されました。電源を入れてから、Written: OKが出るまで2~3分のようです。

SPIメモリーを戻したい(消去する)場合、同じ手順で「u-boot-erase-spi-rock64.img.xz」を起動するようです。

ちなみにRock64などのRockChip系のSBCは、起動中のメッセージが一切画面に表示されないようです。細かい情報を知りたい場合、シリアルコンソールは必須かと思います。


ストレージの容量について

2.2TBを超える容量のUSB HDDで起動できるかどうか試したところ、起動するものの、パーティションに不整合が生じて、うまく動作しませんでした。

一方、2.2TB以下の容量のストレージから起動した後でしたら、2.2TBを超える容量のストレージを使用することができました。

起動用のストレージは、2.2TB以下の容量をお勧め致します。

起動用HDDの作成

こちらの7mm厚のHDDケースに容量500GBのHDDをセットして試してみました。

  1. OSイメージを用意します。上記の機器ではSourceForge.netさん版のopenmediavaultをUSB 3.0端子接続で起動することができました。Rock64のイメージをダウンロードします。
  2. Etcherで書き込んでみました。書き込み先にUSB接続のHDDを選択すると、このような警告が表示されますが、「continue」をクリックすると書き込む事ができます。

最初はUSB 2.0端子にHDDを取り付けて起動

USB接続のHDDをRock64のUSB 2.0端子に取り付けて起動します。

1~2分程度待つと次の画面が表示されて再起動しました。再起動後、openmediavault 4.1.8.2-1が起動し、ログインプロンプトが表示されました。root/openmediavaultでログイン後、dfコマンドで確認すると、確かに/dev/sdaファイルシステムが/boot及び/(ルート)にマウントされています。/(ルート)パーティションの容量は6.6GBのようです。HDDの残りの空き容量は、/dev/sda3に確保されているようです。

手動で/dev/sda3をフォーマットすると、openmediavaultからマウントできるようになりました。

mkfs.ext4 /dev/sda3


アップデート後にUSB 3.0端子に接続

apt-getコマンドでアップデートを行いました。

apt-get update

アップデート後にシャットダウン、HDDをUSB 3.0端子に付け替えましたが、openmediavault 4.1.8.2-1は問題なく起動しました。

※19.2.28追記:update後にupgradeも行ったほうが良いかと思います。updateのみでは、パッケージの更新が行われないようです。

openmediavault 4の初期設定は、宜しければこちらの記事を御覧ください。


確認してみたOS

USB接続のHDDから起動するかどうか、いくつかのOSにて確認してみました。

openmediavault 4.1.8.2-1(SourceForge.net)→問題なし

  • 初期設定・アップデートをUSB 2.0端子で行い、その後USB 3.0端子に付け替えて問題なく動作しました。
  • /dev/sda3を手動でフォーマットすることで、HDDの残りの容量をopenmediavaultで使用できました。

DietPi v6.16→USB3.0端子で起動せず?

  • imgファイルのタイムスタンプ2018年9月10日
  • USB 2.0端子で起動、初期設定を行うことができました。
  • しかしUSB 3.0端子にHDDを接続すると起動しない感じです。
  • ※18.10.29追記
    • 2018年10月25日リリースのdietpi v6.17.12で再度試してみました。USB 2.0では起動しますが、USB 3.0の場合起動しませんでした。シリアルコンソールを見たところ、USB XHCI 1.10 scannning busでHDDが見つからない感じです。ネットワークブートのループ処理に入ってしまいます。

Armbian Bionic v5.59→問題なし

  • Armbian_5.59_Rock64_Ubuntu_bionic_default_4.4.152
  • シリアルコンソールで確認すると、HDDから初回起動時、パーティションの自動拡張に4分程かかっていました(500GBの場合)。根気よく待っていると、USBで無事起動しました。
  • USB 3.0端子にHDDを接続した場合も、armbianを起動できました。
  • ROCK64の動作が不安定でしたが、swap領域を増やしたところ、問題なく安定動作するようになりました。設定手順はこちらの記事となります。

以前、こちらの記事でmicroSDカードのアクセス速度を測定してみましたが、20MiB/s程度の速度のようです。

USB HDD起動した場合はどうでしょうか?

シーケンシャルリード性能を調べたところ、100MiB/s程度の速度が出ていました。microSDカード起動時の5倍以上の性能です。

HDD起動により、各種ファイルのアクセス速度が向上し、OSの全体的な性能向上が期待できそうです。

Rock64のパワーアップのため、USB起動をお試し頂いてはいかがでしょうか。

スポンサーリンク

フォローする

スポンサーリンク