_ [comp] tftp サーバようやく完成

kernel 再構築しまくったりやら、tftp が NAT 越えられないやらいろいろあったが、やっと tftp サーバが完成し、diskless 環境が完成した。 grub の command line に間違いがあったので訂正。

kernel /tftp/vmlinuz nfsroot=XXX.XXX.XXX.XXX:/tftp ip=dhcp apm=power-off acpi=off devfs=mount

ro をつけていると mount に失敗した。 / は共有するので ro にしておくが、これのためにいろいろ不都合が出たのでこまごま修正。

  • /dev も書けないので、思い切って devfs に。
  • /var は ramdisk に追い出す。本当なら log 等を rw 領域に退避させたりしたいところだが、そこまで厳密にやる気はないので毎回まっさらに。
  • /var/yp/nicknames がなくて NIS が引けないので毎回コピー。
  • /etc に書き込みを行うスクリプト等をかたっぱしからコメントアウト、修正。
  • iptables 関係の kernel module を読み込むと何故か panic するので削除。

などなど。

_ [comp] xmms-OpenSPC

何故か再生しようとすると、floating point exception が出るので gdb で追ってみる。 どうも resampling まわりの初期化に失敗しているようだ。その関数の前後の変数の変動を見てみるが変化なし。というより、その関数自体が呼ばれていないようだ。そこで、その関数の先頭に xxx_ という prefix をつけて再コンパイル。結果、その関数はちゃんと呼び出され、再生できるようになった。どこかの同名の関数を呼んでしまっていたということだろう。