Linux Kernel 2.2 Documentation:
/usr/src/linux/Documentation/arm/README
arm/README
ARM Linux に関する情報
[プレインテキスト版]
- 原著作者: Russell King <linux@arm.uk.linux.org>
- 翻訳者: 早川仁 <cz8cb01@linux.or.jp> 野本浩一 <hng@ps.ksky.ne.jp>
- バージョン: 2.2.8
- 翻訳日時: 2001/11/26
ARM Linux 2.2.3
===============
* 注記 * メインストリームの Linux カーネルソースにおける ARM
サポートは最新版ではありません。最新版にするには
ftp.arm.uk.linux.org:/pub/armlinux をチェックしてください。
カーネルのコンパイル
--------------------
ARM Linux をコンパイルするためには、GNU extensions を使用して ARM ELF
コードを生成できるコンパイラが必要になります。GCC-2.7.2.2 ELF, GCC
2.8.1, EGCS が適切なコンパイラです。注意、GCC-2.7.2.2 ELF は珍しいも
のなので、たぶん持っていないでしょう。
ARM Linux を直接ビルドするには、一番上のディレクトリの Makefile の
ARCH = 行の変更は必要ありません。しかしながら、デフォルトでインストー
ルされているはずの ARM Linux ELF tools がない場合、下記で述べるよう
に CROSS_COMPILE 行を変更する必要があります。
クロスコンパイルをしたいなら、一番上のディレクトリにある make ファイ
ルの次の行を変更してください -
ARCH = <何か> の行を ARCH = arm
それから
CROSS_COMPILE= を
CROSS_COMPILE=<コンパイラへのパス (gccは指定しない)>
例えば、CROSS_COMPILE=arm-linux-
カーネル (arch/arm/boot/Image) をビルドするために、'make config',
'make dep', 'make Image'を実行します。'make Image' のかわりに
'make zImage' を使用することにより、圧縮されたイメージを作成できます。
バグレポートなど
----------------
ARM Linux プロジェクトへのパッチ、バグレポート、コードなどは
linux@arm.linux.org.uk まで送ってください。パッチは私の手元 (または
関係者) に届かなければカーネルには含まれないでしょう。
バグレポートを送るときは、関係するすべての情報も一緒に送るようにして
ください。例えば、問題が発生する前後や発生中のカーネルのメッセージや、
何をしたらその問題が発生したかなどです。
パッチの場合、そのパッチが何をして、(もしも関係があるなら) なぜ必要
かという説明も含めるようにしてください。
モジュール
----------
モジュール化はサポートされていますが (FP エミュレートに必要)、
arm2/arm250/arm3 マシン上の各モジュールはページサイズの制限により、
ロード時に次の 32k 境界からメモリを使用 (確保) します。ですからこれ
らのマシン上でモジュール化することに本当に意味があるのでしょうか?
ですが arm6 以降のマシンのモジュールでは 4k 単位で (メモリを) 使用す
るようにできますので、Acorn RiscPC やこのプロセッサを使用している他
のアーキテクチャではモジュール化を行うことで (メモリの) 無駄を無くせ
ます。
ADFS イメージファイル
---------------------
ADFS パーティション上にあるイメージファイルは、ADFS パーティションを
マウントして、ループバックデバイスドライバを使用することでアクセスで
きますが、losetup をインストールしておく必要があります。
PC エミュレータの DOS パーティションではパーティションテーブルが先頭
にありますので、losetup に "-o offset" オプションを指定する必要があ
るでしょう。
開発者へのリクエスト
--------------------
アセンブラだけで書かれたファイルをインクルードするデバイスドライバを
書く場合、arch/arm/lib ディレクトリにではなく、C のファイルに含める
ようにしてください。そうすることによって、ドライバをローダブルモジュー
ルにする際にコードの半分 (訳注:つまりアセンブラや C の部分) だけを
カーネルのイメージに含んだりしないで済みますから。
本当に必要な場合を除いて、アセンブラを使用することは避けるようにして
ください。そのドライバを他のハードウェアにポーティング (移植) するこ
とが困難になってしまいますから。
ST506 ハードドライブ
--------------------
ST506 ハードディスクドライブコントローラは、少し遅いようですが、それ
なりに動いているようです。開発者たちは、A4x0 系のマザーボードで今後
も開発を進めると思いますが、もしこのマザーボードがなければ、Podule
を持っている人からゆずり受けて開発を進めるしかないです。それでコント
ローラの IRQ を変更するためのマスクとコントローラのアドレスをカーネ
ルソースに記述して開発を進めましょう。
1996 年 3 月 31 日からドライブ 2 つでも動作するようになりました
(ADFS *configure harddrive を 2 にセットする必要があるでしょう)。私
は 20MB の内蔵用と、5.25" の FH 64MB ドライブを入手しました (これ以
上のものを欲しがる人なんているんでしょうか :-) )。(訳注:FH = フルハ
イトです。)
240K/s の速度が出ました (dd コマンド bs=128k で) - これは RiscOS で
出せる速度の約半分ですが、先週の 50K/s なんていう速度に比べればかな
りマシです :-)
既知のバグ - ドライブデータエラーが起きるとハングアップするかもしれ
ません。例えばコントローラが ECC でエラー訂正を行った場合などです
(たぶん、そのケースだけだと思いますけど・・・う〜ん)。
1772 フロッピー
---------------
これも正常に動作しているようです。ですが、現在ではあまり注目されてい
ません。今のところディスクが交換されたことを検出する為の十分なコード
がありませんから、何か問題が起きるかも知れません! 正しい方法・動作
に関する提案はいつでも歓迎します。
カーネルエントリ (head-armv.S)
------------------------------
head-armv.S 経由でカーネル内に設定された初期エントリはアーキテクチャ
非依存のコードを使用しています。アーキテクチャはエントリの 'r1' の値
によって選択されます。その数値はユニークなはずです。次の詳細を
rmk@arm.uk.linux.org にメールすることによって、新しいアーキテクチャ
を登録することができます。メールの subject は
'Register new architecture' にするようにしてください。
Name: <アーキテクチャ名>
ARCHDIR: <include/asm-arm/arch-* ディレクトリの名前>
Description:
<アーキテクチャの説明>
このフォーマットに従ってください − 自動化されていますから。翌日には
返事 (reply) を受け取るはずです。
---
著者:Russell King (27/03/1999)
日本語訳:早川仁 <cz8cb01@linux.or.jp>
更新:野本浩一 <hng@ps.ksky.ne.jp>
校正:中谷千絵さん <jeanne@mbox.kyoto-inet.or.jp>
尾崎亮太さん <ozaki-r@igo.cs.uec.ac.jp>
高橋聡さん <hisai@din.or.jp>
小林雅典さん <zap03216@nifty.ne.jp>
中野武雄さん <nakano@apm.seikei.ac.jp>
Linux カーネル 2.2 付属文書一覧へ戻る