Howto

Linuxカーネルのバージョンアップ方法

Atmark Distの中でビルドされていたLinuxカーネルを新しいバージョンの物に置き換える方法について説明します。

このHowtoの例では、以下の環境を想定しています。ご利用の環境に合わせて適宜読みかえてください。

  • 対象製品:Armadillo-9
  • Linuxカーネル:2.6.12.3-a9-10から-2.6.12.3-a9-11にバージョンアップ
  • Atmark Distの状態:ビルド済み

1. Atmark Distの初期化

まず、makeコマンドにdistcleanターゲットを指定して、Atmark Distを初期化します。カーネル設定とユーザランド設定も初期化されます。ユーザランド設定は以下のように保存できますが、カーネル設定はカーネルソースを新しい物に置き換えてから再設定するようにお願いします。


[PC ~/atmark-dist]$ make menuconfig

  Kernel/Library/Defaults Selection  --->
    [*] Customize Vendor/User Settings

  # < Exit > を2回選択後に、< Yes >を選択してください。
  < Exit > --> < Exit > --> < Yes >

  Save Configuration to an Alternate File

    my.userland.config

  <  Ok  > --> < Exit > --> < Yes >

[PC ~/atmark-dist]$ make distclean
[...]
rm -rf romfs config.in config.arch config.tk images
rm -f modules/config.tk
rm -rf .config .config.old .oldconfig autoconf.h
make ARCH=arm CROSS_COMPILE=arm-linux- -C linux-2.6.x distclean
make[1]: ディレクトリ `/home/atmark/temp/howtos/linux-2.6.12.3-a9-10' に入ります
make[1]: ディレクトリ `/home/atmark/temp/howtos/linux-2.6.12.3-a9-10' から出ます
[PC ~/atmark-dist]$

2. 新しいカーネルソースの準備

新しいバージョンのカーネルソースを取得して、Atmark Distの上のディレクトリに展開します。


[PC ~/atmark-dist]$ cd ..
[PC ~]$ tar zxf linux-2.6.12.3-a9-11.tar.gz
[PC ~]$ cd atmark-dist
[PC ~/atmark-dist]$

3. カーネルソースの置き換え

今まで利用していたカーネルソースへのシンボリックリンクを削除して、新しいバージョンのソースを削除します。


[PC ~/atmark-dist]$ rm -v linux-2.6.x
[PC ~/atmark-dist]$ ln -sv ../linux-2.6.12.3-a9-11 linux-2.6.x
create symbolic link `linux-2.6.x' to `../linux-2.6.12.3-a9-11'

これで新しいカーネルのソースを利用できます。makeコマンドにconfigターゲットを指定して、Atmark Distを新しくセットアップしてください。


[PC ~/atmark-dist]$ make config

ユーザランド設定を保存した場合、make configを実行後、以下のようにロードできます。


[PC ~/atmark-dist]$ make menuconfig

  Kernel/Library/Defaults Selection  --->
    [*] Customize Vendor/User Settings

  # < Exit > を2回選択後に、< Yes >を選択してください。
  < Exit > --> < Exit > --> < Yes >

  Load an Alternate Configuration File

    my.userland.config

  <  Ok  > --> < Exit > --> < Yes >