ブログ

起動時に自動的にTFTPサーバーのイメージを使う方法

at_ito
2014年8月3日 20時20分

開発時に、Linuxカーネルイメージ、ユーザーランドイメージを頻繁に変更することがあると思います。

その際に、毎回フラッシュに書き込むと時間がかかってしまいます。

そのため、起動時に自動的にTFTPサーバーからイメージをダウンロードし、そのイメージで起動する方法を紹介します。

起動時にTFTPサーバーからイメージをダウンロードする方法

Hermitのコマンドにsetbootdevice(省略: l)コマンドがあります。このsetbootdeviceでTFTPサーバーを指定することができます。

以下のコマンドを実行し、TFTPサーバーからイメージをダウンロードできるよう設定してください。

hermit> setbootdevice tftp <ArmadilloのIPアドレス> <TFTPサーバーのIPアドレス> --kernel=<Linuxカーネルイメージのファイル名> --userland=<ユーザーランドイメージのファイル名>

上記コマンドの引数について、以下に補足します。

引数 説明
<ArmadilloのIPアドレス> ArmadilloのIPアドレス(例. 192.168.139.100)を指定します。TFTPサーバーと同じネットワークアドレスにしてください。
<TFTPサーバーのIPアドレス> TFTPサーバーのIPアドレス(例. 192.168.139.101)を指定します。通常ではATDEのアドレスになるかと思います。
<Linuxカーネルイメージのファイル名> TFTPサーバーに置いたLinuxカーネルイメージのファイル名を指定します。TFTPサーバーがATDEの場合は、/var/lib/tftpbootディレクトリに置かれたファイルを指定します。
<ユーザーランドイメージのファイル名> TFTPサーバーに置いたユーザーランドイメージのファイル名を指定します。TFTPサーバーがATDEの場合は、/var/lib/tftpbootディレクトリに置かれたファイルを指定します。

setbootdeviceコマンドを実行した後、再起動を行うか、Hermitのbootコマンド実行のいずれかを行うことで、自動的にTFTPサーバーからイメージをダウンロードし、起動します。

参考1: 初期設定に戻す方法

以下のコマンドを実行し、フラッシュに書き込まれたイメージから起動するように設定してください。

hermit> setbootdevice flash

参考2: hermitのhelp

今回はHermitのsetbootdeviceコマンドを実行しましたが、hermitには他にも便利なコマンドがあります。

hermit上で、以下のようにhelpコマンドを実行することで、hermitのコマンドに関する情報が見られます。

hermit> help