SheevaplugでUSBメモリからブートする方法を紹介します。
- ○USBブート(OSのみ)
- ・ブート用USB作成します。
私は8GBのUSBメモリを2つのパーティションに分割し7.5GBをext2,512MBをswapにフォーマットして作業を行いました。
- ファイルシステムを展開します。
OSは好きなものを選んで展開してください。ここではNANDからファイルシステムをコピーします。
# mount /dev/sda1 /mnt
# rsync -avx // /mnt/
# cp -ax /dev/* /mnt/dev
# reboot
|
- 環境変数を変更してブートします。
Marvell>> setenv bootargs console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImae),0x1fb00000@0x500000(rootfs) rw root=/dev/sda1 rootdelay=10 panic=10
Marvell>> boot
|
カーネルが2.6.30系である場合はbootargs設定時に"namd_mtd"を"orion_nand"に変更してください。 また,次回からUSBブートをデフォルトにする場合はsaveenvしてください。
- ログインしたらswapを有効にします。
- fstabを編集します。
次を追加します。
/dev/sda1 / ext2 errors=remount-ro 0 1
/dev/sda2 swap swap defaults 0 0
|
この作業だけではカーネルはNANDから呼び出しているのでカーネルもUSBから呼び出すよう設定します。
- ○USBブート(カーネル込み)
- ・カーネルのインストール
- カーネルイメージとカーネルモジュールを取得します。
まずNANDからブートし,ログインします。 なお,ここではカーネル2.6.30.7を使用します。
# 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
|
- USBメモリにカーネルをインストールします。
# mount /dev/sda1 /mnt
# cp sheeva-2.6.30.7-uImage /uImage
# tar zxvf sheeva-2.6.30.7-Modules.tar.gz -C /mnt
|
- リブートし,U-Bootの環境変数を変更します。
Marvell>> setenv bootargs console=ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImae),0x1fb00000@0x500000(rootfs) rw root=/dev/sda1 rootdelay=10 panic=10 init=/bin/bash
Marvell>> setenv bootcmd 'usb start; ext2load usb 0:1 0x8000000 /uImage; bootm 0x8000000'
Marvell>> setenv mainlineLinux yes
Marvell>> setenv arcNumber 2097
setenv cesvcid ULULULULULULPPULULULULULDA
Marvell>> boot
|
SDカードからカーネルをブートするためにはU-Bootの改造が必要なようなのでまた今度にします。
0 件のコメント:
コメントを投稿