環境
- host OS: Linux/amd64 (Ubuntu Jaunty)
- host Kernel: 2.6.28-11-server
- Target Kernel: DENX 2.6.29.4
ソースコード
MPC8349Eで使えそうなlinux kernelはいくつかあるようです。
- オリジナルのkernel.orgのカーネル
- freescaleのカーネル
http://opensource.freescale.com/git (最近あまり更新されていない?)
- DENXのカーネル
http://git.denx.de/linux-2.6-denx.git/
DENXのカーネルが比較的安定しているらしいのでこれを使うことにします。
以下のようにカーネルのソースを取得します。
$ git clone git://www.denx.de/git/linux-2.6-denx.git linux-2.6-denx
$ cd linux-2.6-denx
$ git pull (git cloneした直後であれば不要, 一度git cloneしたものはgit pull以下を実行)
$ git tag -l |grep DENX
.
.
DENX-v2.6.29.1
DENX-v2.6.29.2
DENX-v2.6.29.3
DENX-v2.6.29.4
$ git archive --format=tar --prefix=linux-2.6.29.4-denx/ DENX-v2.6.29.4 | bzip2 > ../linux-2.6.29.4-denx.tar.bz2
$ cd ..
これを展開します。
$ tar jxf linux-2.6.29.4-denx.tar.bz2
$ cd linux-2.6.29.4-denx
2.6.26.7ではあてていたRTCを動作させるためのパッチはカーネルのソースに取り込まれたようなので、2.6.29.4では必要ありません。
$ cd linux-2.6.29.4-denx
$ make ARCH=powerpc CROSS_COMPILE=/usr/bin/powerpc-linux-gnu- menuconfig
Kernel options>High memory supportを有効にする <--1GB memoryを有効にするため
Device Drivers>DMA Engine support> Freescale MPC85xx/MPC83xx DMA supportを有効にする
Device Drivers>Serial ATA ... > ATA SFF support>Generic platform device PATA supportを無効にする
$ make ARCH=powerpc CROSS_COMPILE=/usr/bin/powerpc-linux-gnu- zImage modules
.
.
$ make ARCH=powerpc CROSS_COMPILE=/usr/bin/powerpc-linux-gnu- INSTALL_MOD_PATH=/somewhere/modules_root modules_install
できあがった、arch/powerpc/boot/cuImage.mpc8349emitx をtftpで読み込めるように設定してMPC8349E-mITXを起動すれば完成です。