今回は、CuBox-i用のカーネルを作成してみます。
基本的には、公式Cubox-i Wikiサイトの記述通りです。
(リンク切れ修正 2015)
http://wiki.solid-run.com/doku.php?id=products:imx6:software:development:kernel
サポートされているカーネルは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
コメントをお書きください