Ubuntu Weekly Recipe

第69回 GW特別企画・電源プラグ型コンピューターSheevaPlugの使い方(1):基礎編

この記事を読むのに必要な時間:およそ 7 分

tftpサーバーの準備

母艦側でtftpサーバーの設定を行います。以下のコマンドでtftpd-hpaパッケージをインストールします。

$ sudo apt-get install tftpd-hpa

設定ファイル/etc/default/tftpd-hpaをエディタで開き,⁠RUN_DAEMON="no"」を,⁠RUN_DAEMON="yes"」に修正した上で,tftpdを起動します。

$ sudo vi /etc/default/tftpd-hpa
$ sudo /etc/init.d/tftpd-hpa start

こうして準備したtftpサーバーには,SheevaPlugが利用するuImageファイルを配置します。SheevaPlug Software & Design Information - Revision 1.2から,⁠Linux Support Package (LSP)⁠をダウンロードし,展開します。アーカイブ内の「SheevaPlug_LSP/LSP - Image/」ディレクトリ以下に,uImage.sheeva.040309というファイルがあるはずです。これがuImageファイルです。

/var/lib/tftpboot以下にこのファイルを配置し,ファイルの所有権を(念のため)変更しておきます(以下ではuImageファイルがカレントディレクトリにあることを仮定しています。注意してください)⁠

$ cp uImage.sheeva.040309 /var/lib/tftpboot
$ chown nobody:nogroup /var/lib/tftpboot/uImage.sheeva.040309

これでtftpサーバーの準備は完了です。ただし,これだけではSheevaPlugをブートできるだけで,SheevaPlugが用いる初期のルートファイルシステムが存在しません。続いてNFSサーバーの設定を行い,ルートファイルシステムを準備します。

NFSサーバーの準備

母艦側でNFSサーバーの設定を行います。以下のコマンドでNFSサーバーを準備してください。

$ sudo apt-get install nfs-kernel-server

設定ファイル/etc/exportsを編集し,SheevaPlugに割り付けるIPアドレスからのアクセスを許可しておきます。

以下の例では,SheevaPlug用に提供するNFS領域を"/extra/sheevaplug",割り付けるIPアドレスを192.168.254.21と仮定しています。お使いの環境に合わせて変更が必要です。

/extra/sheevaplug 192.168.254.21(rw,sync,no_subtree_check,no_root_squash)

NFS用の領域を準備し,NFSサーバーを起動します。

$ sudo mkdir -p /extra/sheevaplug
$ sudo /etc/init.d/nfs-kernel-server stop
$ sudo /etc/init.d/nfs-kernel-server start

NFS Rootのためのファイルシステムの展開

前出のページから⁠Host Software Support Package: Linux⁠をダウンロードし,展開しておきます。このアーカイブに含まれるrootfs.tar(LinuxHost/以下にあります)を,NFS領域に展開します。また,アーカイブを展開した上で,rootfs.tarをホームディレクトリ直下に移動させたことを仮定しています。

$ cd /extra/sheevaplug
$ sudo cp ~/rootfs.tar ./
$ sudo tar xfp rootfs.tar

ここまでの準備ができれば,いよいよ(やっと?)インストールのためのNFS Rootでのブートが行えるようになります。uBootコンソールに以下のように入力してみてください。⁠母艦」のIPアドレスとして192.168.254.20を仮定していますので,異なるアドレスが振られている場合は,適宜書き換えてください。

set ipaddr 192.168.254.21
set serverip 192.168.254.20
set rootpath '/extra/sheevaplug/rootfsv1.0'
set image_name uImage.sheeva.040309
set console
set bootargs
saveenv
set console 'console=ttyS0,115200 mtdparts=nand_mtd:0x100000@0x000000(u-boot),0x400000@0x100000(uImage),0x1f800000@0x500000(rootfs)rw'
saveenv
set bootargs_root 'root=/dev/nfs rw'
set bootcmd 'tftpboot 0x2000000 $(image_name);setenv bootargs $(console) $(bootargs_root) nfsroot=$(serverip):$(rootpath) ip=$(ipaddr):$(serverip)$(bootargs_end); bootm 0x2000000'
saveenv
boot

こうすることで,SheevaPlugのNAND領域にデータを書き込む準備ができます。セットアップのための環境が整ったところで,次週へ続きます。

著者プロフィール

吉田史(よしだふみひと)

Ubuntu Japanese Team Member株式会社創夢所属。システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。

コメント

コメントの記入