コンパイルする


最新カーネルを取得し、コンパイルする。
LS-GLで動かすことができれば、同じ手法でLS-CL、最終目標であるLS-VLでも起動させることができるはず。
カーネルをコンパイルするため、ここからは別マシンで作業する。
使用したマシンはCore2DuoT7100 OSはubuntu11.04。コンパイル環境構築はこちらを参照■

# wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.bz2
# tar jxvf linux-2.6.39.tar.bz2
# cd linux-2.6.39

アーキテクチャーごとのデェフォルト設定があるので利用する。
(arch/arm/configの中にあるのでバージョンごとに最適なものを探す)

# make ARCH=arm orion5x_defconfig

ncursesな設定画面が出てくるので必要な項目をチェックする。
System TypeのOrion ImplementationsをBuffalo linkstation LS-HGLに設定(LS-GLとほぼ同系。DLNA対応の違いのみ)
トップ画面でEXITすると最後に保存しますかと聞かれるのでyes。

# make ARCH=arm menuconfig

クロスコンパイルを開始する。
実機でコンパイルする場合はCROSS_COMPILE〜は外す。

# make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- zImage

10分ほどでコンパイル終了。
initrdには各種チェックが入っているようだが、カーネルにはモジュール化せずにファイルシステム系が入っているので本来起動には不要。
ただ、起動でファイルチェックなどしているので無いと止まる。
initrd.buffaloというファイル名のダミーと差し替える。■
arch/arm/boot/zImageをデバイスから読めるようにmkimageで64バイトのヘッダを追加する。
mkimageでuImage.buffaloに名前も変更。

# mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n 'kernel.org v1' -d arch/arm/boot/zImage uImage.buffalo