ARM9用のLinuxカーネルを構築する
ARM9用Linuxカーネル構築
Interface Oct. 2009を参考にし、ARM9用シミュレータVirtual Platformと組み込みシステム開発評価ボード(BLANCA ARM9)で動作するLinuxカーネルを構築します。
Linuxカーネルのビルド
Linuxカーネルソースのダウンロードと展開
Linuxカーネル(linux-2.6.27)のソースをダウンロードし展開します。
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.tar.bz2
$ tar jxvf linux-2.6.27.tar.bz2
$ cd linux-2.6.27
Atmel ARM シリーズ用パッチ
Atmel ARM シリーズ用のパッチをダウンロードし、展開後パッチを当てます。
$ wget http://maxim.org.za/AT91RM9200/2.6/2.6.27-at91.patch.gz
$ wget ftp://www.linux4sam.org/pub/linux/2.6.27-at91/2.6.27-at91-exp.patch.gz
$ zcat 2.6.27-at91.patch.gz | patch -p1
$ zcat 2.6.27-at91-exp.patch.gz | patch -p1
BLANCA ARM9評価ボード用パッチ
BLANCA ARM9評価ボード用のパッチをダウンロードし、パッチを当てます。
$ wget http://www.sinby.com/~hal/blanca_devices.patch
$ patch -p0 -i blanca_devices.patch
Linuxカーネルのコンフィグレーションとビルド
Linuxカーネルをディフォルトの設定でコンフィグレーションを行い、ビルドします。
$ wget http://www.sinby.com/~hal/blanca_at91sam9xe.config
$ cp blanca_at91sam9xe.config .config
$ make ARCH=arm oldconfig
$ make ARCH=arm CROSS_COMPILE=~/sam91/arm-2007q1/bin/arm-none-linux-gnueabi-
zImange生成の確認
arch/arm/bootにカーネルイメージzImageが生成されていることを確認します。
$ cd arch/arm/boot/
$ ls -l zImage
-rwxr-xr-x 1 ono ono 1493028 2009-11-09 17:05 zImage
Linuxカーネルの コンフィグレーションとビルド変更
Linuxカーネルのコンフィグレーションを変更します。
カーネルのコンフィグレーション
Linuxカーネルのコンフィギュレーションを行います。
$ cd ~/linux-2.6.27
$ make ARCH=arm menuconfig
コンフィグレーション内容
Linuxカーネルのコンフィグレーションを変更します。
・ Networking supportを無効にします。
・ SPIサポートを無効にします。
・ Sound card supportを無効にします。
・ USB supportを無効にします。
・ MMC/SD card upportを無効にします。
カーネルのビルド
カーネルをリビルドします。
$ make ARCH=arm CROSS_COMPILE=~/sam91/arm-2007q1/bin/arm-none-linux-gnueabi-
zImange生成の確認
arch/arm/bootにカーネルイメージzImageが生成されていることを確認します。
$ cd ~/linux-2.6.27/arch/arm/boot
$ ls -l zImage
-rwxr-xr-x 1 ono ono 877588 2009-11-09 18:10 zImage
2009.11.09