CONTURA AERO FreeBSD 2.2.5-RELEASE カーネル再構築日記
					27 Dec. 97 -- Rev. 1
					08 Jan. 98 -- Rev. 2 公開版
					27 Jan. 98 -- Rev. 3 EUC化
					13 Feb. 98 -- Rev. 4 バグ修正(1)
					30 Jun. 98 -- Rev. 5 バグ修正(2)

◆目次
・はじめに用意するものカーネル再構築
・おわりに

◆はじめに
・COMPAQ CONTURA AERO 4/33CでFreeBSD 2.2.5-RELEASEのカーネル再構築を
  行ったときの覚え書きです.
・COMPAQ CONTURA AEROはGENERICカーネルではシリアルとAPMが使えません.
  そこで,これらの機能を使いたいならカーネル再構築をしてやる必要があります. 
  同じ事をやってみたからといって,カーネルの再構築がうまくいくことを
  保証するものではありません.あしからず.
・FreeBSD 2.2.5-RELEASEのインストールに関してはこちら

◆用意するもの
・FreeBSD2.2.5-RELEASEのカーネルソース
・PAO-971211.tar.gz(こちらから入手できます)

◆カーネル再構築(rootアカウントで行います)
・/usr/src/PAO-971211/2.2.5-RELEASE/READMEを読みます.
・PAO-971211.tar.gzを/usr/srcに展開します.(READMEの1)
  # cd [PAO-971211.tar.gzを置いてあるディレクトリ]
  # /usr/bin/tar zxvf PAO-971211.tar.gz -C /usr/src
・カーネルソースのバックアップをします.(READMEの2)
  # cd /usr/src
  # mkdir sys.ORG
  # cd sys.ORG
  # (chdir ../sys ; /usr/bin/tar cf - .) | /usr/bin/tar xvf -
・カーネルパッチをあてます.(READMEの3)
  # cd /usr/src
  # /usr/bin/patch -p0 < PAO-971211/2.2.5-RELEASE/sys.patch >& result
・いくつかのincludeファイルをコピーします.(READMEの4,5)
  # cd /usr/src/sys/i386/include
  # cp apm_bios.h clock.h scc.h wavelan.h /usr/include/machine
  # cp /usr/src/sys/pccard/*.h /usr/include/pccard
・カーネルのコンフィギュレーションファイル(/usr/src/sys/i386/conf/AERO)を編集します.(READMEの6)
  (編集済のファイルはこちら)

  ちなみに,増設メモリによって以下のオプションをかえる必要があります.
  (16MB以上の増設の場合は必須.GENERICカーネルでは16MBまでしか認識してくれません)
	options		"MAXMEM=(20*1024)"	# 20MBに増設
	options		"MAXMEM=(12*1024)"	# 12MBに増設
	options		"MAXMEM=(8*1024)"	#  8MBに増設

  CONTURA AEROでAPM(Advanced Power Management)とシリアル(sio0)を利用するために
  /usr/src/sys/i386/apm/apm.cと/usr/src/sys/i386/isa/sio.cにパッチをあてます.
  (パッチ済のapm.cはこちら,sio.cはこちら)
  APMのパッチはこちら(apm.pat),sio.cのパッチはこちら(sio.pat)
  ちなみにこのパッチは/usr/src/sysで以下のようにして当ててください.
  # cd /usr/src/sys
  # patch -p0 < sio.pat
  # patch -p0 < apm.pat
・カーネルの再構築を行います.50分ほどかかります.(READMEの7)
  # cd /usr/src/sys/i386/conf
  # config AERO
  # cd ../../compile/AERO
  # make depend ; make ; make install
・途中でerror等でstopしなければ,カーネル再構築は成功です.
・shutdownとapmを入れ替えます.(READMEの8)
  # cd /usr/src/PAO-971211/usr.sbin
  # make ; make install
  # cd /usr/src/PAO-971211/sbin
  # make ; make install
・pccard0とapmのデバイスをつくります.(READMEの9)
  # cd /dev
  # sh MAKEDEV card0
  # sh MAKEDEV apm
・/etc/rc.confをvi,mule等で編集します.(READMEの10)
  # cp /etc/rc.conf /etc/rc.conf.orig
  (編集済のファイルはこちらですが,ネットワーク等の設定は各自でどうぞ)
・以上でカーネル再構築は終わりです.
  # shutdown -r now でリブートします.
  # dmesg | more でapm,sioが認識されているかを確かめましょう.
  (sio0 not found at 0x3f8-0x3ffと出ていたらprobeに失敗しています)
  ちなみに以下の画面ではPCカードモデムを挿入していないため,sio2のprobeに失敗しています.
Copyright (c) 1992-1997 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
     The Regents of the University of California. All rights reserved.          
FreeBSD 2.2.5-RELEASE #0: Tue Dec 23 18:16:38 JST 1997
    root@aero.hoge.ne.jp:/usr/src/sys/compile/AERO
CPU: i486 SX (486-class CPU)
 Origin = "GenuineIntel" Id = 0x42b Stepping=11
 Features=0x2<VME>
real memory = 20971520 (20480K bytes)
avail memory = 18554880 (18120K bytes)
Initializing PC-card drivers: ep sio wdc
Probing for devices on ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <16 virtual consoles ,flags=0x0>
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio2 not found at 0x3e8
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
psm0 at 0x60-0x64 irq 12 on motherboard
psm0: device ID 0
fdc0 at 0x3f0-0x3f7 irq6 drq2 on isa
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (wd0): <TOSHIBA MK1301MAV>
wd0: 1295MB (2654064 sectors), 2633 cyls,16 heads, 63 S/T, 512 B/S
ep0 not found at 0x300
npx0 on motherboard
npx0: 387 emulator
apm0 on isa
apm: found APM BIOS version 1.1
crd: ctlr(0) VLSI 82C146 (5 mem & 2 I/O windows)
pcic: controller I/O address 0x3e0
pcic: controller irq 10 (shared)
・apmを使ってみましょう.
  # apmconf -e (APM機能のイネーブル)
  電源ボタン(赤紫色のボタン)を押します.
  電源ボタンを押して,メッセージとともに復帰できれば正常です.
  復帰直後に再度サスペンドするようなら,うまくいっていません.
  # zzz
  電源ボタンと同様にサスペンドします.
  復帰させるには電源ボタンを押します.
・シリアルを使ってみましょう.
  RS232Cクロスケーブルを利用して他のPCに接続します.
  /etc/ttysに以下のエントリを追加します.
  cuaa0 "/usr/libexec/getty std.9600" vt100 on insecure
  # kill -HUP 1 でttysの変更をイネーブルにします.
  他のPCにRS232Cのクロスケーブルを接続します.
	ターミナルソフト(Windows95であればハイパーターミナルやTeraTerm
	などで,ボーレート9600,8bit ノンパリ,1 stop bitで接続し,
	接続したPC側のターミナルソフトに以下の画面が出れば成功です.

FreeBSD (aero.hoge.hoge-net.ne.jp) (cuaa0)
login: _
                                                                                



















◆おわりに
・以上でカーネル再構築は終わりです.
・なお,ここに挙げた情報はBSD-nomad-MLからの情報をまとめたものです.

Special Thanks to
	ほそかわ たつみ さん
	はまだ なおき さん
	みつなが のりあき さん
	その他 BSD-nomad-MLの方々


Copyright (C) 1997,1998 Shuichi NAKAMURA All right reserved