Sirius

2012年4月9日(月) 20:59

カーネル 2.6.39.4 をコンパイルする。

カーネルが 2.6.25 なので 2.6 系最新の 2.6.39.4 をコンパイルします。
起動に u-boot を使う予定なので mkimage が必要なのでインストールします。

# aptitude install u-boot-mkimage
バニラカーネルのソースを取得します。
# cd /usr/src
# wget http://www.ring.gr.jp/archives/linux/kernel.org/kernel/v2.6/linux-2.6.39.4.tar.gz
# tar xvzf linux-2.6.39.4.tar.gz
コンパイルの方法は LinkStation/TeraStation/玄箱/PPC/kernel/2.6.30.5 - PukiWiki を参考にさせていただきました。

コンパイルは玄箱本体で行うのでクロスコンパイルのオプションははずします。
初期設定
# cd linux-2.6.39.4
# make ARCH=powerpc linkstation_defconfig
# cp -p ./.config ./.config.orig
# make ARCH=powerpc menuconfig

コンフィグでは、Device Drivers -> Memory Technology Device (MTD) support -> Mapping drivers for chip access -> Physmap compat support を y にPhysical start address of flash mapping を 0xffc00000 にPhysical length of flash mapping を 0x400000 に
Bank width in octets を 1 に設定すします。

コンパイルしたカーネルで起動するかどうかを確認するので上記設定のみを行って他は変えません。
time を使って時間を計ってみました。 3 時間ほどかかりました。
# time make ARCH=powerpc uImage modules

real    174m3.926s
user    165m29.204s
sys     7m34.824s
/boot にカーネル等をコピーします。
# cp -p System.map /boot/System-kuro-hg.map
# cp -p arch/powerpc/boot/uImage /boot/uImage-kuro-hg-2.6.39.4
# scripts/dtc/dtc -f -I dts -O dtb -o /boot/kuroboxHD.dtb -V 16 arch/powerpc/boot/dts/kuroboxHD.dts
# scripts/dtc/dtc -f -I dts -O dtb -o /boot/kuroboxHG.dtb -V 16 arch/powerpc/boot/dts/kuroboxHG.dts
# cd /boot
# ln -s uImage-kuro-hg-2.6.39.4 uImage
# ln -s uImage vmlinux.UBoot
モジュールのインストール
# make ARCH=powerpc modules_install
時間はかかりましたがこれでコンパイルできました。
このまま再起動と行きたいのですが、環境の変更を行わないと起動しません。
環境の変更はまた後で説明します。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Sirius

MySketch 2.7.2 written by 夕雨