FreeBSD(98) の開発について

$Date: 2001/05/01 16:01:00 $
_________________________________________________________________

このドキュメントを運用した結果に関し、FreeBSD(98) 移植関係者および筆者
は一切責任を負いません。

1. FreeBSD(98) の開発計画を知るにはどこにたずねたらいいですか?

FreeBSD(98) 移植チームは、すでにリリースされたもの以外の公開時期をまっ
たく知りません。いつまでに次のリリースを出すかといったことはまったくわ
かりません。もちろん、PC/AT 版のリリースにあわせ、常に最新版の公開に向
けて作業を行なっていますが、公開時期を事前に約束することはできません。
完成した時が公開時期です。

PC/AT 版との同時リリースには、PC-98 固有のソースコードを完全に PC/AT 版
のソースツリーにマージすることが重要です。現在は、kernel のマージは、ほ
ぼ完了しているのですが、userland (fdisk や vidcontrol 等) および
release (インストーラ) は不完全です。また、インストーラのテストやドキュ
メントの日本語訳の時間等も必要となります。
リリースまでの時間短縮のため、より多くの開発協力者を募集します。

2. FreeBSD(98) の開発のお手伝いをしたいのですが、どこに連絡すれば良いでし
ょうか?

移植チームは慢性的に人手不足なので、移植のお手伝いをしたいという方は大
歓迎です。移植チームへ参加を希望される方は、
<URL:mailto:FreeBSD98-hackers@jp.freebsd.org> に入会希望であることを明
記し、簡単な自己紹介を書いたメールを送って下さい。このアドレスは移植チ
ームの Mailing List そのものなので、"help" や "subscribe" とだけ書かれ
たメールを送られても何もできません。
また、この Mailing List は、開発作業に参加して頂けると判断できる方のみ
を新規登録しています。現在の開発体制では、メンバが相互に顔を突き合わせ
ることがほとんどありません。したがって、まったく実績のない方の場合には、
移植チームとしても判断が付きかねますので、なるべく FreeBSD98-testers ML
への参加や、移植チームへのパッチ/情報提供で実績を積むといった方法を取
って頂けると幸いです。

また、移植チームへの寄付等の相談は、
<URL:mailto:FreeBSD98-core@jp.freebsd.org> で受け付けています。ハードウ
ェアメーカからの技術情報の提供の申し出もあると嬉しいです。

なお、X Window System については、FreeBSD(98) と一緒に配布されることが
多いのですが、開発は X98 core team という別プロジェクトで行われています。
未対応のビデオボードのサーバを開発したい等、X 関連の開発の協力の申し出
は、<URL:mailto:x98@mech.titech.ac.jp> までお願いします。

3. FreeBSD(98) の開発で特に必要とされる作業は何ですか?

以下のような作業をして頂ける方を特に募集しています。詳細は、移植チーム
<URL:mailto:FreeBSD98-hackers@jp.freebsd.org> へメールで問い合わせて下
さい。また、これ以外にもバグレポートや動作テスト等、さまざまな点で協力
者が必要です。

ビルド担当者
FreeBSD(98) をリリースするためには、その膨大なソースコードをコン
パイルしてバイナリパッケージを作成する必要があります。これをビル
ドといいますが、当然 CPU が速くメモリや HD の容量が大きいほど作
業が早く済み、結果として速やかなリリースが可能となります。

FreeBSD(98)-current 開発者
5.0-current といわれる、FreeBSD-5.0 となるべく開発されているソー
スツリーです。4.0-current 時代同様、ダイナミックな変更が入ること
が予想され、開発には手間がかかります。FreeBSD(98)-current とは何
ですか?も参照して下さい。

RELENG_4ブランチ開発者
4-stable と呼ばれていて、次の FreeBSD 4.x となるブランチです。現
在の FreeBSD は、5.0-current と 4-stable の 2 本立てです。
current には新機能が追加されていくので,stable ブランチと
current の差はどんどん大きくなっていきます。従って、4-stable の
ほうに対しても PC-98 対応のコードを維持する作業が別途必要です。

新規デバイスドライバ開発者
FreeBSD(98) で対応していない周辺機器が、まだまだたくさんあります。
これらのデバイスドライバは、その周辺機器を持っている方自身が開発
作業をして頂けるのが一番です。特に、同じチップを使ったボードのド
ライバが既にあるといった場合は、そのドライバをベースに、ほんの少
しの変更で使用可能となることがありますし、そのデバイスが PCI バ
スの場合は、PC/AT のドライバそのもので動作する可能性が高いです。
また、NetBSD/pc98 では、FreeBSD(98) よりも多くの周辺機器に対応し
ていますので、NetBSD/pc98 からドライバを移植するという方法もあり
ます。

各種ドキュメント更新担当者
現在の人手不足の状況では、どうしてもカーネル等のソースコードをい
じる作業が優先され、ドキュメントの修正は二の次になりがちです。さ
らに、LINT や ERRATA への PC-98 固有事情のフォローも出来ていませ
ん。そこで、FreeBSD(98) 付属のドキュメントを、現状にあった内容に
更新して頂けると幸いです。また、ここは説明不足だとか、もっと別な
表現をすれば誤解が防げる等といったような意味での修正も必要でしょ
う。これらの作業を行うための FreeBSD98-doc メーリングリスト
<URL:mailto:FreeBSD98-doc@jp.freebsd.org> があります。

FreeBSD(98) 公式 WWW ページ作成担当者
移植チームでは、FreeBSD(98) 公式 WWW ページを
<URL:http://www.jp.freebsd.org/pc98/> で公開していますが、そのコ
ンテンツ (内容) を作成/保守して下さる方を募集しています。上記ド
キュメント更新同様 FreeBSD98-doc メーリングリスト
<URL:mailto:FreeBSD98-doc@jp.freebsd.org> で作業を行っています。

4. current や stable を追っかけていないと、開発に協力できないのですか?

そんなことはありません。既にリリースされているものをベースにしても開発
作業はできますし、実際そのようにして開発している方もいます。ただし、そ
の場合は、自分が変更した内容が current や stable に対しても有効かどうか、
ソースを anonymous FTP 等で取り寄せてチェックして頂けると幸いです。

5. FreeBSD(98)-current とは何ですか?

FreeBSD(98) 移植チームは、FreeBSD-current ベースの FreeBSD(98) を公開し
ています。これは、現時点での最新版のソースツリーであり、自力でカーネル
を含む全システムをコンパイルすることによって入手するものです。決してバ
グフィックス版ではありません。また、常にその内容が変化しているため、安
定動作しないことや最悪コンパイルすらできないこともあり得ます。

FreeBSD(98)-current では、FreeBSD-current で PC/AT 用に行われた変更を、
PC-98 に適応して同期をとるという作業が行われます。しかし、作業者が使用
していないデバイスや機能に関しては、仮に作業ミスがあったとしても気が付
かないことがあります。従って、なるべく多くの方が FreeBSD(98)-current を
入手し、その作業を分担して頂けると、スムーズな開発が行われることになり
ます。これが FreeBSD(98)-current を一般に公開している理由です。

本家に 98 用のソースがマージされてるので 98 用のパッチのあたったソース
を用意しなくても 98 用のバイナリを作成することが可能です。

したがって、FreeBSD(98)-current は、本家の current と同様、Anonymous
CVS、CVSup 及び CTM によって入手することが可能です。

ソースツリーを current ベースにした後は、ハンドブック
<URL:http://www.jp.freebsd.org/www.FreeBSD.org/ja/handbook/makeworld.html>
に従い、make world を実行します。

また、current ベースを使用される場合は、本家の freebsd-current ML を購
読されることを強くお勧めします。

6. FreeBSD(98) の開発で困っていることは何ですか?

以下のものに関する知識をお持ちの方は、是非開発への協力または情報の提供
をお願いします。

NEC 55 ボード用ドライバの CAM 対応
3.0 以降、CAM に対応していない SCSI の物理層ドライバは使用できな
くなったため、bs ドライバの保守が難しい状況になっています。現在
は、通常使用には問題ない程度にはなっていますが、初期化やエラー処
理周りは十分とは言えません。特に、MO や CD-ROM などのリムーバブ
ルメディアを扱うドライブについて、メディアを挿入していない場合、
デバイスの認識に失敗するという問題があり、これは INQUIRY か
READ_CAPACITY でのエラーハンドリングが不完全である可能性が高いで
す。
現時点では、開発元の NetBSD/pc98 では既に obsolete となっている
bs ドライバよりも、ct ドライバを CAM 化して移植したほうが有利と
の判断で、その方向性で作業が進められています。

boot1, boot2 の ELF 対応
boot1 および boot2 が ELF に未対応なため、/boot/loader を経由せ
ずに ELF な kernel を boot する手段がありません。

NEWBUS 対応
PC-98 特有の不連続 I/O ポートをリソースマネージャで管理する方法
は、ほぼ固まったので、今度は各々のドライバを NEWBUS 化する作業が
必要です。

slice 周り
本家が、mbr を全てのアークテクチャで同一視しているため、PC-98 で
は問題があります。また、devfs も変です。"options SLICE" がなくな
ったので、見かけ上、問題がなくなったかのようになりましたが、隠れ
ただけです。

mss ドライバ
認識に失敗したり、大きなサウンドファイルの再生中に途中で止まるな
ど、複数の障害が報告されていますが、原因はわかっていません。ノー
ト機の suspend/resume 対応と合わせて newpcm ドライバへ移行すべき
と思われます。現在、98testers MLで newpcm ドライバに対応するため
のパッチを評価中です。

EPSON_BOUNCEDMA
"options BOUNCE_BUFFERS" が廃止されたので、それに依存していた
"options EPSON_BOUNCEDMA" が働かなくなってしまいました。この他に
も、EPSON 機固有のコードは、最近メンテされていないものが多いので、
全体的な見直しが必要と思われます。

SMP 対応
試験的な実装で、RvII26 での動作が確認されました。次はコードのブ
ラッシュアップをするべきですが、作業に取りかかれていません。

HYPERMEMORY サポート
MELCO の HYPERMEMORY のうち、options MAXMEM だけで対応できないタ
イプのものについては、非公式パッチが存在していますが、3.x での動
作報告が少ないうえに、現在、取りまとめ役が不在のため、マージ作業
が行われていません。なお、今の FreeBSD(98) は 3 stage boot にな
ったので、kernel が動く前にデバイスの機能を活性化させる等といっ
た小細工が、2.2.x 時代よりも、やりやすくなっています。

IND-S/RSA-98 対応
3.1 から採用された新しい sio ドライバには、これらのボードの対応
コードが含まれていますが、正常に動作しないようです。

30LINES
ほとんどメンテナンスされていません。また、X サーバ終了時の障害回
避という、本来の目的とは異なる用途で使われることが多いです。
vidcontrol(1) コマンドとの関係など、見直すべき点が多くあります。
現在、98testers ML でそれらの問題を解決するパッチを評価中です。

X と syscons の相性 ?
特定の X サーバにおいて、syscons でのスクリーンセーバが起動され
る時間になるとフリーズするという報告がありますが、X と
FreeBSD(98) の両方にまたがっていること、また、その後 syscons が
大幅に改定されたため、現在でも起こり得るかどうかを含め、検証およ
び解析が進んでいません。

boot マネージャ
現在の boot コードが NEC 純正の固定ディスク起動メニューの仕様に
依存しているらしく、サードパーティ製の boot マネージャでは boot
出来ないことがあるのですが、具体的にどこが問題か分からないので、
改善しようがない状態です。また、現状では、boot マネージャのイン
ストールのために、どうしても DOS または Windows でのフォーマット
が必要です。FreeBSD(98) にも、DOS/Windows に依存しない free な
boot マネージャが欲しいところです。
現在、98bs という BSD Copyright な boot マネージャが 98testers
ML で評価中ですが、その性質上、問題が発生した場合には何もできな
くなるという類のものですので、十分なテストが必要です。また、
Linux/98 には grub/98 という boot マネージャがあり、これは
FreeBSD(98) も boot 可能ということですが、まだ完全に固定ディスク
起動メニューの代わりとするところまでは至ってないようです。

パーティションエディタ
PC/AT では、fips というツールまたは市販のパーティションエディタ
で、既に導入されている DOS や Windows の再インストールなしに、空
きパーティションを作ることが出来ます。しかし、PC-98 には、市販品
を含めてもそのようなツールが存在しないので、空きパーティションの
確保のために、HD のフォーマットと OS の再インストールが必要とな
ることが多々あります。fips の PC-98 版があれば、このような作業を
する必要がないことから、FreeBSD(98) 等のインストールに対する敷居
がより低くなるものと思われます。
----
FreeBSD(98) 移植チーム

[戻る]