最近FUZIXのソースを徘徊しているのですが(ビルドが上手くいかず試行錯誤の婉曲表現:)rpipico(RP2040/RP2350)系は他のプロセサとビルド手続きが異なる様で前述の如く徘徊(老人故:)していたのですが下記サイトに基づいてビルドしたら上手く行ったのでリアルターゲットとして死蔵してたRP2040-GEEKを使ってみようというお話。
いきなり脱線してしまいますがgemini2.5にFUZIX OSの基本設計技術をレポートに纏めてもらい、それをNotebookLMでポッドキャストにしてもらいました(男女の対話形式)↓
そしてこちらがNotebookLMが生成した対話形式のポッドキャスト(お試しあれ)。
話を戻して、RP2040-GEEKをネタにする理由は手元にあり、マイクロSD(中華的にはTFcard)を持っている為です。つまりマイクロSDにrootfsを置きたいという事。
※注記:本件はpico(RP2040)に関するものです。pico2(RP2350)ではありません。
RP2040-GEEKwww.switch-science.com
幸い回路図が上記Waveshareのwikiで公開されているので引用↓
https://files.waveshare.com/wiki/RP2040-GEEK/RP2040-GEEK-Schematic.pdf

rpipico用のFUZIX0.5のビルドは以下のサイトを参考(というか板書)させて頂きました(感謝):

まづはそのままの状態でfuzix.uf2をRP2040-GEEKに書込むと書込終了後、fuzixが立ち上がります↓

hda はpicoのNAND Flashのrootfsです(約1.3MB)。
SD drive 0: no card foundのメッセージが出ていますがSD周りのハードウェア構成(というか結線)の違いによりこのままではRP2040-GEEKでは動作しません。有り難い事にRP2040-GEEKのSD周り含めた情報が公開されていたのでそれを参考にさせて頂き、上記回路図とも突合して確認致しました(感謝)。

次にFUZIXのソースの何処にSDカードのピン定義があるかですが、〇〇の一つ覚え:)でgemini2.5さまに尋ねてみたら:

あなありがたや、gemini2.5さまのお告げの通りでございました:)これで変更すべき内容と場所が分かったので早速修正します。実際には config.h、devsdspi.cの2つを修正します。

具体的には51〜54行をRP2040-GEEKのSD(TF)cardのSPI0に修正した形になります。次にconfig.hの修正(というかコメントアウト)は、

具体的には29行をコメントアウトする形になります。理由はdevsdspi.cで何も定義されていないと最後に上記SDカードのpin定義になるので。直接devsdspi.cを書く変えるのも有りですが何か半端な修正(動けばOk、みたいな)ではあります:)
準備が出来たので platform-rpipicoのディレクトリで make world -j4 ; make image -j4 ; でビルドして作成されたfuzix.uf2をRP2040-GEEKに書き込むと、

のようにSD drive0: hdb1 hdb2が認識される様になります。実はPicoCalcのSDカードのコピーなのでFuzixのrootfsはhdb2にあるのでhdb2をrootfsに指定しています(上図)。
という事でRP2040-GEEKのfuzix0.5でSD(TF)カードが認識出来る様になりました。
自分でビルド出来る環境を構築すると色々徘徊:)出来るので老後の楽しみには大変具合が良いです。
fuzixは軽量なだけにビルドも速くCore-m5のThinkPat X1Tabletでも然程ストレスにならない(年の功か気長になったのかもしれません)気がするのも由です。

最後にRP2040-GEEKで内蔵TFカード(マイクロSDカード)をアクセス出来るfuzix.uf2を置いておきます。無論、無保証といふことで。
次のステップ:
RP2350-GEEKの方はこちら: