オープンソース・ソフトウェアの開発とダウンロード

カーネルの構築の表示

カテゴリ(タグ)ツリー

ファイル情報

カテゴリ(タグ)
ルート
ファイル名
kernel-build
最終更新
2002-05-02 22:37
種類
HTML
作成者
佐藤 嘉則
概要
カーネルをコンパイルする方法の説明です。
言語
日本語
翻訳する

カーネル再構築について

手順は通常のカーネル再構築と同じですが、 uClinux H8/300Hに固有な部分が数点あリます。
ので、その部分の解説です。


コンフィグレーション

ごく普通に、make config/menuconfig/xconfigで、設定してください。
ただし、menuconfig以外は使ったことがないので、途中でエラーになる可能性もあります。

uClinux H8/300Hに固有な項目は次のものがあります。
  • Target Selection
    ターゲットを選択します。該当する物がない場合は、genericを選んでください。
  • Platform Depend Setup
    Target Selectionでgenericを選んだ場合に出てきます。
    ターゲットの詳細を設定します。
    • CPU
      ターゲットボードのCPUを選択します。
    • Clock Frequency
      CPUに供給されるクロックの周波数を入力します。
      1000で割った値を入力してください。
    • Kernel execute from
      ROM/RAMのどちらで動かすか選択してください。
  • ROM disk memory block device
    ROM Diskです。標準のルートデバイスなので、基本的には必要です。
  • Cirrus Logic cs8900 ethernet
    移植していないので、動きません。
  • SMC 9194 ethernet
    同じく、動きません。
  • NE2000/NE1000 ISA ethernet
    設定項目が追加されています。
    • NE2000 (or Compatible) Base Address
      ベースアドレスを設定してください。
    • NE2000 (or Compatible) Used IRQ
      NICの割り込み出力が接続されているIRQを設定してください。
  • Hitachi SCI serial support
    CPU内蔵のSCIドライバです。入れない場合、メッセージが何も出てこなくなります。
  • Serial Console Channel
    カーネルからのメッセージを流すSCIのチャネル番号を入力してください。
  • Console Baudrate
    コンソールのボーレートを設定します。
    ちなみに、コンソールに使わないチャネルは、9600BPSで初期化されます。
  • Watchdog Timer Support
    使えません。内蔵WDTは周期が短すぎて使えないので、 このまま消えてなくなるかもしれません。
他は、普通のlinuxカーネルと同じ機能です。
<h2>ldscriptの修正 arch/h8300/platform/h8300h/{terget名}/{rom,ram}.ldです。
MEMORYセクションをターゲットに合わせて修正してください。

領域の定義は、次のようになってます。
  • rom.ld
    vectorベクタテーブルです
    romROM領域です
    eromROM領域の最終アドレスを定義します
    ramRAM領域です
    eramRAM領域の最終アドレスを定義します
    特に変わった所はありません。
  • ram.ld (for aki3068net)
    ramカーネル用コード+データ領域です
    rdiskディスクイメージ用領域です
    uramユーザー領域です
    eramRAM領域の最終アドレスを定義します
    iramCPU内蔵RAMを定義します
    CPU内蔵RAMは、ブートローダーとの連動用です。

カーネルコンフィグレーションで変更できるようになればいいんですが、 今の所、直接変更する必要があります。


コンパイル

ごく普通に、
make dep
make clean
make linux
でカーネルが出来ます。
圧縮したカーネルを作っても、展開して起動する手段を用意していないので、 意味がありません。
ここで出来てくるのはcoffのバイナリなので、SRECやRaw Binaryが必要な場合は、 手動でobjcopyを実行してください。
Project Page
Yoshinori Sato