coLinuxを 0.6.2から 0.7.1へアップデート

coLinuxのバージョンアップメモ。

設定ファイルのフォーマットが XMLから普通のテキストフォーマット?((項目)=(値)というやつ。正式に何と呼ばれるのかわからないけど)に変わっているので、バイナリをインストールしただけでは動かない。手動で設定ファイルを新フォーマットに変換してあげる必要がある。
主な対応は次の通り。

  • <block_device index=”0″>で指定されていた pathを cobd0行に指定。
  • <block_device index=”1″>で指定されていた pathを cobd1行に指定。
  • <memory size>は mem=に。
  • TAPを使用している場合は eth1=tuntap行のコメントを外す。

自分の環境はこれだけで動くようになった。

あとサービス化する場合は、一旦サービスを削除して、新しい設定ファイルを参照する形で再登録する必要がある。詳しくはインストールディレクトリ配下の colinux-daemon.txtに書いてあるけど、必要な所だけ抜粋すると、削除は

colinux-daemon --remove-service "cooperative Linux"

(ダブルクォーテーション内はサービス名)、登録は

colinux-daemon @default.conf --install-service "coLinux"

となる。@以降は設定ファイル名。以上で完了。

lighttpdをインストールしてみる

急に思い立って,手元の Debian Sarge on coLinuxに lighttpdをインストールしてみた。

  • インストール自体は簡単。 ./configure; make; sudo make installであっさり完了。
  • apachectl相当のものはないらしい。/usr/local/sbin/lighttpdを直接実行。
  • 設定ファイルは lighttpd.conf。make installではコピーされないようなので配布物の中の debian/lighttpd.confを手動で /etc/lighttpd配下にコピー。
  • 実行は /usr/local/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf

以上。デフォルトだとログ出力先のディレクトリがない(/var/log/lighttpd)とかいって怒られて起動できないので,出力先を変更するかディレクトリを作っておくこと。

Debian Sarge(Kernel 2.6.10) on coLinux 0.6.2で migemoが動かない

動きません。なんでだろ。症状は

http://lists.debian.or.jp/debian-users/200503/msg00069.html

とまったく同じ。1文字目は入るけど,2文字以上入力しようとすると応答がなくなる。ただ Ctrl-Gは効く。migemo自体は,例えば

% migemo /usr/share/migemo/migemo-dict

とやって適当な文字列を入力すると展開された正規表現文字列が返ってくるので,きちんとインストールされているっぽい。たぶん emacsと rubyの間の通信でこけていると思うのだが,elispは全然わからないのでこれ以上追えない。

Googleで調べても困っている人はいないみたいなので環境構築に失敗している可能性はあるのだけど。ここさえクリアできれば FreeBSD on VMwareからこっちに乗り換えるんだけどなあ(VMwareより coLinuxのほうが快適なんだもん。おそらくディスクアクセス速度の差なんだろうけど)

(2005/05/27追記)
Fedora Core 2でもダメらしい。

http://www.smalltown.ne.jp/~usata/diary/?date=20050516

coLinux 0.6.2 with Sarge

会社のPCに coLinuxをインストールしてみた。見積り資料を作らないといけないので本当はこんなことしている場合ではないんだが。だいたいのところは

ERROR STORM
http://www.geocities.jp/error_storm/index.html

coLinuxのインストール
http://scratchpad.fc2web.com/colinux/install/index.html

の通りにやればうまくいくので,つまづいたとこだけメモ。

block_deviceの path

パスから\DosDevicesを削除しないこと。自分は coLinuxを \dにインストールしたので,最初 path=”\d〜と書いてしまってルートファイルイメージがオープンできないよ!と怒られた。正しくは path=”\DosDevices\d:〜である。

mkfs.reiserfs

ディスクを増やすときのファイルシステム作成は

# mkfs.reiserfs --format 3.6 /dev/codb2

で作る。–formatオプションをつけないと,「カーネル2.2 or 2.4か,-vでバージョンを指定してよ!」と怒られる。自分はルートファイルシステムに2.6カーネルのものを使ったからかな。2.2 or 2.4系列であればオプション無しでも問題ないかも。あと -vはなにかの間違いだと思う。そもそも mkfs.reiserfsのオプションに -vなんてないし。

viがない

/initrd/bin/viにあります。/usr/binにも /binにもなかったのでかなりあせった。

Sargeに upgrade後

apt-get dist-upgrade終了後,リブートすると起動中にエラーが発生してファイルシステムが read onlyでマウントされる。エラーの原因は不明。consoleだとログが流れちゃうし,ログをviで開こうとしてもファイルシステムが read onlyだから tmpファイルが作れず,開くことすらできないんだもの。

/etc/fstabのエントリを次のように修正すると無事に起動するようになった。

[text]
/dev/cobd0 / reiserfs defaults 0 1
[/text]

直したのはdefaultsの部分。修正前はoption errors=ro(よく覚えてないけど,こんな感じ)となっていたが,起動時にそんなオプションは知らない,と警告が出ていたので。

あ,書き忘れたけどread onlyのままでは当然修正できないので,ディスク増設前の1GBのルートファイルで起動して,4GBディスクをマウントして書き換える方法じゃないとだめ。ディスク増設前にupgradeしちゃった人はもういっぺん新しいルートファイルをダウンロードしてきて,そこからブートすればよさそうかな。

coLinux-daemonの起動

インストールディレクトリに cdしてから,つまりカレントディレクトリをインストールディレクトリにしないと起動しないみたい。なぜだか不明だけど。

無線LANカード動作確認

お客さんから頼まれて無線LANカード動作確認.OSは RedHat 7.3(Kernel 2.4.18-3).カードは

  • WLI-CF-S11G + WLI-CF-OP
  • WLI-PCM-L11

の 2種類.

前者は CFタイプのものを変換アダプタを使って無理矢理 PCカードスロットに挿すタイプ.dmesgで見ると,何か挿されたことまでは認識しているようだが,それが何なのかがわからない模様.googleでもこの組合せで動かした人はいないようなので即見切りをつける.

後者は結構メジャーなカードのようで googleでも動作報告がたくさん見つかる.実際,カード挿して /etc/pcmcia/wireless.optsに WEPや ESS-IDの設定をしただけであっさり動作した.あ,あと wireless-toolsが入ってなかったのでそれも入れた.

とりあえず動く組合せが見つかったので安心.