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 >