_★
OpenBSDでpeercast
OpenBSDでpeercastを動かすためにLinuxエミュレーション環境構築。
ここで問題。peercatで配布しているLinuxバイナリは実はスタティックリンクされている。
実はスタティックリンクされている場合にはいろいろと厄介なのだ。
FreeBSDだとELFバイナリをbrandelfでLinuxマークを付けてエミュレータを納得させる。。
OpneBSDの場合、ある程度ファイルを自動判別するらしいがSVR4(Solaris)とLinuxの区別が付かなくて駄目らしい。
このような場合にはCOMPAT_SVR4を殺したカーネルを再構築すれば良いとのこと。
うーむ。面倒い。
で、色々と考えた。
- FreeBSDのbrandelfでマークしたバイナリを使う。
- スタティックリンクぢゃなくてダイナミックリンクされたバイナリを使う。
- 仕方ないCOMPAT_SVR4抜きカーネル使用。
- やっぱしネイティブだ。
4は漢だ。しかも熱い漢、ヒィートガイだ。
でも、オレはそんな余裕はないんで、1〜3の方法を考える。
まず、会社のFreeBSD計算機でbrandelfしたヤツを持って来て実行。だが、あえなく撃沈。
エミュの実行機構が違うから当然か。
次に部屋のLinux計算機でダイナミックリンクしたバイナリを作成して実行を考えたが、Linuxエミュのlibcを2.2.xにせにゃならならん上にバイナリ作成が面倒い。
こうなると、もう選択肢はカーネル再構築しかない。
明日、カーネルを再構築するか。