TerraMaster F2-220 に fnOS を導入:F3 Backplane、NVMe、BIOS モジュール注入

TerraMaster F2-220 に fnOS を導入する手順の整理。F3 Backplane の作成、NVMe の接続、fnOS のインストール、flashrom による BIOS バックアップと NVMe モジュール注入後の書き込みを扱う。

これは TerraMaster F2-220 に fnOS を導入する実践記録だ。目的は純正 TOS を置き換え、公式サポートが終了した F2-220 を引き続き使うことにある。あわせて、F3 Backplane が F2-220 で使えるかを確認し、BIOS が NVMe から起動できない問題も解決している。

F3 Backplane の元プロジェクトは F2-221、J3355 プラットフォームで検証されていた。一方、F2-220 は J1800 プラットフォームであり、互換性は未確認だった。プロジェクトの fork に V1.1 版があり、部品点数が減ってコストと製作難度も下がっていたため、この V1.1 版を使ってテストしている。

PCB 製造と半田付け

バックプレーンプロジェクト:arnarg/f3_backplane。使用したのは fork 内の V1.1 版で、主な目的は既存の SATA ベイを維持しつつ、バックプレーンコネクタから NVMe SSD の位置を引き出すことだ。

PCB 製造後、複数枚の基板を入手できた。半田付けでは 1 つ注意点があった。BOM をよく確認せずに M.2 を半田付けしたあと、SATA コネクタが一般的なものとは少し違うことに気づいた。

Taobao では完全に合うネイティブ SATA コネクタが見つからなかったため、既存のコネクタを改造した。ピンを抜いて位置を入れ替え、再度基板へ半田付けして完成させている。

重要な結論は、F3 Backplane の方式は F2-220 でも試せるが、SATA コネクタの選定には注意が必要ということだ。一般的な SATA コネクタとしてそのまま注文しないほうがよい。

VGA 出力を接続する

F2-220 本体には外部に出ている映像出力がないが、内部に 12 ピン VGA ヘッダが用意されている。必要なのは、マザーボード内蔵用の 12Pin VGA 変換ケーブルだ。片側を本体内部の 12 ピンヘッダに接続し、もう片側は通常、外部モニタ用の標準 DB15 VGA メスコネクタになる。

検索キーワードは「12Pin VGA 转接线」「主板 12 针 VGA 转接线」「2.0mm 12Pin 转 VGA」などが使える。購入前に、本体内部コネクタの写真と照合し、コネクタの向き、ピッチ、配線順を確認する。単に「12Pin」と書かれているだけで注文しない。

この手順はインストール時に重要だ。映像出力がないと、BIOS やインストーラーのトラブルシュートがかなり難しくなる。

fnOS のインストール

Ventoy から fnOS インストーラーを起動する。インストール画面で NVMe SSD が見えるため、バックプレーンと NVMe のハードウェア経路は動作している。

ただし、インストール完了後に起動ディスクを抜くと、マシンは fnOS に入らず BIOS 画面へ戻ってしまう。BIOS の起動項目には NVMe SSD がない。fnOS を USB メモリにインストールして起動すると、システム内からは NVMe が正常に見える。

この現象から分かることは次の通り。

  • NVMe のハードウェア認識には問題がない
  • Linux から NVMe にアクセスできる
  • 失敗しているのは BIOS の起動段階
  • F2-220 は古いプラットフォームであり、純正 BIOS に NVMe 起動モジュールがない可能性が高い

BIOS のバックアップ

この時点では USB メモリから fnOS を起動できる。fnOS は Debian ベースなので、システム内で flashrom を使って BIOS のバックアップと書き込みができる。

BIOS の書き換えにはリスクがある。失敗時に復旧できるよう、可能ならプログラマを用意しておく。

flashrom をインストールする。

1
2
sudo apt update
sudo apt install flashrom -y

BIOS チップを認識できるか確認する。

1
sudo flashrom -p internal

認識されるチップ情報は次のような形になる。

1
Found Winbond flash chip "W25Q64.W" (8192 kB, SPI) mapped at physical address 0x00000000ff800000.

元の BIOS をバックアップする。コマンド内のチップ型番は、自分の機器で検出されたものに置き換える。

1
sudo flashrom -p internal -c "W25Q64.W" -r backup_factory.bin

NVMe モジュールの注入

バックアップした BIOS は .bin ファイルになる。WinSCP で PC に転送し、Bilibili の記事 《让老主板用上 Nvme 协议的固态》 を参考に、BIOS ファイルへ NVMe モジュールを注入する。

処理が終わったら、変更済み BIOS ファイルを fnOS に戻す。

他人が作成した BIOS ファイルをそのまま使うのは避ける。機種、BIOS バージョン、flash チップが異なれば差分が出る。より安全なのは、自分の元 BIOS をバックアップし、そのバックアップをベースに変更する方法だ。

新しい BIOS の書き込み

書き込みコマンドは次の通り。チップ型番、ファームウェアのパス、ファイル名は実際の環境に合わせて置き換える。

1
sudo flashrom -p internal -c "W25Q64.W" -w /vol1/NEW_NVME.bin

出力に次の行が出れば検証に成功している。

1
Verifying flash... VERIFIED.

書き込み後、BIOS の起動項目に PATA が表示されることがある。この種の古い BIOS に NVMe モジュールを注入した場合、NVMe 起動項目が PATA として表示されることはよくある。これが見えれば、BIOS が NVMe 起動経路を認識している。

結果

最終結果は次の通り。

  • F3 Backplane V1.1 は TerraMaster F2-220 上で NVMe を認識できる
  • fnOS インストーラーから NVMe SSD が見える
  • 純正 BIOS は NVMe から直接起動できない
  • BIOS に NVMe モジュールを注入すると、起動項目に PATA が出る
  • BIOS 変更後、NVMe から fnOS を起動できる条件が整う

実測フィードバックでは、この NVMe 経路の速度は 300MB/s 台とのこと。システムディスクとしては十分であり、高性能 SSD は不要だ。小容量の Optane でも用途を満たせる。

注意事項

これは一般向けの無リスクな手順ではなく、ハードウェアと BIOS の改造記録に近い。実際に試す前に、少なくとも次の点に注意する。

  • F2-220 と F2-221 はプラットフォームが異なるため、F2-221 の結果をそのまま F2-220 と同一視しない。
  • F3 Backplane には PCB 製造と半田付けが必要。SATA コネクタのピン改造が必要になる場合もある。
  • インストールとトラブルシュートには、内部 VGA ヘッダ用の適切な変換ケーブルが必要。
  • BIOS 書き込みに失敗すると起動不能になる可能性がある。プログラマと元 BIOS のバックアップを用意する。
  • flashrom コマンド内のチップ型番は、自分の機器で検出された結果に合わせる。
  • 他人の改造済み BIOS を直接書き込まない。まず自分のバックアップへ NVMe モジュールを注入する。

この記録の価値は、F2-220 の実測結果を補っている点にある。F3 Backplane の考え方は F2-221 に限られず、F2-220 でも NVMe システムディスクを使える可能性がある。本当のボトルネックは Linux が NVMe を認識するかではなく、BIOS が NVMe 起動をサポートするかどうかだ。

関連リンク

记录并分享
Hugo で構築されています。
テーマ StackJimmy によって設計されています。