cross compile であれだけ私を苦しめてくれたこいつも NFS マウントしてやると、 何事もなくあっさりとコンパイルできました。 あ、うそ、先に jpeg と libungif いれとかんと mil で止まるわ。 もちろん mil もちゃんと動く。 ただ白黒反転しているような…
(後記:packageできました。すげーラク)
わたくし的環境といたしましては ssh は必須です。 学校のメール鯖にアクセスするのにも、研究室に入るのにも全て ssh only です。 というわけでとにもかくにも openssh をインストールしませう。 普通の ssh じゃないのは、 ただなんとなく です。
さて、openssh をいれるには openssl がいります。 さらに openssl は perl を必要としています(なぜだ)。 とりあえず perl を pkgsrc を使ってコンパイル。 package のコンパイルにもやはり ここ が役に立つでしょう。 ていうかだいたいの事はこのページ見れば分かります。 ただし鯖向けだけに、モバイル野郎向けではなさそうですが。 コンパイルは寝る前に始めたら、起きる頃にはちゃんと終ってます。 で make package 。 これに30分位かかったのにはびっくり。 package にしておくとモバギ本体にインストールするのもらくになるでしょう。
次に openssl 。 これも気長に待てば、問題なく終ります。
最後に openssh 。 これも気長に待てば、問題なく終りま すせん。 コンパイル自体は終るのですが、 ssh-keygen が鍵を作る際に /dev/random を必要とします。 そして 20000315 な snapshot のカーネルには残念ながら含まれていないのです。 そのことが ML で話題にのぼり4月くらいにデフォルトで組み込まれました。 そこでそいつをとってきて、カーネルをいれかえるという安直な手を試みましたが、 この前 と全く同じ現象に遭い、おとなしく再構築することにしました。
とりあえずカーネルソースが必要です。 普通にインストールした時には持ってませんからね。 入手には cvs を使うのが一番ラクだと思います。 これまた初心者コースやNetBSDのドキュメントの current の追跡らへんを読めば分かります 。 ていうか忘れたので、またいつか(^^;)
カーネルの再構築もそのまんま。 GENERIC を cp していらんもんをコメントアウトしていく。 けずりすぎるとはまるのでほどほどに。 FreeBSD みたいに LINT とかあるといいんだけれどね。 で、その際 option random (だっけな?)を加えることを忘れずに。 で
# config HOGE # mv ../compile/HOGE (FreeBSDとは違うのね) # make deoend # make # make installとしていけばよかったでしょう。 再起動してうまくいけばおっけー。 いかなかった時はかなしいね。 ただ、モバギの場合、CF に全部入っているので、母艦で CF をマウントしてカーネルを古いのと変えてしまえば、ちゃんと元に戻りました。 保証はしませんが…
これで無事 openssh もインストールできるようになりました。 めでたし、めでたし。 あ、忘れずにドキュメントやマニュアルは消しておきましょう。 マニュアルとっておいても small.tgz には man がはいっていないので見れませんよ。 しかし perl も openssl もばかでかい。 特に openssl なんぞもう使わんと思うのだが。 とりあえずヘッダファイルなんて明らかにいらなそうなので、 /usr/pkg/include を /usr/pkg/include.old とかして様子を見ています。 何も問題なければそのまま消してしまえ。
jed に魅せられたわたくしとしましては、なんとしても入れたい一品です。 これもなんの問題もありません。 ここ のとおりにおとなしくやればインストールできます。
これで日本語が入力できる…ようになるのはもう少し先かな。 ついでに mutt もやってしまえと思ったのですが、こいつが一筋縄ではいかぬ。 今の所断念中です。 あと w3m も gc 関係でひっかかってしまい、コンパイルできず。 こっち ではできているようなので、そのうち動くようになるでしょう(他力本願だ)。
w3m がコンパイルできないので lynx を使ってみませう。 package では libslang を要求してくるので、無駄な容量を使わないためにも自力でコンパイルします。 当然 ncurses なんぞは入れてないので slang を使いましょう。 jed に使った slang がまだ残っていればラッキー。 パスは /home/hpcmips/slang とします。 そこの path を指定して configure します。
# setenv CPPFLAGS "-I/home/hpcmips/slang/src" # setenv LIBS "-L/home/hpcmips/slang/src/objs" # ./configure --with-screen=slangてな感じでやれば slang 付きで configure できます。 そしたら make; make install で終り…
のはずなのですが、途中で反応がなくなってしまいました(;_;) どうやら swap 大量発生のようです。 swap 13M じゃきついと。 そこで NFS 鯖の方に swap 領域をつくってしまいましょう。
鯖側で適当に export の設定をして、mount します。 そこで
# touch /swap/swap # dd if=/dev/zero of=/swap/swap bs=1024k count=16 # swapctl -a /swap/swapとしてやれば swap が16M増えて、29M になってくれました。 そしたらコンパイルも無事終了。 ちなみに strip してサイズが 2099764 とかなりでかし。 しかも起動したては日本語が表示されんわ、カーソルもでないわで困ります。 すぐに o を押して設定を変えましょう。
これでモバギで html ファイルも読めるようになります。 けど結構表示が変になりやすいです。 うーん、あまり使ってないのでなんともいえませんが、w3m の方が好きかな。 誰か NetBSD/hpcmips でも動くようにしてくだされ(他力本願)。
他力本願モードのうちにやないさんが動くようにしてくれました。 大感謝ということで、早速インストールしてみると 1.5 の環境でつくられたバイナリなため、 libcurses.so.3 がないと怒られてしまいます。 そこで強引に libcurses.so.2.5 からリンクして使ってみると、無事起動したものの、 外のページを見ることができませんでした。 これから 1.4 の環境で使えるようにするための苦労が始まるのです。 (しかし、この苦労はもしかしたら必要なかったのかもしれませんが、それは後ほど…)
port-hpcmips-jaのメイリングリストに助けられて、どうやら無事動くようになりました。 問題は gc 関係のところです。 以下手順、
# ifdef NETBSD # define ALIGNMENT 4 # define OS_TYPE "NETBSD" # define DATA_START (ptr_t) 0x10000000 --ここ # define HEURISTIC2 --ここ # define USE_GENERIC_PUSH_REGS --ここ /* # define DYNAMIC_LOADING */ # define STACKBOTTOM ((ptr_t)0x80000000) # endif
と思っていたら、動いてもいない proxy の設定がされていましたねー。 そういや、wwwoffle が動いている母艦から設定ファイルをかっぱらってき てたのがいけなかったようです。 よいこはマネしないように。 で、設定しなおしたら、ちゃんと見れました。
ということは、 やないさんが作った1.5用のバイナリでもちゃんと動いたのでは… という疑念がわいてきます。 確認するのが恐いので、とてもできません(笑)。
もし、無事に動くのでしたら、みなさん、ご迷惑をおかけしました。 ごめんなさいm(__)m