ファームウェアの構築
ファームウェアとは
ファームウェアとは、Linuxカーネルとユーザランド(コマンドやライブラリ)をまとめたラムディスクイメージを結合したファイルを指します。
ファームウェアは本体基板上のFlashROMに書き込まれており、通常動作ではFlashROMからファームウェアを読み込み、カーネルの実行、ラムディスクイメージの展開を行いOSが起動します。
そのため、カーネルのコンフィグレーション変更を行いたい場合は、ファームウェアの再構築が必要になります。
構築方法
- 開発環境の構築を行って下さい
- 構築に使用するスクリプトやラムディスクイメージ等をダウンロードします
例では、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 -
カーネルのコンパイルを行います
セルフ開発環境の場合
# 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 等でカーネルコンフィグレーションを変更して下さい。 - コンパイルしたカーネルとラムディスクイメージを結合して、ファームウェアを作成します
# cd /usr/src/firmware
# ./create_uImage.sh
セルフ開発環境の場合、10分程度お待ち下さいしばらく待つと、同ディレクトリに uImage.initrd.lenny が出来上がります。
※ 一度実行すると、同ディレクトリに ramdisk-lenny.img が出来上がります。RAMディスクイメージの中身を編集したい場合は、loop ファイルシステムを使ってマウントし、設定の書き換えやファイルの追加削除を行って下さい。セルフ開発環境であれば、chroot して操作することも可能です。 - 再構築したファームウェアをFlashROMに書き込む
# flashcfg -f uImage.initrd.lenny
再起動後、再構築したファームウェアで動き始めます
再構築したファームウェアを利用する上での注意
弊社にて公開しているRAMディスクイメージには、弊社が配布するカーネルパッケージが登録されております。そのため、弊社のカーネルパッケージの更新があった場合、「aptitude update && aptitude safe-upgrade」の実行により、弊社配布のファームウェアに書き換えられる恐れがあります。それを防ぐためには、以下の操作を行って下さい。
# aptitude hold kernel-image-2.6.29
hold 設定が有効な限りは、弊社カーネルパッケージによって更新されることはありません。
目次に戻る