OBDN技術ブログによる動作検証は、該当するソフトウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。
なお、本作業に関しては、作業内容をご理解の上、自己責任の元に慎重に行ってください。
1. 事前準備
カーネル再構築のためには、開発環境が必要になります。
ユーザマニュアルに書かれた、タイムゾーン等の最初の設定、標準ツールのインストールに加え、基本的な開発環境をインストールしてください。
# aptitude install build-essential
また、ファームウェア構築のために、ncursesのdev環境および、mkimageが必要となります。
# aptitude install uboot-mkimage libncurses5-dev
2. OpenBlocks AX3シリーズのカーネルカスタマイズ手順
AX3のカーネルカスタマイズを行う場合、wheezy向けの3.2.40系カーネルと、squeeze向けの3.0.6系カーネルにより、ファイルの入手先やファイル名が違います。
ファイルの入手
当社ftpサイトより、カーネルソースファイルと、対応したramdiskイメージを入手し、展開してください。
2014/4/22現在の最新のカーネルパッケージは、3.2.40-4 ( wheezy )および、3.0.6-14です。
これより最新のパッケージがリリースされた場合は、ディレクトリなどを変更してください。
3.2.40の場合 (Debian 7.1 wheezy )
# cd /usr/src
# wget ftp://ftp.plathome.co.jp/pub/OBSAX3/wheezy/3.2.40-4/linux-3.2.40-20140220.tar.gz
# wget ftp://ftp.plathome.co.jp/pub/OBSAX3/wheezy/3.2.40-4/ramdisk-wheezy.obsax3.img.lzma
# tar xvzf linux-3.2.40-20140220.tar.gz
# wget ftp://ftp.plathome.co.jp/pub/OBSAX3/wheezy/3.2.40-4/linux-3.2.40-20140220.tar.gz
# wget ftp://ftp.plathome.co.jp/pub/OBSAX3/wheezy/3.2.40-4/ramdisk-wheezy.obsax3.img.lzma
# tar xvzf linux-3.2.40-20140220.tar.gz
2.6.31の場合 (Debian 6.0 squeeze )
# cd /usr/src
# wget ftp://ftp.plathome.co.jp//pub/OBSAX3/squeeze/3.0.6-14/source/linux-3.0.6-14.tar.gz
# wget ftp://ftp.plathome.co.jp//pub/OBSAX3/squeeze/3.0.6-14/ramdisk-squeeze.obsax3.img.lzma
# tar xvzf linux-3.0.6-14.tar.gz
# wget ftp://ftp.plathome.co.jp//pub/OBSAX3/squeeze/3.0.6-14/source/linux-3.0.6-14.tar.gz
# wget ftp://ftp.plathome.co.jp//pub/OBSAX3/squeeze/3.0.6-14/ramdisk-squeeze.obsax3.img.lzma
# tar xvzf linux-3.0.6-14.tar.gz
構成情報の編集
3.2.40の場合 (Debian 7.1 wheezy )
# cd /usr/src/linux-3.2.40
# cp arch/arm/configs/obsax3_defconfig .config
# make menuconfig
# cp arch/arm/configs/obsax3_defconfig .config
# make menuconfig
もしくは直接configファイルを編集する方法もあります。
# cd /usr/src/linux-3.2.40
# cp arch/arm/obsax3_defconfig arch/arm/obsax3_defconfig.orig
# vi arch/arm/obsax3_defconfig
# make obsax3_defconfig arch=ARM oldconfig
# cp arch/arm/obsax3_defconfig arch/arm/obsax3_defconfig.orig
# vi arch/arm/obsax3_defconfig
# make obsax3_defconfig arch=ARM oldconfig
3.0.6の場合 (Debian 6.0 squeeze )
# cd /usr/src/linux-3.0.6
# cp arch/arm/configs/obsax3_defconfig .config
# make menuconfig
# cp arch/arm/configs/obsax3_defconfig .config
# make menuconfig
zImageおよび、ドライバモジュールの作成とインストール
# make zImage modules
# make modules_install
# make modules_install
ファームウェアイメージの作成
3.2.40の場合 (Debian 7.1 wheezy )
# cd /usr/src
# gzip -9 < linux-3.2.40/arch/arm/boot/zImage > zImage.gz
# mkimage -n "OBSAX3_xxx 3.2.40" -A arm -O linux -T multi -C gzip -a 0x8000 -e 0x8000 -d zImage.gz:ramdisk-wheezy.obsax3.img.lzma uImage.initrd.obsax3
# gzip -9 < linux-3.2.40/arch/arm/boot/zImage > zImage.gz
# mkimage -n "OBSAX3_xxx 3.2.40" -A arm -O linux -T multi -C gzip -a 0x8000 -e 0x8000 -d zImage.gz:ramdisk-wheezy.obsax3.img.lzma uImage.initrd.obsax3
3.0.6の場合 (Debian 6.0 squeeze )
# cd /usr/src
# gzip -9 < linux-3.0.6/arch/arm/boot/zImage > zImage.gz
# mkimage -n "OBSAX3_xxx 3.0.6" -A arm -O linux -T multi -C gzip -a 0x8000 -e 0x8000 -d zImage.gz:ramdisk-squeeze.obsax3.img.lzma uImage.initrd.obsax3
# gzip -9 < linux-3.0.6/arch/arm/boot/zImage > zImage.gz
# mkimage -n "OBSAX3_xxx 3.0.6" -A arm -O linux -T multi -C gzip -a 0x8000 -e 0x8000 -d zImage.gz:ramdisk-squeeze.obsax3.img.lzma uImage.initrd.obsax3
ファームウェアのFlashROMへの書き込み
# flashcfg -y -f uImage.initrd.obsax3
3. OpenBlocks A6のカーネルカスタマイズ手順
A6のカーネルカスタマイズを行う場合、wheezy向けの3.2.40系カーネルと、squeeze向けの2.6.31系カーネルでは、パッケージの構成手順が若干異なります。
また、squeeze版をご利用の場合、2.6.31系カーネル向けに用意されたramdiskパッケージをlzmaファイルにする際に、メモリ不足となるため、swapを追加設定してください。
標準状態では、swapは未使用の状態になっています。
設定方法に関しては、
OpenBlocks A6 FAQ: SWAPを設定するには、どのようにすれば良いですか
を参照してください。
ファイルの入手
当社ftpサイトより、カーネルソースファイルと、対応したramdiskイメージを入手し、展開してください。
2014/4/22現在の最新のカーネルパッケージは、3.2.40-3 ( wheezy )および、2.6.31-8です。
これより最新のパッケージがリリースされた場合は、ディレクトリなどを変更してください。
3.2.40の場合 (Debian 7.1 wheezy )
# cd /usr/src
# wget ftp://ftp.plathome.co.jp/pub/OBSA6/wheezy/3.2.40-3/linux-3.2.40-20140220.tar.gz
# wget ftp://ftp.plathome.co.jp/pub/OBSA6/wheezy/3.2.40-3/ramdisk-wheezy.obsa6.img.lzma
# tar xvzf linux-3.2.40-20130710-2.tar.gz
# wget ftp://ftp.plathome.co.jp/pub/OBSA6/wheezy/3.2.40-3/linux-3.2.40-20140220.tar.gz
# wget ftp://ftp.plathome.co.jp/pub/OBSA6/wheezy/3.2.40-3/ramdisk-wheezy.obsa6.img.lzma
# tar xvzf linux-3.2.40-20130710-2.tar.gz
2.6.31の場合 (Debian 6.0 squeeze )
# cd /usr/src
# wget ftp://ftp.plathome.co.jp//pub/OBSA6/squeeze/2.6.31-8/source/linux-2.6.31-obs-20130131.tar.gz
# wget ftp://ftp.plathome.co.jp//pub/OBSA6/squeeze/2.6.31-8/ramdisk-squeeze.obsa6.img
# tar xvzf linux-2.6.31-obs-20130131.tar.gz
# wget ftp://ftp.plathome.co.jp//pub/OBSA6/squeeze/2.6.31-8/source/linux-2.6.31-obs-20130131.tar.gz
# wget ftp://ftp.plathome.co.jp//pub/OBSA6/squeeze/2.6.31-8/ramdisk-squeeze.obsa6.img
# tar xvzf linux-2.6.31-obs-20130131.tar.gz
構成情報の編集
3.2.40の場合 (Debian 7.1 wheezy )
# cd /usr/src/linux-3.2.40
# cp arch/arm/configs/obsa6_defconfig .config
# make menuconfig
# cp arch/arm/configs/obsa6_defconfig .config
# make menuconfig
もしくは直接configファイルを編集する方法もあります。
# cd /usr/src/linux-3.2.40
# cp arch/arm/obsa6_defconfig arch/arm/obsa6_defconfig.orig
# vi arch/arm/obsa6_defconfig
# make obsa6_defconfig arch=ARM oldconfig
# cp arch/arm/obsa6_defconfig arch/arm/obsa6_defconfig.orig
# vi arch/arm/obsa6_defconfig
# make obsa6_defconfig arch=ARM oldconfig
2.6.31の場合 (Debian 6.0 squeeze )
# cd /usr/src/linux-2.6.31
# cp arch/arm/configs/obsa6_defconfig .config
# make menuconfig
# cp arch/arm/configs/obsa6_defconfig .config
# make menuconfig
zImageおよび、ドライバモジュールの作成とインストール
# make zImage modules
# make modules_install
# make modules_install
ファームウェアイメージの作成
3.2.40の場合 (Debian 7.1 wheezy )
# cd /usr/src
# gzip -9 < linux-3.2.40/arch/arm/boot/zImage > zImage.gz
# mkimage -n "OBSA6LXC 3.2.40" -A arm -O linux -T multi -C gzip -a 0x8000 -e 0x8000 -d zImage.gz:ramdisk-wheezy.obsa6.img.lzma uImage.initrd.obsa6
# gzip -9 < linux-3.2.40/arch/arm/boot/zImage > zImage.gz
# mkimage -n "OBSA6LXC 3.2.40" -A arm -O linux -T multi -C gzip -a 0x8000 -e 0x8000 -d zImage.gz:ramdisk-wheezy.obsa6.img.lzma uImage.initrd.obsa6
2.6.31の場合 (Debian 6.0 squeeze )
# cd /usr/src
# gzip -9 < linux-3.2.40/arch/arm/boot/zImage > zImage.gz
# lzma -3 < ramdisk-squeeze.obsa6.img > ramdisk-squeeze.obsa6.img.lzma
# mkimage -n "OBSA6LXC 3.2.40" -A arm -O linux -T multi -C gzip -a 0x8000 -e 0x8000 -d zImage.ramdisk-squeeze.obsa6.img.lzma uImage.initrd.obsa6
# gzip -9 < linux-3.2.40/arch/arm/boot/zImage > zImage.gz
# lzma -3 < ramdisk-squeeze.obsa6.img > ramdisk-squeeze.obsa6.img.lzma
# mkimage -n "OBSA6LXC 3.2.40" -A arm -O linux -T multi -C gzip -a 0x8000 -e 0x8000 -d zImage.ramdisk-squeeze.obsa6.img.lzma uImage.initrd.obsa6
ファームウェアのFlashROMへの書き込み
# flashcfg -y -f uImage.initrd.obsa6
4.さいごに
ファームウェアを書き込む前に、ftpサイトからダウンロード出来る、標準構成のuImage.initrd.xxxファイルと、出来上がったファイルのサイズを比較することをおすすめします。
0 件のコメント:
コメントを投稿