NetBSD お遊び日記 (2002年6月)。
$Id: diary-200206.html,v 1.29 2002/07/06 15:58:08 isaki Exp $
≪ 2002年5月 | 2002年7月 ≫

2002/06/01

[etc] ADSL が開通した。結構速いぞ。 ftp で 500 〜 600kbps くらいは出てるかな。 このド田舎でそれだけ出れば上等。 しかし速さよりも定額常時接続の方が数倍ありがたいということが分かった 3週間であった。南無...。


2002/06/02

[MI] ADSL 開通した時に ADSL ルータを買ってくる までの間におうちの NetBSD 使って試行錯誤してた時の記録。

[MI/pppoe] その1。NetBSD で PPPoE のやりかた。
カーネルに options pppoe を追加して再構築。 カーネルとユーザランドを 1.6 近くまで上げる。 ユーザランドといっても /sbin/pppoectl だけでもいいかも。 あとは pppoectl(8) 読めば例が書いてあってフレッツならそのままで繋がるんだけど 一応書いておくとこんな感じ。ne1 が ADSL モデムに繋がってるインタフェースね。

ifconfig pppoe0 create
ifconfig ne1 up
pppoectl -e ne1 pppoe0
pppoectl pppoe0 myauthproto=pap myauthname=
userid myauthsecret=password
ifconfig pppoe0 inet 0.0.0.0 0.0.0.1
route add default -iface 0.0.0.1
ifconfig pppoe0 up

[MI/ipf] その2。NetBSD で NAT (IP マスカレード) 箱の作り方。
カーネルに options ipfilter を追加して再構築。 /etc/ipnat.conf に以下のように書く。

map pppoe0 192.168.0.0/24 -> 0.0.0.0/32 proxy port ftp ftp/tcp
map pppoe0 192.168.0.0/24 -> 0.0.0.0/32 portmap tcp/udp 40000:60000
map pppoe0 192.168.0.0/24 -> 0.0.0.0/32
ipnat -C -f /etc/ipnat.conf を実行するとたぶん出来る。 pppoe0 は外側のインタフェースね。

[x68k/installboot(8)] これまで各 port ごとにあった(らしい) /usr/mdec/installboot(8) をひとまとめにした /usr/sbin/installboot(8) とかいうものがある。 たぶんクロスビルドの途中で湧いてきたものだと思う。 4月頃に NetBSD/x68k の ML で別の話をしてる時にみのうらさんに /usr/sbin/installboot の x68k 部分を頂いたので、時間を見て追っかけてた。 今日やっとそれなりになったので [注1]、さくっと commit してしまう。 うーん 1.6 に間に合わなかったのが申し訳ない。

注1: と書くとみのうらさんが書いてた コードがめちゃくちゃだったように読めるがそうではない。 みのうらさんのでたぶんほとんど問題なく動いてたんだと思うけど、 その後のコードの追従と、私が基本的な動作を理解するのに 時間がかかったという意味。

[x68k/etc] 1.6 のテストせえって感じだが なんとなく近々 commit しようと思ってるものリスト。 週末しかまとまった時間がないのよねえ。

[x68k/sysinst] 1.6_BETA1 をインストールしてみた所 /etc/passwd.conf.pre-sysinst とかいうファイルがあったので NetBSD ML に聞いたところ itojun さんがさくっと直してくれた。 さすがだ。


2002/06/03

[MI/sysinst] /usr/sbin/installboot 入りのインストーラを テストがてら sysinst の日本語カタログも一緒にテストしてみる。

う゛、日本語化け化け。下手な日本語訳はするなと言うことか? :-)


2002/06/04

[MI/audio] 何気に audio(9) とか読んでたら 以前追加した factor_denom のことを書き足してないことに気付いたので 慌てて追加。明日くらいまでに誰かに書き直されなければ pull up しよう。 英語書けないってほんといやあねえ。

[MI/sysinst] MI 話なのか x68k 話なのか微妙だが、 昨日日本語 sysinst を作って遊んだら文字が化け化けになってしまったのだが よく考えると X68k のコンソールは EUC を食うのではなく JIS を食うのだった[注1]。 それなら話は簡単。メッセージカタログを nkf -j してコンパイル。 ... う゛、JIS の中に '}'(閉じ括弧) が入ってて msgc が syntax error 吐く。 むう、なんじゃそりゃ。

注1: ほんとは X68k コンソールは Shift_JIS 食うはずなんだけど、 たぶんカーネルが変換してるはず。でもそれっぽいコード見当たらないなあ。


2002/06/06

[MI/audio] とりあえず pull up のお願いを出しておく。


2002/06/07

[x68k/Nereid] 1-5 branch に Nereid を pullup したまま リリースノートに Nereid 使えるよっていうのを書いてなかったので (なんかそんなんばっか)、ずいぶん前に request 出しておいたのが pull up されてた。releng チームには頭下がるなあ、どういうこと やってるのか詳しくは知らないけど(ぉ。


2002/06/08

[x68k/NFS_BOOT] [元ネタ] NFS BOOT するには何が必要なんだろうとか思って他の arch の下とか 覗いてみるけど、よく分からない。とりあえずカーネル読んでいると なんか NFS_BOOT_DHCP を指定しておけばいいんじゃないかという気が してきたので、とりあえずやってみる。

お、出来た...。

ということでめでたく、Diskless NetBSD/x68k の作り方。 正確には harddisk-less だね。フロッピーディスクはいるから...。

  1. この辺 見ながら、隣のサーバに DHCP, NFS などの設定をする。 私の場合おうちサーバが DHCP, NFS サーバをすでにやってたので 設定ちょっと変えるくらいで済んだ。 あとは書いてある通りにファイルシステムの展開、etc の設定なども する。
  2. カーネルに以下を追加あるいは変更して再構築。
    config  netbsd  root on ne0 type nfs
    options NFS_BOOT_DHCP
    
  3. そのカーネルを loadbsd.x で起動。たぶんこれだけ。
しかし MC68030/25MHz (メモリは 10MB) で全部 NFS だとやっぱり げろげろに遅い...。


2002/06/09

[openblocks] powerpc あたりの ML で墓穴を掘る(笑)。 intio0 は全面的に書き直しの予定なのでまあいいか。

[x68k/hdc] PRO-II にユーザランドが出来たのでずっと 停滞したままの hdc を見てみることにした。 これまではカーネルしかなかったから「起動できない」しか 分からなかったけど、ユーザランドがあるといろいろ試せて便利ねえ。 試してみるとどうも dd, installboot, newfs というあたりは動くようだ。 しかもこれまで mount して死ぬとばかり思ってたが、mount 自体は 出来るもののその直後にディレクトリエントリを見に行って、 1つでもエントリがあると死ぬらしい。newfs 直後に mount して ls しても 大丈夫だった。 うーん、さっぱり分からん。今度は FFS の勉強でも始めないといけないのかな。

[x68k/boot_ufs] なんとなく boos.S の disklabel が 406 byte だったのを修正して commit しておく。 fatal error じゃないので pull up はしなくてもいいんでしょう。


2002/06/10

[MI/bus_space(9)] 今日は bus_space(9) のお勉強。 acorn26 と mac68k だけえらく構造が違うけど、他は おおよそ bus_space が1つだけの port と bus_space が複数ある port との2系統に分けれるっぽい。 つーか mac68k はなんで bus_space_tag_t と bus_space_handle_t の 使いかたが他の port と逆なんだろう。


2002/06/15

[x68k/1.6_BETA2] なんか既存のディスクの sdXd とかが マウントできないらしいけど、こっちにはそんな環境がないので 試せない。disklabel 回りの不整合なのかな。だとすると面倒そう。 1.5 系をインストールしないといけないのかあ。

[x68k/sysinst] そのためにいろいろインストールしてたら sysinst.fs に /dev/sram を入れ忘れてる (というか distrib の 再編の時に私が落した) のに気付いたので、そのための修正する。 けど sd7 はどうすべかなあ。うーん、リリースとなると大変。 まあでも気付いてよかった。


2002/06/16

[1.6B] なんか LFS 絡みで 1.6B になったらしい。

[MI/MAKEDEV] 墓穴掘りついでに某所で調べたのでなんとなく載せておく。 各 port の MAKEDEV all ってやった時に作ってくれる sd? の違い。

なし? dreamcast, evbsh3
sd0 だけ luna68k
sd1 までacorn26, hpcsh
sd2 までhp300, macppc, mvme68k
sd3 まで acorn32, cats, cobalt, evbarm, hpcarm, mac68k, mipsco, netwinder, news68k, newsmips, next68k, pc532, sbmips, sgimips, shark, vax
sd4 まで algor, alpha, arc, bebox, evbmips, hpcmips, i386, mmeye mvme68k, pmppc, prep, sandpoint, sparc, sparc64, walnut
sd6 までhp700, sun2, sun3, x68k
sd7 までpmax
sd9 までamiga, atari


2002/06/18

[etc] おうちの ADSL 用に買ってきた IO-DATA 製の いわゆるブロードバンドルータがあまりにおバカで使いものにならないので、 とうとう NetBSD/x68k を NFS 起動させてから ADSL ルータをやらせることにした。 うーん、大枚はたいて Nereid 2麻衣買っといてよかった (たぶん間違い)。 これなら (static NAT っていうのかな) ssh だけ外から抜いたりしなくても こいつ自身に ssh で入れるしね (MC68030/25MHz なので激遅だろうけど)。 あと、会社にいてもおうちアドレスが変わったことのお知らせとかに 苦労しなくても、こいつ自身がメール飛ばせるからね (今は飛ばしてないけど)。 うーん、便利...なのか? でも起動時に半分以上の確率で人の手が必要だから、停電されると復旧は たぶん無理。これから雷の時期なのでその辺もなんとかしたいところ。 やっぱ OpenBlockSS 買えってことか。


2002/06/22

[etc] そりゃまあ勝手に変更しないに越したことはないけど、 別に悪気がある訳でもないだろうし、お互い NetBSD をよりよくしようと 思ってやってることだし (そうじゃなきゃ別に OpenBSD 使ってるよね)、 そりゃあのクラスの人でも間違うことだって 知らないことだってあるだろう。だからいろんな人が集まってるわけで。 それでやる気がおきないとか commit しないとかいうのは commiter としてどうかと思うなあ。子どもじゃあるまいし。 NetBSD コミュニティに貢献しようという気はないんだろうか。 まあ、commit さえすればいいってもんじゃないってのはそうだけど。 でもそのための -current なんだし、変更されたら別に「おいおい」って 突っ込めばいいだけちゃうかな。ましてや相手と母国語で会話ができるんなら。 まあ、あのクラスの人達にとっちゃどっちが母国語だか分からんけど(笑)。

最下級 commiter の私がいうことでもないけど。だからこうやって独り言なんだけど。 あと、そんな潔癖症なこと言ってたら x68k port なんて CVS tree から抹消しないといけないくらい汚いよね。

全然 NetBSD じゃなくなってきたけど。誰がどこの人だかは知らないけど、 関東人にはボケとかツッコミとかオチとかいう文化がないから こういう時に面倒なのよね。

[x68k/NFSROOT] NFSROOT とはいうものの、なんのための NFS 起動か といえば hdc0 の実験のためなので、当然カーネルには scsibus* が 入ってたわけだが、最近の PRO-II 君は ADSL ルータにされているので しばらく hdc0 の実験はしない。そこで scsibus* も抜いたカーネルを 作ってみたところ、リンク時にエラーが出た。どうも NetBSD/x68k の起動時は SCSI が前提なので scsibus* なしで起動することは出来なかった らしい。とりあえず adhoc に修正して X68k ML に投げたところみのうらさんから OK をもらったので、commit して pull up request も出しておく。

[x68k/tvctrl] X68k 付属ディスプレイのリモコンの電池が切れたのか お亡くなりになってしまったらしく、ディスプレイの電源が切れなくなってしまった。 そこで tvctrl(1) なるものを初めて使ってみることにしたが、ioctl でエラーが 出てしまう。むう。とか思って X68k ML に報告すると、みのうらさんから 「コンソールじゃないと動かんよ」と言われてしまった。あぅ。 確かに...。

でもコンソールだとエラーはでないけど、何もおきないのはどうしてだろう。 あと電池入れ換えたのにリモコン効かないからほんとにリモコンか受光部が お亡くなりになったのかなあ。


2002/06/24

[x68k/clock] なんか clock.c が変な定数決め打ちしてるのを やめてけれ、とペリーさんが言っている、ように読める...。 なんか黒船みたいだ。(ぉ


2002/06/25

[x68k/NFSROOT] scsibus* 抜きカーネルでの修正が pull up されてた。

[x68k/sysinst] ついでに /dev/sram の修正も pull up されてた。あれでよかったのかなあ。ちょっと不安だけど、まあ lukem さんの 得意分野(?)だから大丈夫だったんでしょう。

近いうちに MAKEDEV の sd? の数が違う話をどっかでしてみようかな。


2002/06/30

[MI/ipnat] ADSL を導入して1カ月ほど気付かずに生活してたが、 ご他聞にもれず、うちでも見れないウェブページが時々あるのが気になりだした。 ふかうみさんの [netbsd,07500] を見ておうちルータの ipnat.conf に mssclamp 入れてさくっと解決。

map pppoe0 192.168.0.0/24 -> 0.0.0.0/32 proxy port ftp ftp/tcp
map pppoe0 192.168.0.0/24 -> 0.0.0.0/32 portmap tcp/udp 40000:60000
map pppoe0 192.168.0.0/24 -> 0.0.0.0/32 mssclamp 1414

[MI/ipnat] ついでに外からおうちのサーバに ssh したい時に使うやつ。

rdr pppoe0 0.0.0.0/0 port 22 -> 192.168.0.xx port 22 tcp

≪ 2002年5月 | 2002年7月 ≫
井崎のホームページへ戻る
isaki@NetBSD.org / isaki@x68k.net