😇

TinyGo FlashがmacOS 15 (Sequoia)で動作しない問題について

2024/12/18に公開

はじめに

macOS 15 (Sequoia)へのアップグレード後、一部のユーザーから、TinyGoでデバイスへのフラッシュができなくなったという報告があります。本記事では、その原因と現在取られている対策について説明します。

問題の概要

macOS 15では、USB接続されたデバイスが "NO NAME" としてマウントされることが確認されています。この挙動により、TinyGoのフラッシュプロセスが正常に完了しないことがあります。

USB Mount Issue

マウントされた名称は正しく表示されているものの、コンソールから /Volumes/ を見ると、以下のように表示されます。

Console Mount Display

発生するエラー

  • フラッシュプロセスが失敗する

理由: USBマウントの変更

macOS 15.xでは、USBデバイスのマウント名が変更され、ドライブ名が"NO NAME"として表示されるため、TinyGoの従来のフラッシュ手順が正しく動作しないことがあります。

Issueの提起

この問題について、TinyGoの公式リポジトリでIssueを立ち上げました。興味のある方は議論に参加してください。

解決策の模索

現時点で考えられる解決策や回避方法を以下に示します。

  1. 設定ファイルへの追記:

    • JSONファイルで、指定デバイスの名称に「NO NAME」を指定する方法です。

    • tinygo > target > {使用したいデバイス名}.json > msd-volume-name

      JSON Configuration

    ※今回はrp2040で実行しています。多少強引な方法ですが、有効です。

  2. 代替方法:

    • tinygo build で生成されたバイナリを、デバイスに直接書き込む方法を検討します。

      tinygo build -o out/main.uf2 --target wioterminal --size short main.go
      
    • 生成されたファイルを直接ドラッグ&ドロップして書き込みます。

  3. OSの更新情報をチェック:

    • Appleからの公式な修正が出る可能性もあるため、最新のアップデート情報を確認しましょう。
    • 最新の macOS 15.2 でも解消していません。

今後の予定

TinyGoコミュニティでは、長期的にこの問題を解決するための対策を検討しています。最新情報は、GitHub Issueや公式サイトで随時公開されます。

終わりに

本問題でお困りの方は、TinyGoのサポートフォーラムやGitHub Issueで情報を共有してください。また、新たな解決策が見つかり次第、本記事も随時更新していきます。

Discussion