TOP技術ガイドOpenBlocks 600D > ファームウェアの構築

ファームウェアの構築

ファームウェアとは

 ファームウェアとは、Linuxカーネルとユーザランド(コマンドやライブラリ)をまとめたラムディスクイメージを結合したファイルを指します。
 ファームウェアは本体基板上のFlashROMに書き込まれており、通常動作ではFlashROMからファームウェアを読み込み、カーネルの実行、ラムディスクイメージの展開を行いOSが起動します。
 そのため、カーネルのコンフィグレーション変更を行いたい場合は、ファームウェアの再構築が必要になります。

構築方法

  1. 開発環境の構築を行って下さい

  2. 構築に使用するスクリプトやラムディスクイメージ等をダウンロードします
    例では、Debian GNU/Linux 5.0 (lenny) のファイルを利用しています。
    リリース情報を確認し、ご自身が使いたいバージョンのファイルに適宜読み替えてください。

    # wget -O /usr/src/firmware/create_uImage.sh \
    ftp://ftp.plathome.co.jp/pub/OBS600/debian/tools/create_uImage.sh

    # chmod a+x /usr/src/firmware/create_uImage.sh

    # wget -O /usr/src/firmware/ramdisk-lenny.img.gz \
    ftp://ftp.plathome.co.jp/pub/OBS600/debian/files/lenny/LATEST/ramdisk-lenny.img.gz

    # wget -O /usr/src/linux/arch/powerpc/boot/dts/obs600.dts \
    ftp://ftp.plathome.co.jp/pub/OBS600/debian/files/lenny/LATEST/obs600.dts

    # wget -O /usr/src/linux/.config \
    ftp://ftp.plathome.co.jp/pub/OBS600/debian/files/lenny/LATEST/dot.config

  3. カーネルのコンパイルを行います

    セルフ開発環境の場合

    # cd /usr/src/linux
    # make oldconfig
    # make vmlinux modules obs600.dtb
    セルフ開発環境の場合、6時間30分程度お待ち下さい

    クロス開発環境の場合

    # cd /usr/src/linux
    # make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- oldconfig
    # make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- vmlinux modules obs600.dtb

    ※ 必要に応じて、menuconfig 等でカーネルコンフィグレーションを変更して下さい。

  4. コンパイルしたカーネルとラムディスクイメージを結合して、ファームウェアを作成します
    # cd /usr/src/firmware
    # ./create_uImage.sh
    セルフ開発環境の場合、10分程度お待ち下さい

    しばらく待つと、同ディレクトリに uImage.initrd.lenny が出来上がります。

    ※ 一度実行すると、同ディレクトリに ramdisk-lenny.img が出来上がります。RAMディスクイメージの中身を編集したい場合は、loop ファイルシステムを使ってマウントし、設定の書き換えやファイルの追加削除を行って下さい。セルフ開発環境であれば、chroot して操作することも可能です。

  5. 再構築したファームウェアをFlashROMに書き込む

    # flashcfg -f uImage.initrd.lenny

    再起動後、再構築したファームウェアで動き始めます

再構築したファームウェアを利用する上での注意

 弊社にて公開しているRAMディスクイメージには、弊社が配布するカーネルパッケージが登録されております。そのため、弊社のカーネルパッケージの更新があった場合、「aptitude update && aptitude safe-upgrade」の実行により、弊社配布のファームウェアに書き換えられる恐れがあります。それを防ぐためには、以下の操作を行って下さい。

# aptitude hold kernel-image-2.6.29

hold 設定が有効な限りは、弊社カーネルパッケージによって更新されることはありません。

目次に戻る

ページの先頭へ戻る