さくらVPSのubuntuアップグレードでトラブル

さくらVPSで運営しているサーバーにログインするとOSアップグレードしろとうるさいので、つい出来心でアップデートしてしまった。
作業そのものは簡単だったが、いろいろトラブルが発生してしまった。
アップデート作業後に再起動したところ、sshでサーバーにログインできない。pingをかけても到達しない。VPSのコントロールパネルからコンソールログインは可能なのでそこからpingをかけても名前の解決すらできない。

トラブル1: 名前の解決ができない

まずは名前解決から。さくらのVPSでubuntu12.04にアップデートしたら、resolv.confの中身が空っぽになった件を参考にして、/etc/resolvconf/resolv.conf.d/base に以下を追加した。

search sakura.ne.jp
nameserver 210.188.224.10
nameserver 210.188.224.11

その後、sudo resolvconf -uを実行したらresolv.confが生成されて名前解決するようになった。(実際にはネットワークにつながらないので名前参照中にフリーズする)

トラブル2: ネットワークにつながらない

ネットワークがつながらない原因はよくわからない。が、ここを参考にしたらうまくいった。
具体的には、sudo ln -s /sbin/ethtool /usr/sbin/ethtoolとするだけ。(本当にこれが原因か?)
この後再起動したらネットワークがつながるようになった。

トラブル3: MySQLが起動しない

ネットワークがつながったところで、このブログを閲覧しようとしたら、大きな文字で「データベース接続確立エラー」と表示されてしまった。
mysqlコマンドでデータベースに接続しようとしても接続できない。(エラーメッセージは失念)
UbuntuをアップグレードしたらMySQLが起動しなくなったAdd Starを参考に、/etc/mysql/my.confを修正したら接続できるようになった。
理由は以前のサーバーの設定として認識されていたdefault-character-set=utf8が、アップデートされたサーバーで認識できなくなったからで、それらを全て(ウチの環境では2カ所)character-set-server=utf8に置き換えればよかった。
置換後にsudo service mysql startとしたら、無事にサーバーが起動しブログもこのように閲覧できるようになった。

やっと一息

今までの積み重ねでようやくここまできた。
Screen Shot 2014-03-06 at 21.36.20
上は、Cortex-M4ベースのマイコンボード(STM32F4DISCOVERY)上でMicroSqueakが動くの図。今のところシリアルにメッセージを流すくらいしかできないけど。

OS X(Mavericks)にSTM32F4DISCOVERY用の開発環境を構築する(サンプル実行編)

前回ビルドしたサンプルプロジェクトの実行方法について説明する。
ST-LinkはSTM32のデバッガ&プログラマで、STM32F4DISCOVERYではジャンパピンの設定によりオンボードでST-Linkが利用できるようになっている。
openocdは、ST-Link経由のマイコンとのインターフェースをTCP/IP通信で提供するもので、gdbなどを用いたデバッグが容易にできる。
続きを読む →

OS X(Mavericks)にSTM32F4DISCOVERY用の開発環境を構築する(サンプルビルド編)

前回に引き続いて、STM32F4DISCOVERYのプログラムのビルドについて説明する。
STM32の開発環境は有償、無償も含めていろいろあるようだが、Eclipseのような○○なものを使いたくないので(○○はお気に入りの言葉を挿入)、Emacsおよびシェルを用いて開発を行うことにする。
続きを読む →

OS X(Mavericks)にSTM32F4DISCOVERY用の開発環境を構築する(準備編)

秋月電子でSTM32F4DISCOVERYを買ったので、Mac OS X(Maverics)上に開発環境を構築してみた。
STM32F4DISCOVERYはCPUとしてARM Cortex-M4をコアに持ったSTM42F407VGT6をもったワンボードマイコンである。1MB Flash ROMと192KBのRAMを積んで\1,650というのは安い買い物である。
開発環境構築の流れは、MacでSTM32F4-Discoveryの開発環境を構築してChibiOS/RTを動かすのサイトを参考にした。このサイトに従って、arm-none-eabi-gcc, arm-none-eabi-gdb, openocdを順にインストールしていく。
続きを読む →

ubuntu上でMicroSqueakをビルドする

ふと思い立って(現実逃避ともいう)ずっと放っておいたMicroSqueakに手をつけた。
MicroSqueakは、John Maloneyにより作られた、小さなSqueakのVMとイメージを作るためのパッケージである。以下のサイトで公開されている。
http://web.media.mit.edu/~jmaloney/microsqueak/
MicroSqueakでは以下のような流れで新しいVMとイメージを作成する。

  1. 古いVMで開発用のイメージ(MicroSqueakDev.image)を起動する。
  2. 起動したSqueakで、新しいイメージ(msqueak.image)を生成する。このイメージが新しいVMで使われるイメージとなる。
  3. 同様にSqueakで、新しいVMのソースファイルを生成する。
  4. 生成されたソースファイルから新しいVMをビルドする。
  5. 生成されたイメージを、ビルドしたVMで起動する。

オリジナル版はMac用のソースを吐き出すようになっているが、手元の環境ではビルドできそうになかったのでそのままの状態で放置していた。
そこで、今回はVirtual Box上のubuntu 12.04LTS(32bit版)で動くように、機種依存部を作り(過去のVMソースからパクり)、機種非依存部のコード生成の問題を解決するチェンジファイルを作成した。
20140224a.3.cs
ubuntu上で動くMicroSqueak VMをビルドする手順を以下に示す。
続きを読む →

ビデオ公開:「なんちゃってFlow-based Programming」

すっかり忘れていたのだが、昨年末のSmalltalk勉強会(兼忘年会)で発表したビデオを(遅ればせながら)公開しました。
「なんちゃってFlow-based Programming」 – YouTubeのビデオ貧弱なプレゼン資料
いま取り組んでいるPharo上のビジュアルプログラミング環境(Fluo)について簡単に発表しています。Fluoの細かいところは全て省いていますが、何となく雰囲気はつかめるのではないかと思います。
概要はこちらにもまとめてあります。
コメントなど歓迎です。

Pharoでイメージが壊れた場合…

忙しいときほどこういうことが起こる。
Pharoで何気なくSave & Quitした後、そのイメージで起動しようとすると画面表示直後に落ちてしまうという現象。
「なぜ今起こるんだ!」と怒鳴りたくなるあの(この)瞬間。
こういう時の対処方法として正当なのは、changesファイルを読み込んで該当する変更をfile inすることだけど、変更が多かったり微妙だったりするとかなり面倒くさいし、かえってミスを招く場合がある。
ということでその現象に出くわしたので解決法を探ってみた。
続きを読む →

Raspberry piとXBee S2を接続する

Raspberry piとXBee S2(ZigBee)を接続してみた。

準備

設定などのため、XbeeとMacを接続するのにスイッチサイエンスのXBee FTDI Breakoutを使ったので、FTDIのドライバをインストールする。既にこの時点でインストール済だったので作業しなかったが、おそらくVCP DriversでFTDIUSBSerialDriver_v2_2_18.dmgあたりを使えば良いのだろう。(手順は省略)
続きを読む →