Developers program/lang-ja: Difference between revisions
No edit summary |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
| lang = ja |
| lang = ja |
||
| source = Developers program |
| source = Developers program |
||
| |
| version = 57203}} |
||
{{Ongoing Translation}} |
{{Ongoing Translation}} |
||
{{TOCright}} |
{{TOCright}} |
||
Line 11: | Line 11: | ||
あなたがしようとしていることの多くはエミュレータを使って行うことができる場合が多いです。 |
あなたがしようとしていることの多くはエミュレータを使って行うことができる場合が多いです。 |
||
* あなたのシステム用にエミュレータをダウンロードし走らせるには'''[[ |
* あなたのシステム用にエミュレータをダウンロードし走らせるには'''[[Emulating the XO/lang-ja|エミュレーションのためのOSイメージ]]'''をご覧下さい。エミュレーションには、QEMU, Paralles, そしてVMWareなどの様々な選択肢があります。 |
||
* 個 |
* 個別の[[activities|アクティビティ]]や[[library grid|ライブラリ]]コレクションもダウンロードすることができます。 |
||
* ソースコードの保管場所とバグトラッキングシステムは[http://dev.laptop.org ここ]にあります。 |
* ソースコードの保管場所とバグトラッキングシステムは[http://dev.laptop.org ここ]にあります。 |
||
Line 29: | Line 29: | ||
{{anchor|Introductions and Expectations Setting}} |
{{anchor|Introductions and Expectations Setting}} |
||
==概要と心の準備== |
==概要と心の準備== |
||
OLPCシステムは、おおよそ |
OLPCシステムは、おおよそ5年程前の一般的なラップトップと比べ際立った相違点があります。すなわち、私たちがベースとしているシステムソフトウェアは以前よりもより多くのことができるようになりました。Linux環境は今では以前は手の届かなかったスクリプトの国際化に対応しており、遥かに高品質なレンダリングと、そして何よりもアプリケーションの選択肢が大きく広がりました。 |
||
しかしながら代償もあります。「ムーアの法則」はメモリ |
しかしながら代償もあります。「ムーアの法則」はメモリやCPUの利用において私たちを無頓着にしてしまいました。この状況は利用可能なソフトウェアの「フットプリント(サイズと必要リソース)」に対し難しい選択を迫ることになりました。OLPCラップトップは内蔵ストレージとして512MB(のフラッシュメモリ)しかありません。そしておそらくもっと深刻な制約として128MBしかないRAMとシングルコアプロセッサであることが挙げられます。過去1年以上にわたり、これらの問題に対してOLPCコミュニティはより神経質になってきました。そして作業はこの「膨れ上がる」サイズと全般的な処理効率改善にむけ順調に推移しています。小さいことは良いことです(もちろん速いことも!)。 |
||
私たちが基盤とする技術の選択は、ソフトウェアの能力において、見渡す限り<i>世界的な</i>規模での |
私たちが基盤とする技術の選択は、ソフトウェアの能力において、見渡す限り<i>世界的な</i>規模での「ユーザの使用感」において最も優れたものを達成すると予測されてきました。この思いは私たちにGTK+とPango(そしてグラフィカルユーザインタフェースの基盤としてCairoも含め)を選択させるに至りました。なぜならば、複雑なスクリプト群におけるPangoの処理能力は現在ではフリーソフトウェア技術の中で最も進んだものだからです。もちろんその他のツールキット群も利用可能ですが、特に今日私たちが直面しているローカライズが必要なスクリプト(それらにはタイ語とアラビア語が含まれます)に対し、それらを基盤としたソフトウェア能力ではメモリとフラッシュのサイズに対する代償が大きいのです。従って、私たちのベースシステムの標準的部分にその他のツールキットを含めることは問題を抱えることになり、そして内蔵システムにおける利用感は、複数のツールキットを含めることが、恐らく間違いなく全体的な利用感を損ねることになりかねないということを示しています。 |
||
{{Translated text | |
{{Translated text | |
||
There is a major difference between the OLPC system and a conventional laptop of |
There is a major difference between the OLPC system and a conventional laptop of |
||
Line 45: | Line 45: | ||
{{anchor|BTest Systems}} |
{{anchor|BTest Systems}} |
||
== |
== BTestシステム == |
||
私たちは" |
私たちは"BTest"のために、(3つのビルドの)2つの完全なOLPCラップトップ完成筐体のビルドを作ってきました。 |
||
一般的に外部ベータテストの前に内部的に |
一般的に外部ベータテストの前に内部的に1つないしは2つのビルドを用意します。そして私たちのBTest-1は電気回路の真のベータテストであり、一方アルファテストは新しいスクリーン、タッチパッド、工業デザイン、そしてキーボードのテスト用でした。このプロセスは開発サイクルにおいて通常利用可能になるペースに比べより早いものです。そしてそれに応じて、少々荒いものでもあります。 |
||
BTest-2ハードウェアは電気回路、新しいスクリーン(今回はディフューザーがスクリーンをより改善しています)、そしてタッチパッドのためのベータテストを継続中です。工業デザインに関してはBTest-1に比べほんの少しだけ改善されています。すなわちBTest-1より得られた機構的改善における要改善点はBTest-2では今回は盛り込まれていません。そしてBTest-3ではBTest-1やBTest-2よりも著しく耐環境性に関して向上する見込みです。 |
|||
BTest-1マシーンの開発者プログラムにおける注目点はシステムにおけるスクリーン、タッチパッド、そして/あるいはカメラの使い勝手を知るためのGUIに関係したプロジェクトにおけるソフト開発です。このようなテストはベアPCボードではすぐに確認するにはなかなかやっかいな項目でした。 |
|||
BTest-2の注目点は、メッシュネットワークのテストプロセスを開始することであり、(準備作業は完了はしましたが、これを書いている現時点ではサスペンド・リジューム機能はまだ動作していないのですが)このサスペンド/リジューム機能についても作業を実施しています。 |
|||
マシンはまたプロジェクト最初の |
マシンはまたプロジェクト最初の対象国へ割り当てられる予定ですが、個人のフリーでオープンソースのデベロッパーや、OLPCの目標を拡大することへの貢献に興味を持っている研究組織を狙っていないため、このプログラム下の活動には割り当てられません。 |
||
{{Translated text | |
{{Translated text | |
||
We have had the two builds (of three builds) of full OLPC laptops built, for "BTest". |
We have had the two builds (of three builds) of full OLPC laptops built, for "BTest". |
||
Line 73: | Line 73: | ||
{{anchor|OLPC's Expectations of BTest Users}} |
{{anchor|OLPC's Expectations of BTest Users}} |
||
== |
== BTestユーザに対しOLPCが期待すること== |
||
{{anchor|Read the Release Notes!}} |
{{anchor|Read the Release Notes!}} |
||
===リリースノートをお読みください!=== |
===リリースノートをお読みください!=== |
||
BTest-1ビルドは配布が完了しています。[[BTest-1 Release Notes|BTest-1リリースノート]]にこのマシーンの位置づけが述べられています。 |
|||
BTest-2ビルドは(2007年)2月12日に配布が開始されます。[[BTest-2 Release Notes|BTest-2リリースノート]]にこのマシーンの位置づけが述べられています。BTest-4ビルドは6月下旬に完成しました。そしてこれらの改善されたシステムの配布が始まっています。まず最初に開発者、そしてTraial-2ソフトウェアの準備ができ次第、その後の評価のために配布される予定です。 |
|||
ソフトウェアは |
ソフトウェアはBTest-1, BTest-2,そしてATestボードで走る予定です。詳しくは[[OLPC Software Release Notes|OLPCソフトウェアリリースノート]]をご覧下さい。 |
||
{{Translated text | |
{{Translated text | |
||
The BTest-1 build has been distributed: the [[BTest-1 Release Notes]] describes the state of the first build of machines. |
The BTest-1 build has been distributed: the [[BTest-1 Release Notes]] describes the state of the first build of machines. |
||
Line 92: | Line 92: | ||
===バグのレポート方法=== |
===バグのレポート方法=== |
||
私たちのプロセスは完全にオープンなものであることにご注意下さい。商品の |
私たちのプロセスは完全にオープンなものであることにご注意下さい。商品の「一般の」ベータテストプログラムでは、秘密保持契約への署名を求められ、そしてあなたが直面したいかなる問題、あるいはあなた以外のベータテスターが経験したであろう問題に気が付いたとしても、それらについて秘密厳守を求められてきたことと思います。普通、このようなハードウェアベータテストは、ここで行われてきたものよりもより厳密なテストが完了した後に行われるものです。 |
||
初期ベータテストハードウェアとはその後のベータテストや製品ハードウェアに比べハードウェア障害発生の確率が格段に高いことを意味します。また設計に関してはその他様々なテスト項目と共に温度上昇、寒冷地、振動、衝撃、そして湿度といった負荷試験が進行中のものです。 |
初期ベータテストハードウェアとはその後のベータテストや製品ハードウェアに比べハードウェア障害発生の確率が格段に高いことを意味します。また設計に関してはその他様々なテスト項目と共に温度上昇、寒冷地、振動、衝撃、そして湿度といった負荷試験が進行中のものです。 |
||
机上では構成が良くとも、コンポーネント自身の設計上の欠陥やその利用方法の両方に置いて実際にはうまく動かないかもしれません。ベータテストはまた異なる製造者のコンポーネントに対して用いられるものです。より多くの製品個数が利用可能な場合は常に、コンポーネントは"複数の製造メーカから調達され",そして異なる製造メーカからの同種の部分についてコンパチビリティテストが実施されます。これは製造開始後特定の製造メーカに問題が発覚しても代替メーカが利用可能であるかどうかという安定供給を確認するためです。私たちのハードウェアに関して |
机上では構成が良くとも、コンポーネント自身の設計上の欠陥やその利用方法の両方に置いて実際にはうまく動かないかもしれません。ベータテストはまた異なる製造者のコンポーネントに対して用いられるものです。より多くの製品個数が利用可能な場合は常に、コンポーネントは"複数の製造メーカから調達され",そして異なる製造メーカからの同種の部分についてコンパチビリティテストが実施されます。これは製造開始後特定の製造メーカに問題が発覚しても代替メーカが利用可能であるかどうかという安定供給を確認するためです。私たちのハードウェアに関して2, 3の例を挙げるならば、例えば、カメラ供給メーカ、RAM供給メーカ、PCB供給メーカといったものです。例えば、ATestボードにおいては、私たちは製造に置いて利用したくないいくつかのコンポーネントを見つけました。そして私たちはBTestを通して同様な問題に遭遇する可能性があります。コンポーネントの設計は新しいかもしれません。そしてそれ自身に依存した設計があるかもしれませんし、製造メーカが解決すべき問題があるかもしれません。(例えばライティングパッドにおける下記に記す問題のように。)組み立て時に問題が作りこまれる可能性もあります。問題は設計にあるいはコンポーネントの選択にもありえます。コンポーネントの特定ロットに欠陥があるかもしれません。ベータテストの目的は、特に大量生産される製品について、大量生産を開始するかなり前の段階でこのような種々の問題を見つけ出し、欠陥を完全に解析し、そして、個々の欠陥について直接的原因を理解することで製品ユニットにおいてこれらの問題を排除・防御することにあります。もしあながたハードウェアの問題に直面したら、OLPCは障害解析のために直ちにマシンの返却を求めるでしょう。私たちは代替マシンを大至急あなたに届けるべく最大限の努力をします。 |
||
私たちはあなたが[http://dev.laptop.org/ バグ追跡システム]に新しいハードウェア・ソフトウェアの問題について直ちに書き込むことを期待しています。それによって問題は追跡され解決されます。その際にはあなたが使っているファームウェアバージョン |
私たちはあなたが[http://dev.laptop.org/ バグ追跡システム]に新しいハードウェア・ソフトウェアの問題について直ちに書き込むことを期待しています。それによって問題は追跡され解決されます。その際にはあなたが使っているファームウェアバージョン(ファームウェアバージョンは電源投入時の表示2行目に表示されます。例えば "OpenFirmware CL1 QA62 Q2A"という表示ならば、QA64がファームウェアバージョンです)、オペレーティングシステムビルドナンバー(ブートプロセスの最後に表示されます)、そしてあなたのマシンのシリアル番号(バッテリーの下に表示してあります)を含めてください。この情報が、私たちが問題を解析し解決することに役立ちます。 |
||
同じバグの入力は避けられないとは思いますが、同様な問題がすでに報告されていないかどうかまず検索をしていただけると非常に助かります。あなたが問題に遭遇したり、あるいはどれくらいの頻度で発生するかを私たちが知らなければ問題の解決しようがありません。すなわち、明らかに、ある別の問題と同じ問題に遭遇したならば、どのくらい頻繁にそれが発生するのか、あるいはあなたが気が付いたその他追加情報を知ることが非常に役立ちます。なるべく少なく、ではなくなるべく多く問題についてレポートするようにしてください。バグについてのレポートやコメントの中からあるパターンが浮かび上がってくるかもしれません。あるいは問題がどれだけ深刻であるかについてより良い新しいアイデアが生まれるかもしれませんし、その解決のためによりよい優先順位付けをすることが可能かも知れません。<i>バグとは良いものなのです。</i>個々のバグは後になって修正するよりも、直ちに直すほうがより簡単です。 |
同じバグの入力は避けられないとは思いますが、同様な問題がすでに報告されていないかどうかまず検索をしていただけると非常に助かります。あなたが問題に遭遇したり、あるいはどれくらいの頻度で発生するかを私たちが知らなければ問題の解決しようがありません。すなわち、明らかに、ある別の問題と同じ問題に遭遇したならば、どのくらい頻繁にそれが発生するのか、あるいはあなたが気が付いたその他追加情報を知ることが非常に役立ちます。なるべく少なく、ではなくなるべく多く問題についてレポートするようにしてください。バグについてのレポートやコメントの中からあるパターンが浮かび上がってくるかもしれません。あるいは問題がどれだけ深刻であるかについてより良い新しいアイデアが生まれるかもしれませんし、その解決のためによりよい優先順位付けをすることが可能かも知れません。<i>バグとは良いものなのです。</i>個々のバグは後になって修正するよりも、直ちに直すほうがより簡単です。 |
||
Line 119: | Line 119: | ||
{{anchor|User's guide to the hardware}} |
{{anchor|User's guide to the hardware}} |
||
==ハードウェアについてのユーザガイド== |
==ハードウェアについてのユーザガイド== |
||
[[Image:ebookdrawing75c.png|thumb|right| |
[[Image:ebookdrawing75c.png|thumb|right|電子ブック全体構成]] |
||
[[Image:drawing75c.jpg|thumb|right|機能ラベルが記されたXOラップトップ構成]] |
[[Image:drawing75c.jpg|thumb|right|機能ラベルが記されたXOラップトップ構成]] |
||
Line 125: | Line 125: | ||
[[Image:bottomdrawing.jpg|thumb|right|底面の様子]] |
[[Image:bottomdrawing.jpg|thumb|right|底面の様子]] |
||
あなたは |
あなたは「普通の」商用製品を使用する機会を得るであろう随分と前に、テストの間システムを使っていることと思います。これはハードウェアとソフトウェア両方のテストをスタートするためです。何故ならば私たちのシステムは<i>一般的な</i>ラップトップ(例えばスクリーンだとか、電源管理だとか、耐環境性といったもの)に比べ著しく異なり、また大変異なる環境で利用されるであろうからです。あなたはコンピュータシステム製造メーカがあなたから隠してきた「カーテンの後ろの真実」を(あるいは部分的にでも)知ることになるでしょう。良いこと、悪いこと、そしてハードウェアとソフトウェアデバッグの醜いプロセスを、です。 |
||
右の写真はこのマシンの特徴の殆どを記しています。マシンを開くために、まず最初にアンテナ |
右の写真はこのマシンの特徴の殆どを記しています。マシンを開くために、まず最初にアンテナのラッチを外し、持ち上げて開きます。 |
||
電子ブックモードに変更するためにスクリーンを回すためには、スクリーンを少なくとも90度開いた状態にしなければなりません。スクリーンはキーボードの上に閉じる方向へ、単方向、もしくは両方向にまわすことができます。 |
|||
バッテリーパックはキーボードの下のスクリーンの下に位置しています。取り外すときは下のサムネイルに示すように2つのスライドラッチをリリースします。同じ写真にSDスロットをはっきりと確認することができるでしょう。ノート:後期のビルドではマシンの表面がピカピカしないようプラスチックに表面加工がなされる予定です。 |
バッテリーパックはキーボードの下のスクリーンの下に位置しています。取り外すときは下のサムネイルに示すように2つのスライドラッチをリリースします。同じ写真にSDスロットをはっきりと確認することができるでしょう。ノート:後期のビルドではマシンの表面がピカピカしないようプラスチックに表面加工がなされる予定です。 |
||
Line 149: | Line 149: | ||
{{anchor|Setting Expectations for BTest Machines}} |
{{anchor|Setting Expectations for BTest Machines}} |
||
=== |
=== BTestマシンで心しておくこと === |
||
[[BTest-1 Release Notes| |
[[BTest-1 Release Notes|BTest-1リリースノート]]あるいは[[BTest-2 Release Notes|BTest-2リリースノート]]と[[B1-demo-notes|BTest-1 Demo Notes|BTest-1デモノート]]をよく読んでおいて下さい。 |
||
もしあなたが |
もしあなたがBTestマシーンを入手したならば、以下のものが同梱されているはずです。 |
||
# 1台もしくは2台の |
# 1台もしくは2台のBTestシステム(利用可能な場合はローカライズされたキーボード) |
||
# (私たちの物流部門と占いが許す範囲で)個々のマシン用に、利用可能な場合はあなたの国の正しいプラグタイプを有するAC電源アダプタが一つ。 |
# (私たちの物流部門と占いが許す範囲で)個々のマシン用に、利用可能な場合はあなたの国の正しいプラグタイプを有するAC電源アダプタが一つ。 |
||
# 個々のマシン用にバッテリーをひとつずつ。 |
# 個々のマシン用にバッテリーをひとつずつ。 |
||
# 工場かOLPCにて事前組み込みなされた |
# 工場かOLPCにて事前組み込みなされたあるバージョンのソフトウェア:到着後直ちにソフトウェアの更新をするつもりでいてください。更新作業は[[Autoreinstallation image]]によって非常に簡単にできるようになりました。 |
||
{{Translated text | |
{{Translated text | |
||
Please carefully read the [[BTest-1 Release Notes]] or [[BTest-2 Release Notes]] and the [[B1-demo-notes|BTest-1 Demo Notes]]. |
Please carefully read the [[BTest-1 Release Notes]] or [[BTest-2 Release Notes]] and the [[B1-demo-notes|BTest-1 Demo Notes]]. |
||
Line 171: | Line 171: | ||
== プロジェクトにおける情報交換の場所 == |
== プロジェクトにおける情報交換の場所 == |
||
最初にあなたが興味を持つの |
最初にあなたが興味を持つのが、システムレベルやアプリケーションレベルでのコーディングなら、私たちの[http://dev.laptop.org/wiki Hosting Wiki]中の一つのプロジェクトに参加してください。 |
||
[http://www.sf.net SourceForge]といった代替手段よりも私たちは遥かに柔軟性に富んでいて、回線容量もCPUも利用できます。そしてOLPCに関係ないその他の数千ものプロジェクトに埋もれてしまうこともありません。もしあなたのプロジェクトがOLPCと関係の |
[http://www.sf.net SourceForge]といった代替手段よりも私たちは遥かに柔軟性に富んでいて、回線容量もCPUも利用できます。そしてOLPCに関係ないその他の数千ものプロジェクトに埋もれてしまうこともありません。もしあなたのプロジェクトがOLPCと関係のある観点を有するならば、限られたOLPC関連の設備を喜んで提供しましょう。それは例えばバグトラッキングとか私たちのwikiとかといったものです。 |
||
{{Translated text | |
{{Translated text | |
||
If your interest is primarily on doing some systems level or on applications level coding, then join one of the projects on our [http://dev.laptop.org/wiki Hosting Wiki]. |
If your interest is primarily on doing some systems level or on applications level coding, then join one of the projects on our [http://dev.laptop.org/wiki Hosting Wiki]. |
||
Line 185: | Line 185: | ||
== ハードウェアスケジュール == |
== ハードウェアスケジュール == |
||
私たちが |
私たちがATestボードと呼ぶ、この最初の世代のボードでは、ハードウェアはBTestシステムに見られるようなDCONチップによって動作するフラットパネルを利用するのではなく、映像信号がVGA出力に出力されることを覗けば機能的に完全なものです。 |
||
パッケージされた |
パッケージされたBTest-1マシーンは昨年(2006年)11月下旬にビルドされました。BTest-1マシンはNANDフラッシュ、カメラ、そしてSDインタフェースのために後期ビルドでは存在するCaFE ASICのところにAltera FPGAが使われていることを除けば、完全に機能するものです。このFPGAはCaFE ASICの動作に比べ、処理能力が低く、より多くの電力を消費します。もう一つのビルド(BTest-2)は完成したCaFE ASICを使い、(2007年の)1月下旬に作られました。より多くの台数が作られた、3番目のBTest-3ビルドは(2007年)5月に作られました。BTest-2システムは最も初期のトライアルで利用されました。 |
||
BTest-4は(2007年)6月下旬にビルドされました。これは開発者向けの初めての現在配布中のモデルです。そして一旦トライアル-2のソフトウェアが準備できれば、その後のトライアルにも配布される予定です。 |
|||
{{Translated text | |
{{Translated text | |
||
In this first generation of boards, which we call A-Test boards, the hardware is fully functional except that video is VGA out, rather than using a flat panel with the DCON chip which appears in the BTest systems. |
In this first generation of boards, which we call A-Test boards, the hardware is fully functional except that video is VGA out, rather than using a flat panel with the DCON chip which appears in the BTest systems. |
||
Line 199: | Line 199: | ||
{{anchor|Goals}} |
{{anchor|Goals}} |
||
= 目標 = |
= 目標 = |
||
私たちの目標はハードウェアの成熟と共に変わってきます。 |
私たちの目標はハードウェアの成熟と共に変わってきます。BTestシステムに対して私たちが最も望むのは下記の点です。 |
||
* デバイスドライバにおける電源管理:私たちにとって、あらゆる熱量関連問題、そして単純な |
* デバイスドライバにおける電源管理:私たちにとって、あらゆる熱量関連問題、そして単純な「よしよし、殆どのチップはだいたい電源がオフになっているな」といった程度では全くもって十分ではありません。私たちはあらゆる可能な電源節約の方法が実現されているということ、そしてサスペンド/リジュームが完璧でとてつもなく早いかということが知りたいのです。 |
||
* すばやいサスペンド/リジューム:[http://lwn.net/Articles/181687/ power management summit]で議論されている最新の技術の更に遥か先を目指します。 |
* すばやいサスペンド/リジューム:[http://lwn.net/Articles/181687/ power management summit]で議論されている最新の技術の更に遥か先を目指します。 |
||
* モーダルオペレーション:もしあるアプリケーションがフルスクリーンだったとき、システムはいつでもシステムが |
* モーダルオペレーション:もしあるアプリケーションがフルスクリーンだったとき、システムはいつでもシステムがほんの一瞬でもアイドルになったとき自動的にサスペンドしそしてリジュームする必要があります。 |
||
* 可変速度ディスプレイ駆動: |
* 可変速度ディスプレイ駆動:(俗にモードチェンジ・オンザフライと呼ばれるものです)、この機能も改めて電源を節約するためです。 |
||
* 無線ネットワーク:私たちはメッシュネットワークを配備する予定です。この領域における非常に重要な実験は、ドライバ |
* 無線ネットワーク:私たちはメッシュネットワークを配備する予定です。この領域における非常に重要な実験は、ドライバのブラッシュアップと異なる環境でのその振る舞いについての知見を得ることです。(例えば、低ノイズ特性の田舎の地域とか慌しい都会の地域とか)私たちは厳密なテストを行うためには1つ以上のボードが必要であると理解しています。どうぞ現実的なことを期待してください。2つのボードでは面白く無いでしょう。しかし200枚のボードは提供不可能です。 |
||
* コンパイラの最適化:もしあなたがコンパイラに精通しているなら、処理能力、特に浮動小数点演算の処理能力を制限するための特殊なバックエンドスケジューラがGeodeには無いことが分かっています。なので、この領域における作業を是非進めたいと考えています。そうすれば皆が助かります。 |
* コンパイラの最適化:もしあなたがコンパイラに精通しているなら、処理能力、特に浮動小数点演算の処理能力を制限するための特殊なバックエンドスケジューラがGeodeには無いことが分かっています。なので、この領域における作業を是非進めたいと考えています。そうすれば皆が助かります。 |
||
* チックレスオペレーション: じきLinuxに組み込まれる、Linuxを周期的なチックなしに機能させるような開発計画ツリーに含まれていないパッチがあります。引き続き実験を続けていますが、私たちのチックレートはおそらくLinuxシステムの中でも今までになかったほど最も低いものではありますが、さらに改善できるし、するべきだと考えています。 |
* チックレスオペレーション: じきLinuxに組み込まれる、Linuxを周期的なチックなしに機能させるような開発計画ツリーに含まれていないパッチがあります。引き続き実験を続けていますが、私たちのチックレートはおそらくLinuxシステムの中でも今までになかったほど最も低いものではありますが、さらに改善できるし、するべきだと考えています。システム中のどの部分もポーリングしてはいけません! |
||
デスクトップで監視する電源管理: |
デスクトップで監視する電源管理:BTestマシーンの電力消費と電力要求を更に細かく監視し、これら情報をうまくやりとりするのに必要なアプリケーション |
||
* OOM(out of memory)防止対策についてはまだあまり検討がなされてません、というか全くなされてません。 |
* OOM(out of memory)防止対策についてはまだあまり検討がなされてません、というか全くなされてません。 |
||
* Sugerの最適化:再ビルドしたPython2.5が配備されればSugerの実行環境はかなり早くなるはずですが、Pythonの起動時間について特に、更なる作業をこなしていく予定です。 |
* Sugerの最適化:再ビルドしたPython2.5が配備されればSugerの実行環境はかなり早くなるはずですが、Pythonの起動時間について特に、更なる作業をこなしていく予定です。 |
||
* アプリケーションのSuger対応: 幼い子供たちのためにSuger環境でもっとうまく動作するようにするよう、最低限の作業しかなされていない多くのアプリケーションがあります。それらを取り上げて対応作業の援助を要請します。 |
* アプリケーションのSuger対応: 幼い子供たちのためにSuger環境でもっとうまく動作するようにするよう、最低限の作業しかなされていない多くのアプリケーションがあります。それらを取り上げて対応作業の援助を要請します。 |
||
* 外 |
* 外部ディスプレイ: 安いプロジェクタについての作業を始めています。アプリケーションが簡単に遠隔動作するようにする作業はとても意味のあることです。これを実現するためには多くの方法(と難しさ)があります。なのであなたの嗜好と能力次第で、先進的な「X Window System的最新技術」によるより洗練された方法とともに、付け焼刃的なやり方もとれます。 |
||
* あらゆる種類の教育向けアプリケーション |
* あらゆる種類の教育向けアプリケーション |
||
* 各スクールサーバとラップトップのサポートのためのサーバベースのツール類 |
* 各スクールサーバとラップトップのサポートのためのサーバベースのツール類 |
||
Line 223: | Line 223: | ||
* 処理能力の最適化: メモリ利用効率の修正は一般により早いコードにつながります。 |
* 処理能力の最適化: メモリ利用効率の修正は一般により早いコードにつながります。 |
||
* ツールキットの適応: ディスプレイ有効解像度はグレイスケールとカラーの間で切り替わります。ツールキットとアプリケーションはそれに対応せねばなりませんし、デスクトップテーマも両方のモードでうまく動作するか確認されねばなりません。 |
* ツールキットの適応: ディスプレイ有効解像度はグレイスケールとカラーの間で切り替わります。ツールキットとアプリケーションはそれに対応せねばなりませんし、デスクトップテーマも両方のモードでうまく動作するか確認されねばなりません。 |
||
* ユーザインタフェース:殆どのユーザインタフェースに関する作業は今のところ通常のデスクトップのLinuxにて実施可能です。しかしながら私たちのシステムは |
* ユーザインタフェース:殆どのユーザインタフェースに関する作業は今のところ通常のデスクトップのLinuxにて実施可能です。しかしながら私たちのシステムは2つの4方向キーとエンターキーで操作できる電子ブックモードを有しています。キー入力処理アプリケーションはこの環境でうまく動作するよう更新されねばなりません。(例えばevinceやwebブラウザなど) グレイスケールモードでのアプリケーション類のテストと、それにもとづくどのような修正も非常に助かります。 |
||
* アプリケーション: これについては言うまでも無いでしょう。開発の進んでいる"Suger"環境は一般のデスクトップで動作させられます。また多くのアプリケーションはこのシステム向けに単純化され最適化される必要があります。私たちの最初のユーザは、これまで一般的にコンピュータを使う最初の子供たちであった中学生や高校生ではなく、幼い子供たちなのです。 |
* アプリケーション: これについては言うまでも無いでしょう。開発の進んでいる"Suger"環境は一般のデスクトップで動作させられます。また多くのアプリケーションはこのシステム向けに単純化され最適化される必要があります。私たちの最初のユーザは、これまで一般的にコンピュータを使う最初の子供たちであった中学生や高校生ではなく、幼い子供たちなのです。 |
||
* IPv6のサポートとサービス検出。これらは私たちのプロジェクトにとって非常に重要です。 |
* IPv6のサポートとサービス検出。これらは私たちのプロジェクトにとって非常に重要です。 |
||
Line 229: | Line 229: | ||
これらの解決を進展させるためにOLPCハードウェアへアクセスを必要とする諸提案のためにハードウェアの初期設定を公開する予定です。 |
これらの解決を進展させるためにOLPCハードウェアへアクセスを必要とする諸提案のためにハードウェアの初期設定を公開する予定です。BTestの要求項目はシステムの移動運用を必要とするべきだし、新しいスクリーンへアクセスするGUIとアプリケーションに重点的に実施される必要があります。 |
||
{{Translated text | |
{{Translated text | |
||
Our goals will vary as the hardware matures. For the BTest systems we need the most help on: |
Our goals will vary as the hardware matures. For the BTest systems we need the most help on: |
||
Line 264: | Line 264: | ||
{{anchor|Qualifications}} |
{{anchor|Qualifications}} |
||
== 必要資格など == |
== 必要資格など == |
||
私たちは開発を助けることができ、興味を持っている人たちを探しています。必要とされる資格はあなたがどの分野で働きたいかに強く依存しています。例えば、BIOS/bootパスで働きたい人は |
私たちは開発を助けることができ、興味を持っている人たちを探しています。必要とされる資格はあなたがどの分野で働きたいかに強く依存しています。例えば、BIOS/bootパスで働きたい人は「電子の友達」といえるほどのスキルが必要で、JTAGや同種のデバッグ作業は恐れるに足らずと言える人です。 |
||
殆どのドライバ |
殆どのドライバ作業は、電力節約を正しく処理するという点では殆どのドライバに比べかなりチャレンジングではありますが、それ以外は通常のドライバデバッギングスキルがあればよいでしょう。 |
||
ウィンドウシステム開発はXでの開発経験などなどが必要ですし、アプリケーションについては同種のアプリケーションの開発経験が必要です。などなど。 |
ウィンドウシステム開発はXでの開発経験などなどが必要ですし、アプリケーションについては同種のアプリケーションの開発経験が必要です。などなど。 |
||
Line 296: | Line 296: | ||
カーネルとX Windowシステムは共に<i>[http://git.or.cz/ git]</i>をそれらの開発ソースコード管理システムとして使います。私たちは''git''とSCMの両方で作業をしていますが、SCMが私たちの選択です。このあたりの議論は[http://dev.laptop.org/git.do git trees hosted at dev.laptop.org]をご覧下さい。 |
カーネルとX Windowシステムは共に<i>[http://git.or.cz/ git]</i>をそれらの開発ソースコード管理システムとして使います。私たちは''git''とSCMの両方で作業をしていますが、SCMが私たちの選択です。このあたりの議論は[http://dev.laptop.org/git.do git trees hosted at dev.laptop.org]をご覧下さい。 |
||
[[Fedora]]カーネルがそのプロジェクトでは管理維持されています。 |
[[Fedora]]カーネルがそのプロジェクトでは管理維持されています。BTest-1のために[[Fedora]]のカーネルではなく、<tt>olpc-2.6</tt>ツリーからのカーネルを利用しています。これは将来的にある時点で変更されるかもしれません。 |
||
殆どのOLPCに特化されたバージョンのコードのソースはまた[http://download.fedora.redhat.com/pub/fedora/projects/olpc/development/source/SRPMS/ RedHat]より入手可能です。 |
殆どのOLPCに特化されたバージョンのコードのソースはまた[http://download.fedora.redhat.com/pub/fedora/projects/olpc/development/source/SRPMS/ RedHat]より入手可能です。 |
||
Line 310: | Line 310: | ||
====バグ追跡システム==== |
====バグ追跡システム==== |
||
OLPCは''trac''と呼ばれる[http://dev.laptop.org バグ追跡システム]を利用しています。これはwikiでもあります。 |
OLPCは''trac''と呼ばれる[http://dev.laptop.org バグ追跡システム]を利用しています。これはwikiでもあります。(私たちはこのシステムのwiki的使い方には失望してますが)これを使うためには、あなた自身のアカウントを作成する必要があります。公開(非公開)バグについて[http://dev.laptop.org/query このシステムで検索]することができます。 |
||
{{Translated text | |
{{Translated text | |
||
OLPC maintains a [http://dev.laptop.org bug tracking system] called ''trac'', which is also a wiki (though we discourage use of it as a wiki). To use it, you need to create an account for yourself. You can [http://dev.laptop.org/query query] it for open (or closed) bugs. |
OLPC maintains a [http://dev.laptop.org bug tracking system] called ''trac'', which is also a wiki (though we discourage use of it as a wiki). To use it, you need to create an account for yourself. You can [http://dev.laptop.org/query query] it for open (or closed) bugs. |
||
Line 318: | Line 318: | ||
====ウィキ(wiki)==== |
====ウィキ(wiki)==== |
||
メインの'''[http://wiki.laptop.org/go/Home 公式OLPCウィキ]'''がプロジェクトに関する様々なアイデアや取り組みを書き込むために、あるいはラップトップのためのコンテンツをカテゴリ分けし、開発を進めるために利用可能です。あるページはOLPCコアチームによって管理されています。 |
メインの'''[http://wiki.laptop.org/go/Home 公式OLPCウィキ]'''がプロジェクトに関する様々なアイデアや取り組みを書き込むために、あるいはラップトップのためのコンテンツをカテゴリ分けし、開発を進めるために利用可能です。あるページはOLPCコアチームによって管理されています。(それらページは目立つようにマークしてあります)私たちはTracのウィキよりもこちらのウィキの方を好んで使っています。 |
||
{{Translated text | |
{{Translated text | |
||
The main '''[http://wiki.laptop.org/go/Home public OLPC wiki]''' is available for use to write about any ideas or efforts related to the project; or to categorize and develop content for the laptops. Some pages (prominently marked) are maintained by the core OLPC team. We prefer this wiki to the Trac wiki for most writing. |
The main '''[http://wiki.laptop.org/go/Home public OLPC wiki]''' is available for use to write about any ideas or efforts related to the project; or to categorize and develop content for the laptops. Some pages (prominently marked) are maintained by the core OLPC team. We prefer this wiki to the Trac wiki for most writing. |
||
Line 357: | Line 357: | ||
{{anchor|Mail}} |
{{anchor|Mail}} |
||
==Mail== |
==Mail== |
||
e-mailについてのお問い合わせは[[Contact OLPC]]をご覧下さい。 |
e-mailについてのお問い合わせは[[Contact OLPC/lang-ja|問い合わせ先一覧]]をご覧下さい。 |
||
郵便による送付については下記まで: |
郵便による送付については下記まで: |
||
Line 376: | Line 376: | ||
{{anchor|IRC Chat}} |
{{anchor|IRC Chat}} |
||
==IRC Chat== |
==IRC Chat== |
||
私たちは主にIRCインスタントメッセージングを利用しており、irc.freenode.netのチャネル#OLPCと#sugarにいます。 |
私たちは主にIRCインスタントメッセージングを利用しており、irc.freenode.netのチャネル#OLPCと#sugarにいます。 |
||
Line 389: | Line 390: | ||
ノート:<i>最初にシステムを受け取ったら、以下のNANDフラッシュとBIOSの再インストール手順に説明してある手順に従い、システムを現在のソフトウェアにすみやかにアップデートしてください</i>。 |
ノート:<i>最初にシステムを受け取ったら、以下のNANDフラッシュとBIOSの再インストール手順に説明してある手順に従い、システムを現在のソフトウェアにすみやかにアップデートしてください</i>。 |
||
BIOS(LinuxBIOS + ブートローダのOpenFirmware), Linux自身, そしてOLPCソフトウェアスタックは |
BIOS(LinuxBIOS + ブートローダのOpenFirmware), Linux自身, そしてOLPCソフトウェアスタックはBTestシステムに工場出荷時にインストールされています。しかしながらこれはシステムテストと実環境での利用というよりは後で確認することを意図したものです。私たちがQuantaに製造のためにマシンを引き渡してからあなたが受け取るまでの間、多くの重要なバグが修正され、そのほかの問題が解消されてきました。 |
||
{{Translated text | |
{{Translated text | |
||
Note: <i>when you first receive the system, please immediately update the system to current software</i>, as documented below in the NAND Flash and BIOS Re-installation section. |
Note: <i>when you first receive the system, please immediately update the system to current software</i>, as documented below in the NAND Flash and BIOS Re-installation section. |
||
Line 405: | Line 406: | ||
{{anchor|How to upgrade the OS image on BTest Systems}} |
{{anchor|How to upgrade the OS image on BTest Systems}} |
||
== |
==BTestシステムのOSイメージをアップグレードする方法== |
||
{{anchor|NAND Flash and BIOS Re-installation}} |
{{anchor|NAND Flash and BIOS Re-installation}} |
||
Line 438: | Line 439: | ||
最初のステップはUSBディスクを入手し、このディスクにOSイメージをインストールし、そしてこのUSBディスクからラップトップをブートすることです。 |
最初のステップはUSBディスクを入手し、このディスクにOSイメージをインストールし、そしてこのUSBディスクからラップトップをブートすることです。 |
||
OSイメージをUSBディスクへインストールするための手順についてはhttp://wiki.laptop.org/go/OS_images_for_USB_disks こちら]をご覧下さい。一旦ラップトップがUSBディスクからブートされたら、ラップトップ自身に搭載されているイメージがアップデートされます。(これは古いBIOS上で走っているAテストシステムをアップデートするときにのみ推奨されるやり方です |
OSイメージをUSBディスクへインストールするための手順についてはhttp://wiki.laptop.org/go/OS_images_for_USB_disks こちら]をご覧下さい。一旦ラップトップがUSBディスクからブートされたら、ラップトップ自身に搭載されているイメージがアップデートされます。(これは古いBIOS上で走っているAテストシステムをアップデートするときにのみ推奨されるやり方です)。内部OSイメージをアップデートする方法については、[http://wiki.laptop.org/go/Installing_to_NAND ここ]をご覧下さい。 |
||
新しいOSイメージを使った場合、BIOSとワイヤレスファームウェアのマニュアルアップデートが自動的に始まるはずです。 |
新しいOSイメージを使った場合、BIOSとワイヤレスファームウェアのマニュアルアップデートが自動的に始まるはずです。 |
||
Line 451: | Line 452: | ||
{{anchor|How to apply for an XO}} |
{{anchor|How to apply for an XO}} |
||
= XO |
= XOの申し込み方法 = |
||
もしあなたが[[emulation|エミュレータ]]での作業を試み、開発を実施するための物理的なXOマシンを必要とする場合は、<tt>developer</tt>アットマーク<tt>laptopドットorg</tt>のメールアドレスへ下記の情報と共にメールをお送りください。 |
もしあなたが[[emulation|エミュレータ]]での作業を試み、開発を実施するための物理的なXOマシンを必要とする場合は、<tt>developer</tt>アットマーク<tt>laptopドットorg</tt>のメールアドレスへ下記の情報と共にメールをお送りください。 |
||
Line 465: | Line 466: | ||
## 電話番号, (運送業者のために必ず必要です。) |
## 電話番号, (運送業者のために必ず必要です。) |
||
## その他何か送付の際の指示があれば |
## その他何か送付の際の指示があれば |
||
## 電源アダプタの仕様(注意:ある国においては[http://en.wikipedia.org/wiki/List_of_countries_with_mains_power_plugs%2C_voltages_and_frequencies 正しい電源アダプタ]を必要とする全てのデバイスについて税関が'''非常に'''神経質です。例えばアルゼンチンは特に小うるさいです |
## 電源アダプタの仕様(注意:ある国においては[http://en.wikipedia.org/wiki/List_of_countries_with_mains_power_plugs%2C_voltages_and_frequencies 正しい電源アダプタ]を必要とする全てのデバイスについて税関が'''非常に'''神経質です。例えばアルゼンチンは特に小うるさいです) |
||
## 希望キーボードレイアウト(できるだけ要望に沿えるようにいたします |
## 希望キーボードレイアウト(できるだけ要望に沿えるようにいたします) |
||
# マシンの活用に関するあなたの計画についての説明。"XOで遊べたら素敵だし、あなた方のためにいろいろとデモをします"といった内容よりも、このシステムにもたらす具体的な成果と共にはっきりとした提案をいただいたほうがより有望です |
# マシンの活用に関するあなたの計画についての説明。"XOで遊べたら素敵だし、あなた方のためにいろいろとデモをします"といった内容よりも、このシステムにもたらす具体的な成果と共にはっきりとした提案をいただいたほうがより有望です |
||
# 必要とするマシンの数 |
# 必要とするマシンの数 |
||
# ハードウェアやソフトウェアに関するあなたの経験 |
# ハードウェアやソフトウェアに関するあなたの経験 |
||
Line 499: | Line 500: | ||
= 使っていないマシンについて = |
= 使っていないマシンについて = |
||
もしあながたOLPCの取り組みに寄与する時間がもはや確保できない場合は、どうぞ貸与中のマシンを返却くださいますようお願いします。全ての |
もしあながたOLPCの取り組みに寄与する時間がもはや確保できない場合は、どうぞ貸与中のマシンを返却くださいますようお願いします。全てのATest用のボードについてはあなたの貢献の記念としてお手元に残してくださって結構です。 |
||
{{Translated text | |
{{Translated text | |
||
If you no longer have time to contribute to the OLPC effort, please be so kind as to return your system. Please keep any ATest boards as a memento of your contributions. |
If you no longer have time to contribute to the OLPC effort, please be so kind as to return your system. Please keep any ATest boards as a memento of your contributions. |
Latest revision as of 22:42, 4 January 2008
- This is an on-going translation
OLPC開発者向けプログラム
開発者プログラムに参加するための手順についてはここをご覧下さい.
あなたがしようとしていることの多くはエミュレータを使って行うことができる場合が多いです。
- あなたのシステム用にエミュレータをダウンロードし走らせるにはエミュレーションのためのOSイメージをご覧下さい。エミュレーションには、QEMU, Paralles, そしてVMWareなどの様々な選択肢があります。
- 個別のアクティビティやライブラリコレクションもダウンロードすることができます。
- ソースコードの保管場所とバグトラッキングシステムはここにあります。
上記の補足情報として、該当のリリース関連情報としてハードウェア・ソフトウェア・ライブラリリリースノートをご覧下さい。
概要と心の準備
OLPCシステムは、おおよそ5年程前の一般的なラップトップと比べ際立った相違点があります。すなわち、私たちがベースとしているシステムソフトウェアは以前よりもより多くのことができるようになりました。Linux環境は今では以前は手の届かなかったスクリプトの国際化に対応しており、遥かに高品質なレンダリングと、そして何よりもアプリケーションの選択肢が大きく広がりました。
しかしながら代償もあります。「ムーアの法則」はメモリやCPUの利用において私たちを無頓着にしてしまいました。この状況は利用可能なソフトウェアの「フットプリント(サイズと必要リソース)」に対し難しい選択を迫ることになりました。OLPCラップトップは内蔵ストレージとして512MB(のフラッシュメモリ)しかありません。そしておそらくもっと深刻な制約として128MBしかないRAMとシングルコアプロセッサであることが挙げられます。過去1年以上にわたり、これらの問題に対してOLPCコミュニティはより神経質になってきました。そして作業はこの「膨れ上がる」サイズと全般的な処理効率改善にむけ順調に推移しています。小さいことは良いことです(もちろん速いことも!)。
私たちが基盤とする技術の選択は、ソフトウェアの能力において、見渡す限り世界的な規模での「ユーザの使用感」において最も優れたものを達成すると予測されてきました。この思いは私たちにGTK+とPango(そしてグラフィカルユーザインタフェースの基盤としてCairoも含め)を選択させるに至りました。なぜならば、複雑なスクリプト群におけるPangoの処理能力は現在ではフリーソフトウェア技術の中で最も進んだものだからです。もちろんその他のツールキット群も利用可能ですが、特に今日私たちが直面しているローカライズが必要なスクリプト(それらにはタイ語とアラビア語が含まれます)に対し、それらを基盤としたソフトウェア能力ではメモリとフラッシュのサイズに対する代償が大きいのです。従って、私たちのベースシステムの標準的部分にその他のツールキットを含めることは問題を抱えることになり、そして内蔵システムにおける利用感は、複数のツールキットを含めることが、恐らく間違いなく全体的な利用感を損ねることになりかねないということを示しています。
BTestシステム
私たちは"BTest"のために、(3つのビルドの)2つの完全なOLPCラップトップ完成筐体のビルドを作ってきました。
一般的に外部ベータテストの前に内部的に1つないしは2つのビルドを用意します。そして私たちのBTest-1は電気回路の真のベータテストであり、一方アルファテストは新しいスクリーン、タッチパッド、工業デザイン、そしてキーボードのテスト用でした。このプロセスは開発サイクルにおいて通常利用可能になるペースに比べより早いものです。そしてそれに応じて、少々荒いものでもあります。
BTest-2ハードウェアは電気回路、新しいスクリーン(今回はディフューザーがスクリーンをより改善しています)、そしてタッチパッドのためのベータテストを継続中です。工業デザインに関してはBTest-1に比べほんの少しだけ改善されています。すなわちBTest-1より得られた機構的改善における要改善点はBTest-2では今回は盛り込まれていません。そしてBTest-3ではBTest-1やBTest-2よりも著しく耐環境性に関して向上する見込みです。
BTest-1マシーンの開発者プログラムにおける注目点はシステムにおけるスクリーン、タッチパッド、そして/あるいはカメラの使い勝手を知るためのGUIに関係したプロジェクトにおけるソフト開発です。このようなテストはベアPCボードではすぐに確認するにはなかなかやっかいな項目でした。
BTest-2の注目点は、メッシュネットワークのテストプロセスを開始することであり、(準備作業は完了はしましたが、これを書いている現時点ではサスペンド・リジューム機能はまだ動作していないのですが)このサスペンド/リジューム機能についても作業を実施しています。
マシンはまたプロジェクト最初の対象国へ割り当てられる予定ですが、個人のフリーでオープンソースのデベロッパーや、OLPCの目標を拡大することへの貢献に興味を持っている研究組織を狙っていないため、このプログラム下の活動には割り当てられません。
BTestユーザに対しOLPCが期待すること
リリースノートをお読みください!
BTest-1ビルドは配布が完了しています。BTest-1リリースノートにこのマシーンの位置づけが述べられています。 BTest-2ビルドは(2007年)2月12日に配布が開始されます。BTest-2リリースノートにこのマシーンの位置づけが述べられています。BTest-4ビルドは6月下旬に完成しました。そしてこれらの改善されたシステムの配布が始まっています。まず最初に開発者、そしてTraial-2ソフトウェアの準備ができ次第、その後の評価のために配布される予定です。
ソフトウェアはBTest-1, BTest-2,そしてATestボードで走る予定です。詳しくはOLPCソフトウェアリリースノートをご覧下さい。
バグのレポート方法
私たちのプロセスは完全にオープンなものであることにご注意下さい。商品の「一般の」ベータテストプログラムでは、秘密保持契約への署名を求められ、そしてあなたが直面したいかなる問題、あるいはあなた以外のベータテスターが経験したであろう問題に気が付いたとしても、それらについて秘密厳守を求められてきたことと思います。普通、このようなハードウェアベータテストは、ここで行われてきたものよりもより厳密なテストが完了した後に行われるものです。
初期ベータテストハードウェアとはその後のベータテストや製品ハードウェアに比べハードウェア障害発生の確率が格段に高いことを意味します。また設計に関してはその他様々なテスト項目と共に温度上昇、寒冷地、振動、衝撃、そして湿度といった負荷試験が進行中のものです。
机上では構成が良くとも、コンポーネント自身の設計上の欠陥やその利用方法の両方に置いて実際にはうまく動かないかもしれません。ベータテストはまた異なる製造者のコンポーネントに対して用いられるものです。より多くの製品個数が利用可能な場合は常に、コンポーネントは"複数の製造メーカから調達され",そして異なる製造メーカからの同種の部分についてコンパチビリティテストが実施されます。これは製造開始後特定の製造メーカに問題が発覚しても代替メーカが利用可能であるかどうかという安定供給を確認するためです。私たちのハードウェアに関して2, 3の例を挙げるならば、例えば、カメラ供給メーカ、RAM供給メーカ、PCB供給メーカといったものです。例えば、ATestボードにおいては、私たちは製造に置いて利用したくないいくつかのコンポーネントを見つけました。そして私たちはBTestを通して同様な問題に遭遇する可能性があります。コンポーネントの設計は新しいかもしれません。そしてそれ自身に依存した設計があるかもしれませんし、製造メーカが解決すべき問題があるかもしれません。(例えばライティングパッドにおける下記に記す問題のように。)組み立て時に問題が作りこまれる可能性もあります。問題は設計にあるいはコンポーネントの選択にもありえます。コンポーネントの特定ロットに欠陥があるかもしれません。ベータテストの目的は、特に大量生産される製品について、大量生産を開始するかなり前の段階でこのような種々の問題を見つけ出し、欠陥を完全に解析し、そして、個々の欠陥について直接的原因を理解することで製品ユニットにおいてこれらの問題を排除・防御することにあります。もしあながたハードウェアの問題に直面したら、OLPCは障害解析のために直ちにマシンの返却を求めるでしょう。私たちは代替マシンを大至急あなたに届けるべく最大限の努力をします。
私たちはあなたがバグ追跡システムに新しいハードウェア・ソフトウェアの問題について直ちに書き込むことを期待しています。それによって問題は追跡され解決されます。その際にはあなたが使っているファームウェアバージョン(ファームウェアバージョンは電源投入時の表示2行目に表示されます。例えば "OpenFirmware CL1 QA62 Q2A"という表示ならば、QA64がファームウェアバージョンです)、オペレーティングシステムビルドナンバー(ブートプロセスの最後に表示されます)、そしてあなたのマシンのシリアル番号(バッテリーの下に表示してあります)を含めてください。この情報が、私たちが問題を解析し解決することに役立ちます。
同じバグの入力は避けられないとは思いますが、同様な問題がすでに報告されていないかどうかまず検索をしていただけると非常に助かります。あなたが問題に遭遇したり、あるいはどれくらいの頻度で発生するかを私たちが知らなければ問題の解決しようがありません。すなわち、明らかに、ある別の問題と同じ問題に遭遇したならば、どのくらい頻繁にそれが発生するのか、あるいはあなたが気が付いたその他追加情報を知ることが非常に役立ちます。なるべく少なく、ではなくなるべく多く問題についてレポートするようにしてください。バグについてのレポートやコメントの中からあるパターンが浮かび上がってくるかもしれません。あるいは問題がどれだけ深刻であるかについてより良い新しいアイデアが生まれるかもしれませんし、その解決のためによりよい優先順位付けをすることが可能かも知れません。バグとは良いものなのです。個々のバグは後になって修正するよりも、直ちに直すほうがより簡単です。
ハードウェア
ハードウェアについてのユーザガイド
あなたは「普通の」商用製品を使用する機会を得るであろう随分と前に、テストの間システムを使っていることと思います。これはハードウェアとソフトウェア両方のテストをスタートするためです。何故ならば私たちのシステムは一般的なラップトップ(例えばスクリーンだとか、電源管理だとか、耐環境性といったもの)に比べ著しく異なり、また大変異なる環境で利用されるであろうからです。あなたはコンピュータシステム製造メーカがあなたから隠してきた「カーテンの後ろの真実」を(あるいは部分的にでも)知ることになるでしょう。良いこと、悪いこと、そしてハードウェアとソフトウェアデバッグの醜いプロセスを、です。
右の写真はこのマシンの特徴の殆どを記しています。マシンを開くために、まず最初にアンテナのラッチを外し、持ち上げて開きます。
電子ブックモードに変更するためにスクリーンを回すためには、スクリーンを少なくとも90度開いた状態にしなければなりません。スクリーンはキーボードの上に閉じる方向へ、単方向、もしくは両方向にまわすことができます。
バッテリーパックはキーボードの下のスクリーンの下に位置しています。取り外すときは下のサムネイルに示すように2つのスライドラッチをリリースします。同じ写真にSDスロットをはっきりと確認することができるでしょう。ノート:後期のビルドではマシンの表面がピカピカしないようプラスチックに表面加工がなされる予定です。
BTestマシンで心しておくこと
BTest-1リリースノートあるいはBTest-2リリースノートとBTest-1 Demo Notes|BTest-1デモノートをよく読んでおいて下さい。
もしあなたがBTestマシーンを入手したならば、以下のものが同梱されているはずです。
- 1台もしくは2台のBTestシステム(利用可能な場合はローカライズされたキーボード)
- (私たちの物流部門と占いが許す範囲で)個々のマシン用に、利用可能な場合はあなたの国の正しいプラグタイプを有するAC電源アダプタが一つ。
- 個々のマシン用にバッテリーをひとつずつ。
- 工場かOLPCにて事前組み込みなされたあるバージョンのソフトウェア:到着後直ちにソフトウェアの更新をするつもりでいてください。更新作業はAutoreinstallation imageによって非常に簡単にできるようになりました。
プロジェクトにおける情報交換の場所
最初にあなたが興味を持つのが、システムレベルやアプリケーションレベルでのコーディングなら、私たちのHosting Wiki中の一つのプロジェクトに参加してください。 SourceForgeといった代替手段よりも私たちは遥かに柔軟性に富んでいて、回線容量もCPUも利用できます。そしてOLPCに関係ないその他の数千ものプロジェクトに埋もれてしまうこともありません。もしあなたのプロジェクトがOLPCと関係のある観点を有するならば、限られたOLPC関連の設備を喜んで提供しましょう。それは例えばバグトラッキングとか私たちのwikiとかといったものです。
ハードウェアスケジュール
私たちがATestボードと呼ぶ、この最初の世代のボードでは、ハードウェアはBTestシステムに見られるようなDCONチップによって動作するフラットパネルを利用するのではなく、映像信号がVGA出力に出力されることを覗けば機能的に完全なものです。
パッケージされたBTest-1マシーンは昨年(2006年)11月下旬にビルドされました。BTest-1マシンはNANDフラッシュ、カメラ、そしてSDインタフェースのために後期ビルドでは存在するCaFE ASICのところにAltera FPGAが使われていることを除けば、完全に機能するものです。このFPGAはCaFE ASICの動作に比べ、処理能力が低く、より多くの電力を消費します。もう一つのビルド(BTest-2)は完成したCaFE ASICを使い、(2007年の)1月下旬に作られました。より多くの台数が作られた、3番目のBTest-3ビルドは(2007年)5月に作られました。BTest-2システムは最も初期のトライアルで利用されました。 BTest-4は(2007年)6月下旬にビルドされました。これは開発者向けの初めての現在配布中のモデルです。そして一旦トライアル-2のソフトウェアが準備できれば、その後のトライアルにも配布される予定です。
目標
私たちの目標はハードウェアの成熟と共に変わってきます。BTestシステムに対して私たちが最も望むのは下記の点です。
- デバイスドライバにおける電源管理:私たちにとって、あらゆる熱量関連問題、そして単純な「よしよし、殆どのチップはだいたい電源がオフになっているな」といった程度では全くもって十分ではありません。私たちはあらゆる可能な電源節約の方法が実現されているということ、そしてサスペンド/リジュームが完璧でとてつもなく早いかということが知りたいのです。
- すばやいサスペンド/リジューム:power management summitで議論されている最新の技術の更に遥か先を目指します。
- モーダルオペレーション:もしあるアプリケーションがフルスクリーンだったとき、システムはいつでもシステムがほんの一瞬でもアイドルになったとき自動的にサスペンドしそしてリジュームする必要があります。
- 可変速度ディスプレイ駆動:(俗にモードチェンジ・オンザフライと呼ばれるものです)、この機能も改めて電源を節約するためです。
- 無線ネットワーク:私たちはメッシュネットワークを配備する予定です。この領域における非常に重要な実験は、ドライバのブラッシュアップと異なる環境でのその振る舞いについての知見を得ることです。(例えば、低ノイズ特性の田舎の地域とか慌しい都会の地域とか)私たちは厳密なテストを行うためには1つ以上のボードが必要であると理解しています。どうぞ現実的なことを期待してください。2つのボードでは面白く無いでしょう。しかし200枚のボードは提供不可能です。
- コンパイラの最適化:もしあなたがコンパイラに精通しているなら、処理能力、特に浮動小数点演算の処理能力を制限するための特殊なバックエンドスケジューラがGeodeには無いことが分かっています。なので、この領域における作業を是非進めたいと考えています。そうすれば皆が助かります。
- チックレスオペレーション: じきLinuxに組み込まれる、Linuxを周期的なチックなしに機能させるような開発計画ツリーに含まれていないパッチがあります。引き続き実験を続けていますが、私たちのチックレートはおそらくLinuxシステムの中でも今までになかったほど最も低いものではありますが、さらに改善できるし、するべきだと考えています。システム中のどの部分もポーリングしてはいけません!
デスクトップで監視する電源管理:BTestマシーンの電力消費と電力要求を更に細かく監視し、これら情報をうまくやりとりするのに必要なアプリケーション
- OOM(out of memory)防止対策についてはまだあまり検討がなされてません、というか全くなされてません。
- Sugerの最適化:再ビルドしたPython2.5が配備されればSugerの実行環境はかなり早くなるはずですが、Pythonの起動時間について特に、更なる作業をこなしていく予定です。
- アプリケーションのSuger対応: 幼い子供たちのためにSuger環境でもっとうまく動作するようにするよう、最低限の作業しかなされていない多くのアプリケーションがあります。それらを取り上げて対応作業の援助を要請します。
- 外部ディスプレイ: 安いプロジェクタについての作業を始めています。アプリケーションが簡単に遠隔動作するようにする作業はとても意味のあることです。これを実現するためには多くの方法(と難しさ)があります。なのであなたの嗜好と能力次第で、先進的な「X Window System的最新技術」によるより洗練された方法とともに、付け焼刃的なやり方もとれます。
- あらゆる種類の教育向けアプリケーション
- 各スクールサーバとラップトップのサポートのためのサーバベースのツール類
私たちよりもあなたの方がきっと聡明で、上記リストで私たちが何を見逃しているかきっとすでにお気づきのことと思います。
あなたはハードウェアを必要としない多くの領域で貢献できます。例えば:
- メモリ利用効率: 多くのアプリケーションとツールキットがメモリを消費しメモリーリークを起こします。これらの問題を修正することは全ての人を助けることになるし、殆どが通常のシステムで作業できることです。
- 処理能力の最適化: メモリ利用効率の修正は一般により早いコードにつながります。
- ツールキットの適応: ディスプレイ有効解像度はグレイスケールとカラーの間で切り替わります。ツールキットとアプリケーションはそれに対応せねばなりませんし、デスクトップテーマも両方のモードでうまく動作するか確認されねばなりません。
- ユーザインタフェース:殆どのユーザインタフェースに関する作業は今のところ通常のデスクトップのLinuxにて実施可能です。しかしながら私たちのシステムは2つの4方向キーとエンターキーで操作できる電子ブックモードを有しています。キー入力処理アプリケーションはこの環境でうまく動作するよう更新されねばなりません。(例えばevinceやwebブラウザなど) グレイスケールモードでのアプリケーション類のテストと、それにもとづくどのような修正も非常に助かります。
- アプリケーション: これについては言うまでも無いでしょう。開発の進んでいる"Suger"環境は一般のデスクトップで動作させられます。また多くのアプリケーションはこのシステム向けに単純化され最適化される必要があります。私たちの最初のユーザは、これまで一般的にコンピュータを使う最初の子供たちであった中学生や高校生ではなく、幼い子供たちなのです。
- IPv6のサポートとサービス検出。これらは私たちのプロジェクトにとって非常に重要です。
- セキュリティ:SELinuxやその他の技術がゼロディ攻撃に対する一つの方法かもしれません。同様なマシン群からなる巨大なエコシステムにとって、この問題は真剣に検討するに値する問題であるといえます。
これらの解決を進展させるためにOLPCハードウェアへアクセスを必要とする諸提案のためにハードウェアの初期設定を公開する予定です。BTestの要求項目はシステムの移動運用を必要とするべきだし、新しいスクリーンへアクセスするGUIとアプリケーションに重点的に実施される必要があります。
必要資格など
私たちは開発を助けることができ、興味を持っている人たちを探しています。必要とされる資格はあなたがどの分野で働きたいかに強く依存しています。例えば、BIOS/bootパスで働きたい人は「電子の友達」といえるほどのスキルが必要で、JTAGや同種のデバッグ作業は恐れるに足らずと言える人です。
殆どのドライバ作業は、電力節約を正しく処理するという点では殆どのドライバに比べかなりチャレンジングではありますが、それ以外は通常のドライバデバッギングスキルがあればよいでしょう。
ウィンドウシステム開発はXでの開発経験などなどが必要ですし、アプリケーションについては同種のアプリケーションの開発経験が必要です。などなど。
支援の方法
dev.laptop.org
OLPCはソフトウェアとコンテンツ開発プロジェクトのために開発環境を走らせています。私たちはあなたの開発を大元のプロジェクトの上流でできるかぎりたくさん実施することを勧めます。しかしながら、あるプロジェクトはOLPCに特化されていたり、あるいは私たちのシステムに位置づけられるまでの間一時的な開発リソースを必要とします。例えばLinux kernel treeでは、私たちはメインのLinuxカーネルの一部として組み込まれる準備ができるまでOLPCのコードを管理しています。これによって上流でのコードの発行の手段も残してライナスのツリーをリーズナブルな近さでトラッキングしつつ、Linuxカーネルの様々な観点における作業を共有することが簡単になっています。
私たちはOLPCに関係したニーズを伴うこのような作業のために喜んでこのシステム上でホスティングしているリソースを提供します。
ソースコード管理システム
カーネルとX Windowシステムは共にgitをそれらの開発ソースコード管理システムとして使います。私たちはgitとSCMの両方で作業をしていますが、SCMが私たちの選択です。このあたりの議論はgit trees hosted at dev.laptop.orgをご覧下さい。
Fedoraカーネルがそのプロジェクトでは管理維持されています。BTest-1のためにFedoraのカーネルではなく、olpc-2.6ツリーからのカーネルを利用しています。これは将来的にある時点で変更されるかもしれません。
殆どのOLPCに特化されたバージョンのコードのソースはまたRedHatより入手可能です。
バグ追跡システム
OLPCはtracと呼ばれるバグ追跡システムを利用しています。これはwikiでもあります。(私たちはこのシステムのwiki的使い方には失望してますが)これを使うためには、あなた自身のアカウントを作成する必要があります。公開(非公開)バグについてこのシステムで検索することができます。
ウィキ(wiki)
メインの公式OLPCウィキがプロジェクトに関する様々なアイデアや取り組みを書き込むために、あるいはラップトップのためのコンテンツをカテゴリ分けし、開発を進めるために利用可能です。あるページはOLPCコアチームによって管理されています。(それらページは目立つようにマークしてあります)私たちはTracのウィキよりもこちらのウィキの方を好んで使っています。
重要な技術に関連する組織へのリンク
OLPCは、下記のリストで示されるものを含む多くのキー技術とプロジェクトに依存しています。
- Gnome
- Matchbox
- GTK+ toolkit, Pango Text Layout Library
- Cairo Graphics Library
- X Window System
- Linux Kernel
- Gecko Rendering Engine of the Mozilla Foundation
- AbiWord word processor
- eToys
お問い合わせ
e-mailについてのお問い合わせは問い合わせ先一覧をご覧下さい。
郵便による送付については下記まで:
- One Laptop per Child
- P.O. Box 425087
- Cambridge, MA 02142
- USA
IRC Chat
私たちは主にIRCインスタントメッセージングを利用しており、irc.freenode.netのチャネル#OLPCと#sugarにいます。
ソフトウェアのインストール
ハードウェアを受け取った方は
ノート:最初にシステムを受け取ったら、以下のNANDフラッシュとBIOSの再インストール手順に説明してある手順に従い、システムを現在のソフトウェアにすみやかにアップデートしてください。
BIOS(LinuxBIOS + ブートローダのOpenFirmware), Linux自身, そしてOLPCソフトウェアスタックはBTestシステムに工場出荷時にインストールされています。しかしながらこれはシステムテストと実環境での利用というよりは後で確認することを意図したものです。私たちがQuantaに製造のためにマシンを引き渡してからあなたが受け取るまでの間、多くの重要なバグが修正され、そのほかの問題が解消されてきました。
システムの更新
あなたがシステムを受け取り、そしてその後のベータテストの間に何度か、ソフトウェアおよび/あるいはファームウェア(BIOS)、はアップグレードが必要かもしれません。私たちは開発期間中ローカライズされたソフトウェアとコンテンツ、あるいは工場でインストールされたソフトウェアの完全置換があたりまえのように発生するものと考えています。
BTestシステムのOSイメージをアップグレードする方法
NANDフラッシュとBIOSの再インストール
イメージの自動再インストール手順に従ってください。この手順は、USBキーを刺し込みリブートするのと同じくらい多くのマシンをアップデートするのを非常に簡単にします。
(procedureの要約を以下に示します。 NANDフラッシュ上のOSをアップグレードするために今は以下の3つのステップでいけます:
- zipファイルをダウンロードします
- 内容物を解凍します。そして"boot"という名前のディレクトリをUSBメモリスティック上かハードディスクの上に作ります。
- USBメモリスティックかUSBディスクをマシンに刺し込み、そしてリブートします。
Open Firmwareのための4番目の手順はやっかいな手間を必要とせずに、SPI BIOSブートフラッシュをアップデートし、製造データエラーを修正し、NANDフラッシュ上にイメージをインストールします。これらはできる限り簡単にできるようにしています。)
FlashもしくはDiskにLinuxをインストールする方法
(詳細な手順は右にあります:イメージのビルド)
最初のステップはUSBディスクを入手し、このディスクにOSイメージをインストールし、そしてこのUSBディスクからラップトップをブートすることです。 OSイメージをUSBディスクへインストールするための手順についてはhttp://wiki.laptop.org/go/OS_images_for_USB_disks こちら]をご覧下さい。一旦ラップトップがUSBディスクからブートされたら、ラップトップ自身に搭載されているイメージがアップデートされます。(これは古いBIOS上で走っているAテストシステムをアップデートするときにのみ推奨されるやり方です)。内部OSイメージをアップデートする方法については、ここをご覧下さい。
新しいOSイメージを使った場合、BIOSとワイヤレスファームウェアのマニュアルアップデートが自動的に始まるはずです。
XOの申し込み方法
もしあなたがエミュレータでの作業を試み、開発を実施するための物理的なXOマシンを必要とする場合は、developerアットマークlaptopドットorgのメールアドレスへ下記の情報と共にメールをお送りください。
- 名前
- Emailアドレス
- 会社名(もしあれば), 大学名/学校名
- 送り先住所と指定事項
- 名前,
- 住所, (私書箱は不可です。)
- 市,
- 郵便番号,
- 国,
- 電話番号, (運送業者のために必ず必要です。)
- その他何か送付の際の指示があれば
- 電源アダプタの仕様(注意:ある国においては正しい電源アダプタを必要とする全てのデバイスについて税関が非常に神経質です。例えばアルゼンチンは特に小うるさいです)
- 希望キーボードレイアウト(できるだけ要望に沿えるようにいたします)
- マシンの活用に関するあなたの計画についての説明。"XOで遊べたら素敵だし、あなた方のためにいろいろとデモをします"といった内容よりも、このシステムにもたらす具体的な成果と共にはっきりとした提案をいただいたほうがより有望です
- 必要とするマシンの数
- ハードウェアやソフトウェアに関するあなたの経験
使っていないマシンについて
もしあながたOLPCの取り組みに寄与する時間がもはや確保できない場合は、どうぞ貸与中のマシンを返却くださいますようお願いします。全てのATest用のボードについてはあなたの貢献の記念としてお手元に残してくださって結構です。