CuBox-i用のカーネルを作成してみましょう。
基本的には、公式Cubox-i Wikiサイトの記述通りです。
サポートされているカーネルはVer3.10ベースのものとVer3.0.5ベースのものの2通りです。
(1)Ver3.10ベースのほうが新しいバージョンでUbuntuなど各種Linuxデヒストリビューションで使用できます。
(2)Ver3.0.5バースのほうはAndroid用ということになっています。もちろんDebianなどのLinuxディストリビューションでも使用可能です。
以下の作業は、Ubuntuを搭載しているPCで行うことを前提としています。
1. Ver3.05, Ver3.10の両方で必要な準備
1) まず、準備として必要なパッケージをインストールします。
$ sudo apt-get install git $ sudo apt-get install libncurses5-dev $ sudo apt-get install u-boot-tools $ sudo apt-get install lzop
2) 環境変数をセットしておきます。
$ export ARCH=arm $ export CROSS_COMPILE=arm-linux-gnueabi-
ここまでが準備作業です。
2. Ver3.10ベースのカーネルの作成
1) カーネルzImageファイルの生成を行います。以下のようにコマンドを入力します。カーネルのパラメータはmake menuconfigで適宜変更しましょう。
$ cd $ mkdir kernel3_10 $ cd kernel3_10 $ git clone https://github.com/SolidRun/linux-linaro-stable-mx6.git $ cd linux-linaro-stable-mx6 $ make imx_v7_cubox-i_hummingboard_defconfig $ make menuconfig $ make zImage imx6q-cubox-i.dtb imx6dl-cubox-i.dtb imx6dl-hummingboard.dtb
これで、カーネルファイル arch/arm/boot/zImage が生成されました。
2) 続いてドライバファイルを生成します。以下のようにコマンドを入力します。
$ make modules $ mkdir ../modules $ export INSTALL_MOD_PATH=../modules/ $ make modules_install
これにより ../modules/lib/ の下にドライバファイルが生成されました。
3)生成したカーネルの設置
例えば、「CuBox-iにUbuntuをインストール」で作成したSDカードの場合には、既存のboot/zImageをいま生成したarch/arm/boot/zImageに置き換えます。また、生成した ../modules/lib/* をSDのlibの下にコピーします。PCにSDカードを指して下のようにコマンドを入力してください。SDカードのデバイスが/dev/sdg1に割り当てられているものと仮定します。
$ sudo umount /dev/sdg1 $ sudo mount /mnt $ sudo cp arch/arm/boot/zImage /mnt/boot $ sudo cp -rf ../modules/lib/* /mnt/lib
3. Ver3.0.5ベースのカーネルの作成
1) カーネルzImageファイルの生成を行います。以下のようにコマンドを入力します。カーネルのパラメータはmake menuconfigで適宜変更しましょう。
$ cd $ mkdir kernel3_05 $ cd kernel3_05 $ git clone https://github.com/SolidRun/linux-imx6.git $ cd linux-imx6 $ make imx6_cubox-i_hummingboard_defconfig $ make menuconfig $ make uImage
これで、カーネルファイル arch/arm/boot/uImage が生成されました。
2) 続いてドライバファイルを生成します。以下のようにコマンドを入力します。
$ make modules $ mkdir ../modules $ export INSTALL_MOD_PATH=../modules/ $ make modules_install
これにより ../modules/lib/ の下にドライバファイルが生成されました。
3)生成したカーネルの設置
具体的な例は、次回「Debian Wheezyのインストール」で説明する予定です。
現在はCuBox-i, HummingBpard用に新しいカーネル Kernel 3.14 LTSが使用できます。
「HummingBoardでUbuntu12.04(Linaro)」にカーネル Kernel 3.14 LTSの作成方法が記述してあるので、そちらを参照するようにしてください。