Comfortable Life with NetBSD

NetBSD で Mobile!

これは ThinkPad を衝動買いした時の install 日記です。 かなり悪戦苦闘しましたが、無駄なことも多く、参考になるかどうかわかりませんが、 まぁ見てください。

1.3 では PCMCIA は正式にサポートされているので話がちょっとちがいます。 微軟との決別編にまとめましたが、 何にもなしからの install とは違うので参考になるかどうかはわかりません。

ThinkPad(TM) 560E への install

まず下準備です。

  1. ThinkPad を購入する。(^_^)
    私は 308,800 円(税別)で買いました。
  2. 買い足した Memory をくっつける。
    やはりデフォルトの 16MB だと少し不安なので 32MB ほど買い足しました。 ちなみに値段は 18,700円(税別)でした。 インストールは簡単。裏ぶたをくるくるっとあけてカチッとして、 ガァーッとしめてやれば終りです。
  3. メモリが認識されているかチェック!
    F1 キーをおしながら電源を入れ、Easy-Setup 中の test -> memory で きちんと認識されるかチェックしましょう。結構遅くて「凍ったんかぁ?」と ドキドキしましたが無事終了しました。
  4. Network card や modem card を買う
    買ったのは NIC が 3COM 589D で、modem が Panasonic TO-CAF56K です。 電話線やなんやかやを含めて、5万円弱でした。
  5. Win95 をたちあげる。
    ここでの目的はハイバネーションファイルの作り直し、ハードウェアチェックと プレインストールされているいらないものたちを出来る限り消しさることにあります。 最初、Win95 をつかえるまではいくつかのくだらない質問に答える必要が あります。封を開けなくても P/N はわかるので封を*開けずに*マニュアルたちを 手元においておきましょう。
    ハイバネーションファイルの作成方法はものすごーくわかりづらいので きちんとマニュアルを見て下さい。(だってアイコンだけですますねんもん)
    ハイバネーションを行なうためには結局邪悪なものを駆逐できません。 まぁ、どうせ NetBSD 側からマウント出来るはずなので適当にいらなさそうな ものをばんばん消してしまいましょう。
  6. DOS modeでたちあげる。
    次に単一パーティションになっている状態から NetBSD をインストール できるようにするために Win95 のパーティションをちっちゃくしてやります。 fips.exe を取ってきてそれを動かしましょう。 結局私は Win95 に 500MB与えてやることにしました。残りのところを fdisk で*とりあえず*拡張DOS領域にしてやり、リブートを かけた後(なんで、こんなことでいちいちりぶーとせなあかんかなぁ...) フォーマットします。 適当に disk をチェックした後、拡張パーティションを 領域解放します。
    その次に pfdisk.exe でさっき解放した拡張パーティションを NetBSD(ID 165)に与えてやります。シリンダ数、トラック数、セクタ数を メモりましょう。私の場合、それぞれ 1023, 64, 63 でした。ちなみに 実際の値は多分 4096, 16, 63 だと思います。:-) 4シリンダはどこに いったんだろ?
以上で下準備は終了です。

さて、いよいよ真打ち NetBSD の登場です。(^_^)

  1. まだ正式にはサポートされていないので unofficial patches を取ってきます。 .../NetBSD/arch/i386/ap+pcmcia/ のしたに pcmcia-for-current.tar.gz という名前でありますから取ってきませう。最新のパッチは 970723 だったので その時点の current のソースも用意します。
  2. 気持ちが悪いので DESTDIR を設定してまず 970723 時点の NetBSD-current の システムを構築しました。
  3. その環境に chroot してカーネルを作ります。Win の神様のゆうとおり pcmcia card のパラメタを与えてやりました。そのカーネルをのせた ブートフロッピーとラムディスクフロッピーの2枚をつくっていよいよ NetBSD の世界へ羽ばたきます! とりあえず、disk は次のように切りました。
    7 partitions:
    #        size   offset    fstype   [fsize bsize   cpg]
      a:   322560  1024128    4.2BSD     1024  8192    16   # (Cyl.  254 - 333)
      b:   403200  1346688      swap                        # (Cyl.  334 - 433)
      c:  3100608  1024128    unused        0     0         # (Cyl.  254 - 1022)
      d:  4124736        0    unused        0     0         # (Cyl.    0 - 1022)
      e:  1008000  1749888    4.2BSD     1024  8192    16   # (Cyl.  434 - 683)
      f:   560448  2757888    4.2BSD     1024  8192    16   # (Cyl.  684 - 822)
      g:   806400  3318336    4.2BSD     1024  8192    16   # (Cyl.  823 - 1022)
    
    最初の 254 cylinders が Win95 です。
  4. ところが!ネットワークカードが使えません。MAC address まできちんと でていて ifconfig もできるのにぃ.... (;_;) mount して make install の 夢はついはててしまいました...
  5. しかたがありません。Win95なんて使ってられないのでとりあえずシステムを 入れてやる覚悟を決めました。幸いまっさらな環境が出来ているので tar.gz を つくって大昔かのようにインストールすることにします。自分でぶったぎれる分 ましじゃないと自分に言い聞かせながら次のファイルをフロッピーで運びました。
    [tera]/usr/src/NetBSD-pcmcia/usr/src/tars% l
    base12G.aa   base12G.af   comp12G.ad   man12G.aa    ssrc12G.ac   text12G.aa
    base12G.ab   base12G.ag   comp12G.ae   misc12G.aa   ssrc12G.ad
    base12G.ac   comp12G.aa   etc12G.aa    misc12G.ab   ssrc12G.ae
    base12G.ad   comp12G.ab   games12G.aa  ssrc12G.aa   ssrc12G.af
    base12G.ae   comp12G.ac   games12G.ab  ssrc12G.ab   ssrc12G.ag
    
    いよいよ multi user mode での boot です。 記念すべき /var/log/messages の先頭
  6. とりあえず、カーネルのソースまで運んできたので自分で コンパイルが出来るようになりました。 記念すべき tamp の tamp による tamp の為のカーネルの bootup messages.
  7. でも、やっぱりネットワークカードが使えません.... dmesgでも でてくるし、ifconfig で違うメディアにすると、カードの 電気をつけたり消したりできるのに!仕方がないので UUCP で ファイルを転送することを検討しはじめました。:-)
  8. ところが、冷静になって考えると UUCP なんて使ったことは もちろん、使っているのをみたことさえありません。うぅん.... ここは とりあえず、マニュアルをもう一度見直すことにしました。すると真中より 後になったあたり(5-8)に...
        I/O Base Address
        ....
        ....                                                    The
        I/O Base Address range is from 200h to 3A0h and is assigned
        by Card Services.  If you are not using Card Services, the
        default is 300h.
        
    という文章があるじゃないですか!そうです、Win95 では Card Services が あるために、別のアドレスになっているだけで NetBSD ではデフォルト値を 使わないといけないのです。なるほど、kernel configuration file PCMCIA が
    ep0 at pcmciabus? port 0x300 size 0x10 irq 10 slot ?
    となっていたわけです。微軟窓一昨年なんて、信用するもんじゃありません。 気を取り直して kernel の作り直しです。さぁ reboot をかけました。 dmesgもみますか? しかし、pcmcia だと、IO base が違っても MAC address が正しくでてくると いうのは知りませんでした。
  9. ネットワークカードが使えるようになってしまえばもうこっちのもんです。 普通に ifconfig して、 てら/etc/exports を 変更し、てらのディスクを mount してひたすらコピーしました。
  10. でも、X をコンパイルするきにはちょっとなりません。 幸い XFree86 の 3.3.1 の binaries がおちているので取ってきてほどいてやりました。あとは xf86configXF86Configを 作成してやるだけです。こんなXF86Configを 使えばあっさり XF86_SVGA が立ち上がってしまいました。 いまの X の起動画面(30kB). ちなみにバッテリーの状態を示す xbatt を動かすためには TERA patches for applications の 中にあげてあるパッチが必要です。

    XFree86 3.3.2 は上記の XF86Config では動きません。 こっちの 新しいやつをどうぞ。(1998/07/24)

これで、大学に持ってきたら使える環境にはなりました。次は家に持って帰った時に 大学までつながるように設定すればいいだけです。それについては おうちで NetBSD を見てください。

最後に NetBSD で使うときの怪しげな振舞いについてまとめておきましょう。


Return to Comfortable Life With NetBSD

Driven By NetBSD Accesses to this page:


Valid HTML 4.01! tacha@tack.fukui-med.ac.jp
$Tera: mobile_with_NetBSD.html,v 1.2 2001/08/23 09:10:47 tacha Exp $