linuxカーネルのコンパイル
構築したARMクロスコンパイラでカーネルをコンパイルしてみる。
もともとオリジナルの組込みLinuxOSを作成したいと思っているので、ここからが本番。
実行環境のインストール
qemuでクロスコンパイルしたカーネルを実行するため、インストールする。
とりあえず、下記コマンドで、qemuのソースコードを落としてくる。
$wget http://wiki.qemu-project.org/download/qemu-1.4.0.tar.bz2
解凍して、コンパイルを実行。
インストールする時、rootじゃないといけないので、rootで実行。
#./configure #make #make install
インストールが完了したら、とりあえず、$qemuと打って、タブを押すと
「qemu-system-ほげほげ」というのが候補として表示されたらインストールOK。
カーネルのコンパイル
いよいよカーネルのコンパイル。
今回はカーネル3.2.35をARMアーキテクチャでqemuでよくエミュレート方法が
いろいろなサイトで紹介されているversatileボード用にコンパイルする。
versatileデフォルトの設定を反映
$make mrproper $make ARCH=arm CROSS_COMPILE=$CCPREFIX versatile_defconfig
次にmenuconfigで下記のように設定
-BUS Support -->[*]PCI Support -kernel feature -->[*]Use the ARM EABI to compile the kernel -->[*] Allow old ABI binaries to run with this kernel (EXPERIMENTAL) -device driver -->graphic support -->[*]Bootup logo -->SCSI device support --><*>SCSI device support --><*> SCSI disk support --><*> SCSI generic support -->[*] SCSI low-level drivers (NEW) --><*> SYM53C8XX Version 2 SCSI support -File System -->[*] Ext2 extended attributes -->[*] Ext2 execute in place support --><*> Ext3 journalling file system support -->[*] Default to 'data=ordered' in ext3 -->[*] Ext3 extended attributes