2009/10/03

Sheevaplug カーネル更新

Sheevaplugのカーネル更新手順を記録しておきます。
今回はhttp://sheeva.with-linux.com/sheeva/で配布されているビルド済みカーネルを用いて更新を行います。

○カーネル更新
・カーネル更新スクリプトを用いた更新
  1. カーネル更新用スクリプトがであるREADME-2.6.*.*をダウンロードします。
  2. # wget http://sheeva.with-linux.com/sheeva/README-2.6.30.8
  3. スクリプトを実行します。
  4. 2.6.30.7以降のカーネルに更新する場合は明示的にインストール場所を指定する必要があります。
    # bash ./README-2.6.30.8 --nandkernel ←NANDフラッシュに書き込む場合
    # bash ./README-2.6.30.8 --rootkernel ←/bootに書き込む場合

    *2.6.30.6ではオプションなしでNANDフラッシュが選択されますが,--rootkernelオプションを使用すれば/bootへのインストールも可能です。2.6.30.5以前のカーネルはオプションは使用できず,強制的にNANDフラッシュに書き込みます。
  5. 環境変数の設定
  6. 2.6.30以降のカーネルはU-Bootの環境変数の設定をしないとカーネルの起動に失敗します。
    Marvell>> setenv mainlineLinux yes
    Marvell>> setenv arcNumber 2097
    Marvell>> setenv console rootfstype=jffs2 'ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw'

  7. リブートし,カーネルバージョンを確認します。
  8. # reboot
    # uname -a
    Linux SheevaPlug 2.6.30.8 #2 PREEMPT Wed Sep 30 18:35:27 MDT 2009 armv5tel GNU/Linux

・外部デバイスからの更新
    以下の作業はカーネルとOSをUSBから起動して行います。私の場合カーネルの更新に失敗しNANDから起動できなくなったため,この方法で更新を行いました。
  1. カーネルイメージとカーネルモジュールを取得します。
  2. # wget http://sheeva.with-linux.com/sheeva/2.6.30.7/sheeva-2.6.30.7-uImage
    # wget http://sheeva.with-linux.com/sheeva/2.6.30.7/sheeva-2.6.30.7-Modules.tar.gz

    uImageをリネームします。
    # mv sheeva-2.6.30.7-uImage ./uImage
  3. カーネルイメージを書き込みます。
  4. # flash_eraseall -j /dev/mtd0
    # nandwrite -pm /dev/mtd0 uImage

  5. カーネルモジュールを書き込みます。
  6. # mount /dev/mtdblock1 /mnt
    # tar zxvf sheeva-2.6.30.7-Modules.tar.gz -C /mnt

  7. リブートしカーネルが更新されていればOKです。

0 件のコメント:

コメントを投稿