====== カーネルのカスタマイズ ======
\\
下記のようなケースでは、カーネルの config をカスタマイズしてファームウェアをリビルドする必要がでてきます。
* 必要なドライバー、機能が標準のカーネルには含まれていない
* 不要な機能を削ってカーネルを軽くしたい
* etc..
カーネルの config を変更して、ファームウェアを作成する方法を紹介します。
\\
===== カスタマイズの手順 =====
==== カーネルソースの準備 ====
[[max3xx_devel:prepare_kernel:start|]] の手順で準備しておきます。
\\
==== 環境変数の設定 ====
クロスコンパイラの設定を読み込んでおきます。
{{:max3xx_devel:customize_kernel:customize_kernel_00.png|}}
user1@max3xx-devel:~/src/linux-kernel$ source env.sh
\\
==== default config の読み込み (Optional) ====
一度も [[max3xx_devel:build_firmware:start|]] を行っていない場合、default の config を読み込んでおいたほうが楽にカスタマイズできます。
user1@max3xx-devel:~/src/linux-kernel$ make centurysys-metis_defconfig
#
# configuration written to .config
#
user1@max3xx-devel:~/src/linux-kernel$
\\
==== menuconfig でカスタマイズ ====
**make menuconfig** を実行し、カスタマイズします。
user1@max3xx-devel:~/src/linux-kernel$ make menuconfig
UPD scripts/kconfig/mconf-cfg
HOSTCC scripts/kconfig/mconf.o
HOSTCC scripts/kconfig/lxdialog/checklist.o
...
{{:max3xx_devel:customize_kernel:customize_kernel_01.png|}}
\\
※ 下記エラーが出る場合、[[mas1xx_devel:setup_self_compilers:start|]] のとおり **ncurses** 開発パッケージをインストールします。
user1@max3xx-devel:~/src/linux-kernel$ make menuconfig
*
* Unable to find the ncurses package.
* Install ncurses (ncurses-devel or libncurses-dev
* depending on your distribution).
*
* You may also need to install pkg-config to find the
* ncurses installed in a non-default location.
*
make[1]: *** [scripts/kconfig/Makefile:212: scripts/kconfig/mconf-cfg] Error 1
make: *** [Makefile:697: menuconfig] Error 2
\\
==== ファームウェアのビルド ====
カーネルのカスタマイズが完了したら、[[max3xx_devel:build_firmware:start|]] を実行してファームウェアを作成します。
\\