OpenBSD on my libretto

In English In Japanese

OpenBSDをインストール

Linux で libc5 -> libc6 への移行が面倒だったので、OpenBSD-2.3 に 入れ替えた。

OpenBSD-2.3

NetBSDOpenBSD が候補だったが、セキュリティ関係とか、CTM が使 えるということで OpenBSD にした。(でも最近 NetBSD でも CTM が使 えることを発見。ちなみに netbsd.org で CTM とか AnonymousCVSを正 式にサポートしないのは FreeBSD は Net/2 -> 4.4BSD への移 行の際、一からCVS のリポジトリを作り直したのにたいして、NetBSD は作り直さずに移行したからだそうだ。つまり NetBSD では Net/2 のうち配布できなくなったファイルがリポジトリが残って いるということだ。)

インストール方法

OpenBSD、NetBSD 共にインストールに使うブートフロッピは1枚。だが、 私は FDD をもっていないので、休眠中だった ThinkPad 701 に HDDを 付け替えてインストールした。

インストール

インストールはとくに問題もなくまったく順調に終了。 ハイバネーションのための領域もしっかり確保しておいた。

XFree86

XF86Config は Debian で使っていたものを そのまま使用。

PCカード

今のところ OpenBSD、NetBSD ともに Linux や FreeBSD + PAO の ように PC カードの活線挿抜はできない。設定がまだできてない のかもしれないが、 suspend & resume した後 NIC が使えなく なってしまう。 最近、Thorpe さんとか cgd さんといった重鎮たちがこの辺の実装に とりかかっているそうなのでもうすぐ 'correct solution' がでてくる かもしれないなと期待してまっています。

2.3->2.4へアップデート

cd /usr
cvs status -v src/Makefile
      
で tag を確認.
cd $SRCDIR
cvs update -d -r OPENBSD_2_4_BASE -PA src
      
で更新.

2.3には /usr/include/ssl がないので make build に 失敗. /usr/src/lkm/ipl でもコンパイルエラー だけど make -k でしのぐと次の make build からはエラーがなくなっ た.

3CEX589E もしっかり認識して動作する. APA-1460もDoCoMoの データカードもOK.

dhclientも一発で動作. 勝手にresolv.confを書換えてしまうのだった. 元に戻してはくれないのかな.少しはまった.

E-IDEのチューニング(2000-02-15)

IBM の DDLA-21620 は DMA mode をサポートしているので これを有効にできないかどうか調べてみた。

wd*	at wdc? channel ? drive ? flags 0x0000
      

この flags を HDD の仕様書にあるモードに設定しても dmesg を見る限り何も変らないようだ。

結論は、「E-IDE の DMA mode は PCI バスのマシンでしか有効 にできないようだ。」である。

ただ、PIO mode でもチューニングできる設定があった。

カーネルの構成ファイル(?)を以下のように設定する。

wdc0	at isa? port 0x1f0 irq 14 flags 0x01
      
flags 0x00 -> 0x01 にすると 16bit PIO mode -> 32bit PIO mode になる。が体感速度は全然変っていない気がする。

ネットワークの設定 2000-03-07

Libretto70 には PC Card スロットが1つしかないので、localhost 以 外のインタフェースがあることを想定しているソフトウェア(例えば今 はもう使っていないが CDE)を Ehternet Card を刺していないときに 使えなくなってしまう.

この問題は Linux を使っていた頃からあるが、 やっとしっくりくる設定ができたような感じだ。 以前は dhcp を使っていなかったが、今はこれも含めて わりときれいに動作できるようになったと思う。

細かい事を抜きにすれば、「lo0 またはそれ相当のデバイスに 127.0.0.1 以外の IP アドレスをつけてやる。」ということになる。

IP address hostname device memo
127.0.0.1 localhost lo0 特に設定をいじらなくてもOK
10.0.1.1 orange lo0 OpenBSD-2.6 では次のエントリを /etc/ifaliases に 追加した。
lo0	10.0.1.1	255.255.255.255
	    
10.0.0.3 melon ep0 DHCP で IP アドレスを割り当てた場合でも固定アドレスでアク セスしたいことが多いのでそのための設定。 /etc/dhclient.conf に以下を追加した。
alias {
	interface "ep0";
	fixed-address 10.0.0.3;
	option subnet-mask 255.255.255.255;
}
	    
IP アドレスの alias をつけるときなぜ netmask 255.255.255.255 と するのかはよくわからない。
10.0.0.[11-30] dhcp[11-30] ep0 DHCP で割り当てられる IP アドレス。 /etc/dhclient.conf の設定は以下の通り。
interface "ep0" {
	supersede domain-name-servers 127.0.0.1;
}
	    
これはこのマシンの named をネットワークのセカンダリネームサーバに しているため。

というわけで大げさに始まったが、こんな簡単な説明で終わっちまった。 では。また来週!

2000-04-08

東芝テクノセンタ でキーボードを US配列に交換した。 空いていたのか待ち時間は 1 時間半くらいだった。 (もちろん事前に電話で確認はしておいたが。) 預けるときに PC-UNIX 入っていますとは言わなかったので 途中で、「101キーボードドライバをインストールする 必要があるので BIOS のパスワード解除してもいいですか?」と 電話がかかってきた。「PC-UNIXが入っていますのでインストール しなくていいですよ。」といったらすぐに了解してくれた。

さっそく動作チェックしたが、全然問題なし。これで xmodmap の細工 はCAPS LOCK キーを Ctrl として動作させるだけでよくなった。キーの 幅も広くなって以前よりは打ちやすくなってごきげんである。

2000-04-24

HDD を 1月に入手済みの MK6412MAT に換装。dmesg 的には以下のような ドライブである。

wdc0 at isa0 port 0x1f0/8 irq 14
wd0 at wdc0 channel 0 drive 0: <TOSHIBA MK6412MAT>
wd0: can use 32-bit, PIO mode 4
wd0: 16-sector PIO, LBA, 6194MB, 13424 cyl, 15 head, 63 sec, 12685680 sectors
      

あれ? おかしいな。こいつは UltraDMA mode 2 までサポートしている ドライブのはずだが。ちなみに atactl 的には以下のとおり。

Model: TOSHIBA MK6412MAT, Rev: K2.10 B, Serial #: Z9952372A
Device type: ATA, fixed
Cylinders: 13424, heads: 15, sec/track: 63, total sectors: 12685680
Device capabilities:
	IORDY operation
	IORDY disabling
Device supports following standards:
ATA-1 ATA-2 ATA-3 ATA-4 
Command set support:
	NOP command
	READ BUFFER command
	WRITE BUFFER command
	Host Protected Area feature set
	look-ahead
	write cache
	Power Management feature set
	Security Mode feature set
	SMART feature set
	Advanced Power Management feature set
Command sets/features enabled:
	look-ahead
	write cache
	Security Mode feature set
	SMART feature set
	Advanced Power Management feature set
      

う〜む。ATA-4 っつう規格があるのか、すでに。

ジオメトリ関係でつまずくかと思っていたが、簡単にインストールでき てしまった。ちなみにハイバネーションの領域はWindows98 2nd edition の fdisk.exe で libretto でパーティションを切ってみたと ころ90720セクタ = 約46Mバイト確保された。ついでに fdisk と disklabel の出力を載せておこう。fdisk では 12594960 セクタしかな いのに disklabel のほうでは 12595680 ある。つまりこの差 12685680 - 12594960 = 90720 セクタが libretto の BIOS が 自動的に確保するハイバネーション領域というわけ。

js3guj@orange(/var/users/js3guj)$ fdisk wd0
Disk: wd0       geometry: 784/255/63 [12594960 sectors]
Offset: 0       Signatures: 0xAA55,0x0
         Starting        Ending
 #: id  cyl  hd sec -   cyl  hd sec [     start -       size]
-------------------------------------------------------------------------
 0: 00    0   0   0 -     0   0   0 [         0 -          0] unused      
 1: 00    0   0   0 -     0   0   0 [         0 -          0] unused      
 2: 00    0   0   0 -     0   0   0 [         0 -          0] unused      
*3: A6    0   1   1 -   783 254  63 [        63 -   12594897] OpenBSD     
js3guj@orange(/var/users/js3guj)$ 
      
js3guj@orange(/var/users/js3guj)$ disklabel wd0
# /dev/rwd0c:
type: ESDI
disk: ESDI/IDE disk
label: TOSHIBA MK6412MA
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 15
sectors/cylinder: 945
cylinders: 13424
total sectors: 12685680
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0		# microseconds
track-to-track seek: 0	# microseconds
drivedata: 0 

16 partitions:
#        size   offset    fstype   [fsize bsize   cpg]
  a:   196497       63    4.2BSD     1024  8192    16 	# (Cyl.    0*- 207)
  b:   196560   196560      swap                      	# (Cyl.  208 - 415)
  c: 12685680        0    unused        0     0       	# (Cyl.    0 - 13423)
  d:  8388765   393120    4.2BSD     1024  8192    16 	# (Cyl.  416 - 9292)
  e:  3813075  8781885    4.2BSD     1024  8192    16 	# (Cyl. 9293 - 13327)
js3guj@orange(/var/users/js3guj)$ 
      

最初から入っていた IBM DDLA-21620 と比べるとかなり静かなドライブ ある。体感速度も上がったようだ。ただ勝手にスリープしてしまうのは いかん。というか DDLA-21620 がスリープ効かなかったのかもしれない。 これで X のソースとか全部持って歩けるようになった。

2000-04-27

xdm を使っているが、xlogin の画面(?)が出てくるまで 10 数秒かかる。 MMX Pentium 120MHz だとこの程度のものなのかと思っていたが原因は 15bpp の xpm 画像を表示しようとしているからだとわかった。あきら めていたのだが、fj でいただいたフォローを参考に再度調べてつきと めることができた。

# ktrace -id -t n xdm ; kdump -l
      

として見ていると

 23645 xdm      NAMI  "/usr/X11R6/lib/X11/xdm/pixmaps/OpenBSD_15bpp.xpm"
      

のところで時間がかかっていることがわかった。15bpp? そんな色数使っ てたっけ? 4bpp のものを読み込むようにしたら速くなった。

では、また来週!

2000-05-11

16bit audio が使えるようにしてみた。

libretto70 は SoundBlaster 互換でも Windows Sound System 互換で も動かせるらしい。今までは sb(4) を使って 8bit audio のまま使っ ていた。いろいろ試してみたところ 16bit audio を動作させることが できた。

まずは BIOS の設定から

WSS I/O Address =530H
SBPro I/O Address =220H
Synthesizer I/O Address =388H
WSS & SBPro & MPU401 IRQ Level =IRQ11
WSS(Play) DMA =Channel 1
SBPro DMA =Channel 0
Control I/O Adress =370H
MPU401 (MIDI I/F) =330H
      

デフォルトの設定から変えたところは IRQ のみ。

カーネルの構成ファイル。

wss0	at isa? port 0x530 irq 11 drq 1		# Windows Sound System
opl0	at isa? port 0x388	# use only if not attached to sound card
midi*	at pcppi?		# MIDI interface to the PC speaker
midi*	at opl?			# OPL FM synth
audio*  at wss?
      

wss(4) には opl* at wss? もあるが config(8) の時点でエラーになり 設定できない。midi* at wss? も同様。

.au なファイルの再生、midi ファイルの再生も OK のようだ。 mpg123 で .mp3 なファイルを再生してみたが ioctl(2) の呼び出しで 異様に時間がかかっているようで再生が始まるまでに数十秒かかる。ま た mpg123 自体が 50% 近くの CPU 時間を喰い続ける。NetBSD-1.4.2 (Celeron466MHz) では起動はすぐだし、CPU 時間も数%なのでこれは libretto の wss 固有の問題なのだろうか。もしくは MMX Pentium120MHz と Celeron466MHz の差なのだろうか。

2000-11-14

OpenBSD-2.7-stable, つまり OpenBSD-2.7 の patch branch にアップ デートしました.ssh でログインしたまま再起動しようとすると, mfs マウントした /tmp にロックが残ってしまい,ファイルシス テムのアンマウントに失敗して DDB に落ちるというのが頻繁に起こっ ていたのだが,OpenSSH が 2.1.1 -> 2.3.0 に上がったみたいなの で直っているだろうか.

いつも正確なやり方を忘れてしまっているのでここにメモしておきます.

$ su
# CVS_RSH="/usr/bin/ssh"
# [email protected]:/cvs
# CVS_IGNORE_REMOTE_ROOT=1
# export CVS_RSH CVSROOT CVS_IGNORE_REMOTE_ROOT
# cd /usr/src
# cvs -d $CVSROOT -q up -rOPENBSD_2_7 -Pd
# rm -rf /usr/obj/*
# make obj && make build
...
# cd /usr/X11
# cvs -d $CVSROOT -q up -rOPENBSD_2_7 -Pd
# make build
      

2000-12-07

OpenBSD-2.8-stable にアップデートしました.ただいま 2回目の make build 中です.す.

今回もすんなりはいきませんでした.chown, chgrp, chflags が chmod に統合された関係でそのままだと make install でこけます. というわけで今回のアップデートの手順概略です.

  1. cvs でソースをアップデート.前回の更新 の OPENBSD_2_7 というところを OPENBSD_2_8 に替えただけです.
  2. gcc をインストール.これをやらないと make build のあとの 再起動で共有ライブラリを使ったプログラムが動かないそうです. ld もインストールしておいたほうがよいかもしれません.
  3. chmod をインストールします.chown がないといってこけるので # ln /bin/chmod /sbin/chown としてもう一度 make install します.
  4. あとは make obj && make build で OK です.

今回は libc のバージョンがあがっていないので自分でインストールし た xemacs などを再コンパイルせずに済みそうです.2.7 では使えなかった FNW-3600T が使えています.FNW-3700T もIntel EtherExpress PRO/100 もたぶん OK でしょう.

2000-12-08

FNW-3700T と EtherExpress PRO はだめでした.3C574TX は OK.

2000-12-13

ffs_softupdates を有効にしてみました.これイケますねぇ. ですがメイリングリストを見ていると,結構バグバグらしいので 無効にしました.

パフォーマンスといえば,PCI でない IDE でも 規格上は DMA 転送が 可能みたいですね.ただ今からそのためのコードを書こうという人 はいないでしょうけど.

E-IDEのチューニングその2 (2001-04-03)

FAQ によると,PCI IDE でない IDE でも drq を指定してやれば DMA mode が使えるはずだ,とのこと.例ではなぜか drq の指定が ないけど.

というわけで

wdc0	at isa? port 0x1f0 irq 14 drq ? flags 0x01
      

とやってみたけど,drq が割り当てられなかった. 明示的に

wdc0	at isa? port 0x1f0 irq 14 drq 7 flags 0x01
      

などとやると,DMA のチャネルが割り当てられて, `can use DMA mode 2' などと表示されるのですが root ファイルシステムをマウントしようとするところで HDD のアクセスを示す LED が点灯したままハングしてしまいます.

drq は 0, 5, 6, 7 を試してみたけどだめ.(5, 6, 7 は 16bit だから 0 は 8bit だと OK かどうか試すために試行.)

というわけでだめでした.ファームウェアのサポートが必要 なんだろうか...

JDK1.3 for Linux (2001-04-04)

やっと Linux 用の JDK を動作させることができました.

いままでは native thread で起動しようとしてだめだったのですが green thread にすると Swing とか Tomcat とかが特に問題なく 動作しています.ちょっと動作が鈍いような気がしますが.

Linux 用の JDK を何も考えずに /usr/local/jdk1.3 以下に インストールします.(詳しいやり方は忘れてしまいました.) たぶん配布されているシェルスクリプトを実行するだけだった と思います.

$JDK_HOME/bin/.java_wrapper の expr コマンドの path を /emul/linux/usr/bin/expr に書き換えます.

$JDK_HOME/jre/lib/jvm.cfg で -classic を先頭に 持ってきます.(java 関連のコマンド起動時に -classic と指定 しても OK.)

Netscape で日本語 (2001-07-08)

とりあえず使えるようになりました。


Comments, suggestions, and donations are welcome.

Go to index page
Copyright (c) 1999-2003 IKEDA Shigeru. ALL RIGHTS RESERVED.
Last modified $Date: 2003/10/06 10:38:40 $

Valid XHTML 1.0! Valid CSS1!

Hosted by www.Geocities.ws

1