====== カーネルのカスタマイズ ====== \\ 下記のようなケースでは、カーネルの 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|]] を実行してファームウェアを作成します。 \\