VanillaOS 3を試す

イメージ
以前仮想マシンで試したものの、あまり時間が取れず、しっかり使えていなかった。 余っている(テスト用においてある)Thinkpad x390に実際に入れて試してみた。 Vanilla OS ところが、サイトに行ってみると少し前(2026-08-24)にUpdateされており2→3へと2年ぶりの更新。 簡単に言うとイミュータブルなOSで、OS本体の書き換えは基本的にできず、A/Bパターンで起動する必要がある。 Aでインストールしたものは、Bに入れられ、起動時にBを選択するとインストール後の状態で使える仕組み。不具合があればまたAに戻せるというもの。 若干、コマンド類が変わってしまっているらしい。 イミュータブルなOSは、これまでにも試したものの日本語がうまく扱えないなど常用するには結構厳しいものがあった。 とはいえ、時間の経過で様々なアプリケーションがFlatpakやAppImageで出揃ってきたので、今回テストすることにした。 インストーラ自体は小さく、起動用のUSBに書き込んで起動すればOK。 インストール完了後、マシン名やユーザ名を入力することで、環境設定は完了。 基本的にはFlatpakでインストールするのが正しい使い方らしいので、必要そうなものを入れてみた。 vscode Brave Browser LMStudio DBeaver-ce Thunderird Obsidian opencode LibreOffice など・・・ どれも、サクサクと動作して気持ちいい。 日本語環境 さて、問題は日本語環境だが、調べてみるとflatpakにmozcもfcitx5も存在していた。 これんらばと思い、入れてみる。 https://note.kurodigi.com/vanillaos-fcitx5-mozc/ が、vanillaOS2の記事のようだけれども、同じ手順でOKだった。 すばらしい。 いつも使用しているmozcが動作するようになった。 ところが、LMStudioでハマった… flatpak特有の問題 LMStudioはすんなり入り、LMLinkでローカルのAIサーバも使用可能。 で、URLを指定したときにWEBサイトを取りに行かせて、処理させるMCPでハマった。 https://github.com/modelcontextprotocol/servers...

Sketch の書き込みができた on Ubuntu

Arduinoでトラブルが続いていた

現在、Ubuntu(12.04-32bit)+ruby 1.8.7 + Arduino Mega2560という組み合わせで、開発を進めているのだけれども、先の記録にもあるように、予想以上に苦労している。

今回、Arduino IDEからMEGA2560へのsketchの書き込みが、エラーで出来なかったものを、工夫することで書き込みができることが分かったので、まとめておこうと思う。

まずは設定

普通にArduino IDEを起動して、書き込みを行うと図のようにエラーが発生する。
例では、スケッチの例にあるStandardFirmataを読み込んで、Arduino Megaに書き込もうとしている所。

すると、
avrdude: stk500v2_RecieveMessage(): timeout
なんてエラーが延々と出て書き込みが終了しない。

こんなエラー情報では、何もわからないので、詳細な情報を得られるようにしておく。

「ファイル」->「環境設定」->「より詳細な情報を表示する」の「書き込み」にチェックを入れておく。
コンパイルの情報を見たければ、チェックを入れればいいのだけれど、今回はコンパイルまで終了し、書き込みに失敗しているので、書き込みだけでOK。

具体的な手順

この状態で、コンパイル&書き込みを行うと、さっきより格段に細かい情報が得られるのが分かるはず。

これが右の図。
すると、どんなデータを書き込もうとした。上手くいったとか失敗したとか…。

この状態が最低限必須。

この状態で先に進んでも良いのだけれど、詳細なLOGを見ているうちに、どんどんエラーが増えていくし、エラーをたくさん見ても意味が無いので、起動方法を変更する。

コンソール(Terminal)から、手動で起動してやると、あとの処理が楽になる。
$ arduino もしくは $ /usr/bin/arduino
か、異なるバージョンを入れてたりするなら、そのディレクトリで
$ ./arduino
で起動するはず。

ここまで来たら、書き込みたいsketchを開いて、書き込みを実行する。
すると当然のことながら、先と同じエラーが発生する。

ここで慌てずに、コンソール(端末)で中断(control+C)を実行する。

$ arduino
コンパイル後のスケッチのサイズ:15,196バイト(最大容量258,048バイト)
/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -patmega2560 -cwiring -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/build4946465769096413677.tmp/StandardFirmata.cpp.hex:i 
avrdude: Version 5.11.1, compiled on Oct 30 2011 at 10:41:10
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch
         System wide configuration file is "/usr/share/arduino/hardware/tools/avrdude.conf"
         User configuration file is "/home/satoshi/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping
         Using Port                    : /dev/ttyACM0
         Using Programmer              : wiring
         Overriding Baud Rate          : 115200
avrdude: wiring_open(): releasing DTR/RTS
avrdude: wiring_open(): asserting DTR/RTS
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
^C

この時点で、コンパイルは終了しているので、書き込みだけ上手く出来れば良いわけで、この画面に表示されているコマンドをそのまま実行してやる。(上の赤い部分)
$ /usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -patmega2560 -cwiring -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/build4946465769096413677.tmp/StandardFirmata.cpp.hex:i 
勝手に改行とかせずに、表示されている行をそのままコピーして貼り付け実行してやればOK。
すると、細かい表示をしながらも、プログレスバーが表示されて、無事書き込みが終了する。

これでエラーが起きること無く、書き込みが完了し、動作させることができる。

結局IDE側(java)の処理の問題のようだ。
単純にforkしてやれば良いような気がするのだけれど…。何か変な処理をしているんだろうな〜と勝手に推測しているんだけれど…。

これで、母艦のMacで書き込んだり、Windowsで書き込んだりせず、Ubuntu上から気持よくは無いけど、とりあえず書き込みができます。

追記


  • 「ARDUINO 1.0.4」 が 2013.03.11
  • 「ARDUINO 1.5.2 BETA」 が 2013.02.06

にリリースされていましたので、パッケージ管理でなくてもいいやって人は、使えます。

コメント

このブログの人気の投稿

MEGAにも弱点があった?

Ubuntu24.04 でGUIが死んだ

VirtualBoxでUSBを使う方法が分かった!