これは 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 をインストールする。
|
|
BIOS チップを認識できるか確認する。
|
|
認識されるチップ情報は次のような形になる。
|
|
元の BIOS をバックアップする。コマンド内のチップ型番は、自分の機器で検出されたものに置き換える。
|
|
NVMe モジュールの注入
バックアップした BIOS は .bin ファイルになる。WinSCP で PC に転送し、Bilibili の記事 《让老主板用上 Nvme 协议的固态》 を参考に、BIOS ファイルへ NVMe モジュールを注入する。
処理が終わったら、変更済み BIOS ファイルを fnOS に戻す。
他人が作成した BIOS ファイルをそのまま使うのは避ける。機種、BIOS バージョン、flash チップが異なれば差分が出る。より安全なのは、自分の元 BIOS をバックアップし、そのバックアップをベースに変更する方法だ。
新しい BIOS の書き込み
書き込みコマンドは次の通り。チップ型番、ファームウェアのパス、ファイル名は実際の環境に合わせて置き換える。
|
|
出力に次の行が出れば検証に成功している。
|
|
書き込み後、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 起動をサポートするかどうかだ。
関連リンク
- fnNAS フォーラム実測スレッド:铁威马F2-220折腾飞牛OS过程