FreeBSD(98) の開発について

$Date: 2005/01/27 16:07:55 $

このドキュメントを運用した結果に関し、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 メーリングリストFreeBSD98-doc@jp.freebsd.orgがあります。

FreeBSD(98) 公式 WWW ページ作成担当者

移植チームでは、FreeBSD(98) 公式 WWW ページを http://www.jp.freebsd.org/pc98/ で公開していますが、そのコンテンツ (内容) を作成/保守して下さる方を募集しています。上記ドキュメント更新同様 FreeBSD98-doc メーリングリスト 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 を一般に公開している理由です。

より詳しい情報を得るには「最新の FreeBSD(98) を追いかける」を参照してください。

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

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

ata ドライバ

本家はかなり以前に wdc ドライバを廃止し ata ドライバへ移行しまし たが、PC-98 内蔵 IDE インターフェース対応という、本家にとっては かなり異質なコードの扱いをどうするかという問題があり、まだ移行で きていません。
とりあえず動くコードはあり、最近の FreeBSD(98) のリリース版にも 含まれているのですが、実績が不足しています。

NEC 55 ボード用ドライバ

3.0 以降、CAM に対応していない SCSI の物理層ドライバは使用できなくなったため、bs ドライバの保守が難しい状況になっています。現在は、通常使用には問題ない程度にはなっていますが、初期化やエラー処理周りは十分とは言えません。特に、MO や CD-ROM などのリムーバブルメディアを扱うドライブについて、メディアを挿入していない場合、デバイスの認識に失敗するという問題があり、これは INQUIRY か READ_CAPACITY でのエラーハンドリングが不完全である可能性が高いです。

現時点では、開発元の NetBSD/pc98 では既に obsolete となってい る bs ドライバよりも、ct ドライバを CAM 化して移植したほうが有利 との判断で、その方向性で作業が進められています。
とりあえず動くコードはあり、最近の FreeBSD(98) のリリース版にも 含まれているのですが、実績が不足しています。

boot1, boot2 の ELF 対応

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

NEWBUS 対応

PC-98 特有の不連続 I/O ポートをリソースマネージャで管理す る方法は、ほぼ固まったので、今度は各々のドライバを NEWBUS 化する 作業が必要です。
また、本家のリソースマネージャの完成度があまり高くないため PC-98 側に無理がかかっているという側面もあり、リソースマネージャそのも のの仕様を見直すべきではないかという問題もあります。

サウンドドライバ

mss ドライバは認識に失敗したり、大きなサウンドファイルの再生中に 途中で止まるなど、複数の障害が報告されていますが、原因はわかって いません。ノート機の suspend/resume 対応と合わせて newpcm ドライ バへ移行すべきと思われます。現在、98testers MLで newpcm ドライバ に対応するためのパッチを評価中です。
また、本家では newpcm への移行が完了し、OSS/Free 由来の古いサウ ンドドライバ一式が削除されてしまったため、86 音源用の nss ドライ バがまたもや使えなくなってしまいました。サポート復活のためには newpcm のブリッジドライバとして書き直す必要があります。

mecia ドライバ

PC-9801NS/A 等の初期の PC カード対応ノートに使われている PC カー ドコントローラは、MECIA チップという Intel PCIC(i82365)とは互換 性のない独自のものです。
以前は pcic ドライバに対して PC-98 側で独自に対応コードを混ぜて いたのですが、無理があるために mecia ドライバとして分離すること になりました。
まだコンパイルが通る程度の雛型でしかなく、本格的な作業はこれから です。

EPSON_BOUNCEDMA

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

SMP 対応

試験的な実装で、RvII26 での動作が確認されました。次はコー ドのブラッシュアップをするべきですが、作業に取りかかれていません。
また、本家が SMPng へ移行しているため、それへの追従も必要です。

HYPERMEMORY サポート

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

IND-S/RSA-98 対応

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

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) 移植チーム

戻る
www@jp.FreeBSD.org
Copyright (C) 2000-2005 The FreeBSD Project (Japan). All rights reserved.
$Date: 2005/01/27 16:07:55 $