これまでに、組み込みLinuxシステムとは何か、Armadilloとはどういうものかについて説明してきました。本章では、実際の開発作業に入る前に、Armadilloの基本的な操作方法について説明します。
本章で説明することは、Armadilloを起動して、簡単なコマンドを入力し、Armadilloを終了するといった、本当に基本的なことと、ファイルの編集、ネットワーク接続だけです。あえて、詳しい説明はおこないません。Armadilloとはどのようなコンピューターなのか、実際に動かして確認してください。
LinuxやArmadilloの取扱いに慣れている方には、本章の内容は不要かもしれません。しかし、随所にArmadilloを上手く扱うためのヒントや、あまり意識されていないけれども実は重要なことが書かれていますので、一度目を通してみてください。
Armadilloを使用するにあたって、以下のような点にご注意ください。場合によっては、Armadilloが壊れる可能性があります。
- 基板に、落下や衝撃などの強い振動を与えないでください。
- 電源が入っている状態で端子に触らないでください。
- 基板のまわりに金属ゴミ等がある状態では使用しないでください。
- Armadilloや周辺回路に電源が入っている状態で、活線挿抜対応インターフェース(LAN、USB、マイク、ヘッドフォン)以外へのコネクタ着脱は、絶対に行わないでください。
- 電源および入出力からの過大なノイズやサージ、電源電圧の急激な変動等により、使用しているCMOSデバイスがラッチアップを起こす可能性があります。いったんラッチアップ状態となると、電源を切断しないかぎりこの状態が維持されるため、デバイスの破損につながることがあります。ノイズの影響を受けやすい入出力ラインには、保護回路を入れることや、ノイズ源となる装置と共通の電源を使用しない等の対策をとることをお勧めします。
- ArmadilloにはCMOSデバイスを使用していますので、ご使用になる時までは、帯電防止対策された出荷時のパッケージ等にて保管してください。
- microSDコネクタおよびそのカバーや、Armadillo-440とLCD拡張ボードを接続しているフラットケーブルコネクタは、破損しやすい部品になっています。無理に力を加えて破損することのないよう十分注意してください。
Armadilloを使った組み込みLinuxシステム開発に必要な機材を表4.1「必要な機材」に示します。
最低限、Armadillo本体と、ソフトウェアの開発やArmadilloの操作を行うための作業用PC、シリアルクロスケーブルだけあれば開発をスタートすることができます。特殊なJTAG-ICEやフラッシュライタなどは必要ありません。この手軽さがArmadilloの魅力でもあります。
表4.1 必要な機材
機材 | 説明 |
---|
Armadillo | 「Armadillo-420ベーシックモデル 開発セット」または「Armadillo-440液晶モデル 開発セット」 |
作業用PC | LinuxまたはWindowsが動作し、1ポート以上のシリアルインターフェース[]を持つPC |
シリアルクロスケーブル | D-Sub 9ピン(メス - メス)のシリアルクロスケーブル |
シリアル通信ソフトウェア | Linuxでは「minicom」、Windows では「Tera Term」など |
LANケーブル | ArmadilloとLANを経由した通信を行う場合に必要 |
スイッチングハブ | 作業用PCとArmadilloをハブを介して接続する場合に必要[] |
| 注意: フラッシュメモリは出荷状態に |
---|
以降の説明では、Armadilloは出荷状態になっていることを想定しています。 Armadilloのフラッシュメモリを書き換えている場合は、「Armadillo-400シリーズソフトウェアマニュアル」の「フラッシュメモリの書き換え方法」を参照して、ブートローダー、カーネル、ユーザーランドの各領域を標準の最新のイメージファイルに書き換えてください。 また、コンフィグ領域を書き換えている場合は、「Armadillo-420ベーシックモデル開発セット スタートアップガイド」または「Armadillo-440液晶モデル開発セット スタートアップガイド」の「コンフィグ領域の初期化」を参照して、コンフィグ領域を出荷状態に戻してください。 |
図4.1「Armadillo-420 ベーシックモデル接続例」もしくは図4.2「Armadillo-440 液晶モデル接続例」に示す接続例を参考に、Armadilloと作業用PCおよび周辺機器を接続してください。
Armadillo-400シリーズの標準状態ではシリアルインターフェース1(CON3、D-Sub 9ピンコネクタ)をシリアルコンソールとして使用します。そのため、作業用PCとArmadilloのシリアルインターフェースをクロスケーブルで繋ぎます。
また、Armadilloは様々なネットワーク機能を持っています。作業用PCからArmadilloにネットワーク越しに接続するために、LANケーブルで接続します。
なお、ジャンパピンにジャンパソケットがささってショート状態になっている場合は、外してオープン状態にしておいてください。ジャンパの設定の詳細については表5.1「ジャンパ設定」で説明します。
| ジャンパソケットをなくさない方法 |
---|
ジャンパソケットは開発セットに一つしか入っていませんが、すぐになくしてしまいがちです。 ジャンパソケットの片足をジャンパピンにさしたままにしておくと、なくさずに済みます。 |
Armadilloのシリアルコンソールを使用するため、作業用PCでシリアル通信ソフトウェアを使用します。
作業用PCのOSがWindowsの場合は、「Tera Termの設定」を参照し、シリアル通信ソフトウェアの設定を行ってください。
作業用PCのOSがLinuxの場合は、「minicomの設定」を参照し、シリアル通信ソフトウェアの設定を行ってください。
本章では、Tera Termを使用して、Armadilloにシリアル経由で接続するための設定方法を順を追って説明します。
SourceForgeのTera Termプロジェクト[]からダウンロードし、インストールしたTera Term 4.67[]を使用します。
Tera Termのインストール方法や、使い方についての詳細はTera Term Home Page[]を参照してください。
以下の手順で、Tera Termのシリアルポートの設定を行ってください。
| Tera Termの設定を保存する方法 |
---|
接続の設定を設定ファイル(TERATERM.INI )に保存しておくことで、次回起動時からは自動的にシリアルポートに接続することができます。 設定を保存するには、「設定」メニューから「設定の保存」を選択してください。「Tera Term: 設定の保存」ダイアログが表示されますので、保存するファイルを指定し、「OK」ボタンを押すことで保存できます。 |
LinuxからArmadilloに接続する場合は、minicomを使用します。
本章では、minicomを使用した場合の接続設定について説明します。表4.3「シリアル通信設定」に示すパラメーターに設定します。
表4.3 シリアル通信設定
項目 | 設定
|
---|
ボーレート | 115,200 bps |
データ長 | 8 bit |
ストップビット | 1 bit |
パリティビット | なし |
フロー制御 | なし |
Armadilloは、電源(AC アダプタ)と接続すると自動で起動するようになっています。
Armadilloが起動すると、PCのシリアル通信ソフトウェアに以下のような起動ログが表示されます。Armadilloの起動シーケンス及び起動ログの詳細については、5章Armadilloが動作する仕組みで説明します。
起動が完了すると、ログインプロンプトが表示されます。
例として、Armadillo-420のログインプロンプトを以下に示します。
atmark-dist v1.45.0 (AtmarkTechno/Armadillo-420)
Linux 3.14.36-at4 [armv5tejl arch]
armadillo420-0 login:
表4.4「シリアルコンソールログイン時のユーザー名とパスワード」に示すユーザーとパスワードでログインすることができます。ユーザーの詳しい説明については第2部「Linuxの仕組みと運用、管理」の「ユーザー管理」で説明します。
表4.4 シリアルコンソールログイン時のユーザー名とパスワード
ユーザー名 | パスワード | 権限 |
---|
root | root | 特権ユーザー |
guest | (なし) | 一般ユーザー |
本章では、以下のように入力してrootユーザーでログインしてください。
| ユーザー名に「root」と入力した後、Enterキーを入力します。 |
| パスワードに「root」と入力した後、Enterキーを入力します。パスワードは入力しても表示されません。 |
正常にログインできると、プロンプトが表示されます。
例として、Armadillo-420でログインした場合のプロンプトを以下に示します。[]
プロンプトは、シェルというプログラムが表示しています。コマンドを実行する場合はプロンプトの右側にコマンドを入力します。
シェルは、ユーザーの入力を読み取り、コマンドを実行するプログラムで、コマンドラインインタープリターとよばれることもあります。カーネルの外層として機能し、ユーザーとのインターフェースになることから、シェル(殻)という名称になっています。Windowsのコマンドプロンプトのようなものです。
本書では、コマンドは以下の書式で記述します。
例えば、指定した文字と改行を表示するechoコマンドの場合、以下のように表記します。
図4.18「echoコマンドの書式」は、echoコマンドの引数として0個以上の値を指定できることを意味します。
echoコマンドを実行すると、以下のような表示が得られます。
| 「echo」と入力した後、Enterキーを入力するとechoコマンドが実行されます。echoコマンドは引数を指定せずに実行すると改行のみを表示します。 |
| 引数を指定してechoコマンドを実行すると、引数に指定された文字列と改行を表示します。 |
| echoコマンドには複数の引数を指定することができます。 |
色々な操作を説明する前に、Armadilloを安全に終了する方法について確認しておきます。
Armadilloの標準状態では、ファイルはすべてRAMディスク上にあります。RAMディスクはメモリ(RAM)の一部を仮想的なストレージ[]として使う仕組みです。そのため、ファイルに対して色々な操作をおこなっても、電源を切るとすべて消えてしまいます。つまり、どのような操作を(誤って)おこなったとしても、再起動すれば最初からやり直しができることになります。これは、瞬断などが起きやすい環境で動作する組み込みシステムとしては、重要な仕組みです。
もちろん、再起動しても変更を保存する方法もあります。そのことについては、「変更したArmadilloの設定を保存する」で説明します。
Armadilloを安全に終了させるには、次のようにコマンドを実行してください。
[armadillo ~]#
halt
[armadillo ~]#
System is going down for system reboot now.
Starting local stop scripts.
Syncing all filesystems: done
Unmounting all filesystems: umount: udev busy - remounted read-only
umount: devtmpfs busy - remounted read-only
done
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system halt
imx2-wdt imx2-wdt.0: Device shutdown: Expect reboot!
reboot: System halted
「reboot: System halted」と表示されたら、Armadilloの動作は停止します。この状態でACアダプタを抜くことで、Armadilloを安全に電源オフすることができます。
| 注意: halt後の動作 |
---|
「reboot: System halted.」と表示されてから約 128 秒後、Armadillo は自動的に再起動します。 |
| 注意: 電源遮断時のリムーバブルメディアの扱い |
---|
USBメモリやmicroSD/SDカードなどのリムーバブルメディアにデータを書き込んでいる途中に電源を切断した場合、ファイルシステム、及び、データが破損する恐れがあります。必ず、リムーバブルディスクをアンマウントするか、もしくはhaltコマンドを実行[]してから電源を切断してださい。 |
基本的なコマンドの例として、ディレクトリとファイルを操作するコマンドについて、いくつか説明します。
Linuxを含むUnix系OSのファイルシステムは、ディレクトリとファイルを階層的に配置したものです。ディレクトリは、Windowsでいうところのフォルダと同様の概念で、ディレクトリの中に複数のディレクトリとファイルを配置することができます。
ディレクトリとファイルの階層構造を「木の枝分かれ」に例えてディレクトリツリーといい、ディレクトリツリーの「根」の部分に当たる、最上位のディレクトリをルートディレクトリといいます。すべてのディレクトリまたはファイルは、ルートディレクトリから辿ることができます。
自分が現在いるディレクトリを、カレントディレクトリ(またはワーキングディレクトリ)といいます。Linuxシステムでは、ログインした直後のカレントディレクトリは、ユーザーごとに決まったディレクトリになっています。この、ログイン直後のカレントディレクトリをホームディレクトリといいます。
ディレクトリやファイルの位置を示す文字列を、パスといいます。ルートディレクトリを示すパスは、/
です。ルートディレクトリの下にhome
ディレクトリがある場合、home
ディレクトリのパスは/home
と表します。
パスにはいくつか特殊な意味を持つ文字があります。最初の文字以外にある/
(即ち、ルートディレクトリを示す/
以外の/
)は、ディレクトリ名の区切りを意味します。例えば、home
ディレクトリの下にguest
ディレクトリがある場合、guest
ディレクトリのパスは、/home/guest
となります。~
は、ホームディレクトリを意味します。また、.
はカレントディレクトリを、..
は一つ上のディレクトリを意味します。
なお、ルートディレクトリからの位置を示すパスを絶対パスといいます。それに対して、あるディレクトリからの相対的な位置を示すパスを相対パスといいます。/home/guest
は絶対パスで、../hoge.txt
は一つ上のディレクトリのhoge.txt
というファイルを意味する相対パスです。
4.7.2. ディレクトリとファイルを操作するコマンド
本章で使用するディレクトリとファイル操作に関するコマンドを表に示します。
表4.5 ディレクトリとファイル操作に関するコマンド
コマンド | 説明
|
---|
cd [dir] | ディレクトリを移動します |
pwd | カレントディレクトリを表示します |
mkdir <dir> | ディレクトリを作成します |
rmdir <dir> | 空のディレクトリを削除します |
ls [dir] | 指定したディレクトリにあるファイルを表示します |
cat <file> | ファイルの内容を表示します |
cp <from> <to> | ファイルとディレクトリをコピーします |
mv <from> <to> | ファイルやディレクトリを移動または名称変更します |
rm <file> | ファイルとディレクトリを削除します |
表4.5「ディレクトリとファイル操作に関するコマンド」に示したコマンドを使用して、以下の内容を行っていきます。
- カレントディレクトリを表示する。
- ディレクトリを移動し、カレントディレクトリが変わっている事を確認する。
- ホームディレクトリに移動する。
- 空のディレクトリを作成する。
- ディレクトリにファイルをコピーする。
- ディレクトリの内容を表示する。
- ファイルの内容を表示する。
- ファイルの名前を変更する。
- ファイルを削除する。
- ディレクトリを削除する。
それでは、実際にコマンドを実行し、ファイルの操作を行います。
カレントディレクトリを表示する。
まず最初に、カレントディレクトリを調べてみます。カレントディレクトリはpwdコマンドを使用して調べることができます。
以下のコマンドを実行して、カレントディレクトリを表示させてください。
[armadillo ~]#
pwd
/root
pwdコマンドを実行すると/root
という結果が表示されました。これでカレントディレクトリは/root
ディレクトリであることが確認できます。
ディレクトリを移動し、カレントディレクトリが変わっている事を確認する。
次に/home
ディレクトリに移動してみます。ディレクトリの移動に使用するコマンドはcdコマンドです。cdコマンドの引数として/home
ディレクトリを絶対パスで指定してください。
以下のコマンドを実行して、ディレクトリを移動してください。
[armadillo ~]#
cd /home
[armadillo /home]#
pwd
/home
これでカレントディレクトリが/home
ディレクトリに変わりました。
ホームディレクトリに移動する。
次はホームディレクトリに戻ってみます。先ほどはcdコマンドに移動したいディレクトリを引数として使用しましたが、ホームディレクトリに移動する場合、引数は必要ありません。
以下のコマンドを実行して、ホームディレクトリに移動してください。
[armadillo /home]#
cd
[armadillo ~]#
pwd
/root
カレントディレクトリが/root
ディレクトリに戻りました。
空のディレクトリを作成する。
次は、ディレクトリの操作について説明します。まずはディレクトリを作成してみます。ディレクトリを作成するコマンドはmkdirコマンドです。
以下のコマンドを実行して、ディレクトリの作成をしてください。
[armadillo ~]#
mkdir dir
mkdirコマンドでdir
ディレクトリを作成しました。
ディレクトリを作成したことを確認するにはlsコマンドを使用します。lsコマンドは引数に指定したディレクトリにあるファイルを表示します。引数に何も指定しなかった場合は、カレントディレクトリにあるファイルを表示します。
以下のコマンドを実行して、カレントディレクトリにあるファイルを表示してください。
[armadillo ~]#
ls
dir/
さきほど作成したdir
ディレクトリが表示されます。
ディレクトリにファイルをコピーする。
ディレクトリを作成しましたので、ファイルをdir
ディレクトリに保存してみます。すでにArmadillo上にあるファイルをdir
ディレクトリにコピーします。ファイルをコピーするコマンドはcpコマンドです。
以下のコマンドを実行し、ホスト名を設定するファイル(/etc/config/HOSTNAME
)をdir
ディレクトリにコピーしてください。[]
[armadillo ~]#
cp /etc/config/HOSTNAME dir
dir
ディレクトリにHOSTNAME
ファイルをコピーしました。
| シェルの補完機能 |
---|
長いファイル名を間違えずに入力するのは、大変です。そのため、シェルにはコマンドやパスを補完してくれる機能があります。 例えば、以下のように「cp /e」まで入力したあと、Tabキーを入力すると「cp /etc/」まで補完してくれます。 [armadillo ~]# cp /eTab
[armadillo ~]# cp /etc/
候補が複数ある場合は、2回タブを入力することで、候補を列挙してくれます。例えば、以下のように「cp /etc/」まで入力したあと、Tabキーを2回入力すると、「/etc」以下のディレクトリがすべて表示されます。 [armadillo ~]# cp /etc/TabTab
/etc/avahi/ /etc/dhcpc/ /etc/ppp/ /etc/ssh/
/etc/config/ /etc/init.d/ /etc/rc.d/ /etc/terminfo/
/etc/default/ /etc/network/ /etc/snmp/ /etc/udev/
補完は、コマンドにも有効です。そのため、プロンプトで2回Tabキーを入力すると、実行可能なコマンドをすべて表示してくれます。 [armadillo ~]# TabTab
\[ flatfsd mail sort
addgroup fold makedevs spawn-fcgi
adduser free md5sum ssh
adjtimex freeramdisk mesg ssh-keygen
amixer fsck mjpg_streamer sshd
:
:
:
|
ディレクトリの内容を表示する。
実際にコピーされているかをlsコマンドを使って確認してみます。lsコマンドは引数にdir
を指定することで、dir
ディレクトリにあるファイルを表示することができます。
以下のコマンドを実行し、dir
ディレクトリにHOSTNAME
ファイルがあることを確認してください。
[armadillo ~]#
ls dir
HOSTNAME
lsコマンドの結果から、HOSTNAME
ファイルがdir
ディレクトリにコピーされたことがわかります。
ファイルの内容を表示する。
次に、HOSTNAME
ファイルの内容を表示してみます。ファイルの内容を表示するコマンドはcatコマンドです。
以下のコマンドを実行しdir/HOSTNAME
ファイルの内容を表示してください。
[armadillo ~]#
cat dir/HOSTNAME
armadillo420-0
catコマンドの結果としてarmadillo420-0と表示されます。armadillo420-0というのはHOSTNAME
ファイルに書かれている内容が表示されたものです。
ファイルの名前を変更する。
次は、ファイルの名前を変更してみます。ファイルの名前を変更するコマンドはmvコマンドです[]。
以下のコマンドを実行し、HOSTNAME
ファイルの名前をname
ファイルに変更してください。
[armadillo ~]#
mv dir/HOSTNAME dir/name
[armadillo ~]#
ls dir
name
[armadillo ~]#
cat dir/name
armadillo420-0
lsコマンドを使用してdir
ディレクトリのファイルを見ると、HOSTNAME
ファイルがなくなって、代わりにname
ファイルができています。catコマンドでname
ファイルの中身を見てみると、確かにHOSTNAME
ファイルと同じであることが確認できます。
ファイルを削除する。
次は、ファイルを削除してみます。ファイルを削除するコマンドはrmコマンドです。
以下のコマンドを実行し、dir/name
ファイルを削除してください。「rm : remove ‘dir/name’?」と削除してもよいかの確認がでますので、yキーを押してから、Enterキーを押してください。
[armadillo ~]#
rm dir/name
rm: remove `dir/name'? y
[armadillo ~]#
ls dir
lsコマンドを使用してdir
ディレクトリのファイルを見ると、name
ファイルが削除されていることがわかります。
ディレクトリを削除する。
次に、ディレクトリを削除してみます。ディレクトリの削除をするコマンドはrmdirコマンドです。
以下のコマンドを実行し、dir
ディレクトリを削除してください。
[armadillo ~]#
rmdir dir
[armadillo ~]#
ls
lsコマンドを実行しても何も表示されません。これでdir
ディレクトリが削除されたことがわかります。rmdirコマンドは引数に指定したディレクトリが空でない場合はエラーが発生し、ディレクトリを削除することができません。空でないディレクトリを削除する場合は、rmコマンドに-r
オプションを付けて実行することで削除できます。
以上で、ディレクトリとファイルを扱うための基本的なコマンドは終了です。
次の章ではファイルを作成、編集するための方法を説明していきます。
Linuxでは、多くのアプリケーションの設定がテキスト形式で保存されており、テキストエディタを使用する機会が頻繁にあります。本章では、ほとんどのLinuxシステムで標準でインストールされているviエディタの使い方を簡単に説明します。
viエディタは、Windowsで一般的なエディタ(メモ帳など)とは異なり、モードを持っていることが大きな特徴です。
viのモードには、コマンドモードと入力モードがあります。コマンドモードの時に入力した文字はすべてコマンドとして扱われます。入力モードでは、通常のエディタと同じように、文字の入力ができます。
viを起動するには、以下のコマンドを入力します。
[armadillo ~]#
vi
[ファイル名]
file
オプションにファイル名のパスを指定すると、ファイルの編集(指定されたファイルが存在しない場合は新規作成)を行ないます。
viはコマンドモードの状態で起動します。
viエディタでの文字の入力は、入力モードで行うことができます。viエディタは起動直後はコマンドモードになっているため、文字を入力するにはコマンドモードから入力モードへ移行しなければなりません。
コマンドモードから入力モードに移行するには、表4.6「入力モードに移行するコマンド」に示すコマンドを入力します。入力モードへ移行後は、キーを入力すればそのまま文字が入力されます。
コマンドはすべて、コマンドモードでのキー入力により実行できます。例えば、「i」コマンドを実行したい場合は、iキーを押すことで実行できます。
入力モードからコマンドモードに戻りたい場合は、ESCキーを入力することで戻ることができます。現在のモードがわからくなった場合は、ESCキーを入力し、一旦コマンドモードへ戻ることにより混乱を防げます。
| 注意: 日本語変換機能をOFFに |
---|
viのコマンドを入力する時は日本語変換機能(IME等)をOFFにしてください。 |
表4.6 入力モードに移行するコマンド
コマンド | 動作 |
---|
i | カーソルのある場所に挿入 |
a | カーソルの後ろに挿入 |
入力モードに移行するコマンドには、「i」と「a」の二つがあります。「i」、「a」それぞれのコマンドを入力した場合の、文字入力の開始位置を図4.20「入力モードに移行するコマンドの説明」に示します。
| viでの文字削除 |
---|
コンソールの環境によってはBS(Backspace)キーで文字が削除できず、「^H」文字が入力される場合があります。その場合は、「文字の削除」で説明するコマンドを使用し、文字を削除してください。 |
方向キーでカーソルの移動ができますが、コマンドモードで表4.7「カーソルの移動コマンド」に示すコマンドを入力することでもカーソルを移動することができます。
表4.7 カーソルの移動コマンド
コマンド | 動作 |
---|
h | 左に1文字移動 |
j | 下に1文字移動 |
k | 上に1文字移動 |
l | 右に1文字移動 |
ファイルの保存、終了をおこなうコマンドを表4.9「保存・終了コマンド」に示します。
表4.9 保存・終了コマンド
コマンド | 動作 |
---|
:q!⏎ | 変更を保存せずに終了 |
:w [ファイル名] ⏎ | ファイル名を指定して保存 |
:wq⏎ | ファイルを上書き保存して終了 |
保存と終了を行うコマンドは「:」からはじまるコマンドを使用します。:キーを入力すると画面下部にカーソルが移り入力したコマンドが表示されます。コマンドを入力した後Enterキーを押すことで、コマンドが実行されます。
現在編集中のファイルを保存せず終了する場合は「:q!」コマンドを、ファイルを保存して終了する場合は「:wq」コマンドを実行してください。
Armadilloの標準状態では、起動すると各種サーバーが自動で起動するようになっています。本章ではArmadilloで動作しているWebサーバーに、ネットワーク越しに作業用PCからアクセスする方法を説明します。
まずは、ネットワーク接続の設定方法について説明します。
ここでは、図4.22「ネットワーク構成例」のネットワークの接続を例として説明します。
PCのIPアドレスを192.168.0.1に設定し、以下の手順を行ってください。
Armadilloのネットワークの設定ファイルは/etc/config/interfaces
です。
表4.10「固定IPアドレス設定例」に示す内容に設定変更するには、エディタで/etc/config/interfaces
を、図4.23「設定変更後のinterfacesファイル」で示す内容に変更します。
表4.10 固定IPアドレス設定例
項目 | 設定
|
---|
IPアドレス | 192.168.0.2 |
サブネットマスク | 255.255.255.0 |
4.9.2. viエディタを使用したネットワーク設定
ここではviエディタでネットワークの設定を変更する手順を説明します。
viエディタの使用方法をご存知の方は、この章を読み飛ばしても構いません。
以上で、ネットワークの設定は完了です。
図4.27「ネットワークの設定を反映させる」に示すコマンドを実行し、変更したネットワークの設定をシステムに反映させます。
変更後のIPアドレスは「ifconfig」コマンドで確認できます。
[armadillo ~]#
ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:11:0C:xx:xx:xx
inet addr:192.168.0.2 Bcast:0.0.0.0 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:107585 (105.0 KiB) TX bytes:9273 (9.0 KiB)
Base address:0x6000
「inet addr」(IPアドレス)が「192.168.0.2」、「Mask」(サブネットマスク)が「255.255.255.0」になっていることを確認してください。
4.9.4. PCからArmadilloのWebサーバーにアクセスする
Armadilloで動作しているWebサーバーにアクセスするには、作業用PCのWebブラウザのアドレスバーに「http://192.168.0.2/」と入力してください。
ネットワーク設定が適切になされていれば、Webブラウザに図4.28「Webサーバーのトップページ」が表示されます。
4.10. 変更したArmadilloの設定を保存する
「動作の停止と電源オフ」で説明したように、Armadilloではファイルやディレクトリを変更しても再起動を行うと、その変更は消えてしまいます。但し、特定のディレクトリ(/etc/config
ディレクトリ)にあるファイルは、変更を保存することができます。
Armadilloでは、フラッシュメモリの一部をコンフィグ領域として使用し、そこに/etc/config
ディレクトリの内容を書き込むことができます。コンフィグ領域に保存した内容は起動時に復元されるため、/etc/config
ディレクトリ内のファイルへの変更を保存することができます。コンフィグ領域からのデータの読出し、またはコンフィグ領域への書込みには、flatfsdコマンドを使用します。
これまでに説明した手順を順番に実行してきている場合、/etc/config/interfaces
の内容を書き換えているはずです。この状態で再起動すると、その変更内容が失われます。
以下のflatfsdコマンドを-s
オプションを付けて実行すると、/etc/config
ディレクトリの内容が、フラッシュメモリのコンフィグ領域に保存されます。
[armadillo ~]#
flatfsd -s
以下のようにrebootコマンドを入力して、Armadilloを再起動してください。
[armadillo ~]#
reboot
[root@armadillo420-0 (ttymxc1) ~]#
System is going down for system reboot now.
Starting local stop scripts.
Syncing all filesystems: done
Unmounting all filesystems: umount: udev busy - remounted read-only
umount: devtmpfs busy - remounted read-only
done
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system reboot
imx2-wdt imx2-wdt.0: Device shutdown: Expect reboot!
reboot: Restarting system
Hermit-At v3.8.0 (armadillo4x0) compiled at 12:09:14, Oct 12 2015
:
:
:
再起動後に、/etc/config/interfaces
の内容が保存されていることを確認してください。
flatfsdコマンドは-s
以外にもいくつかのオプションがあります。主な引数を表4.11「flatfsdの主な引数」に示します。
表4.11 flatfsdの主な引数
引数 | 動作 |
---|
-r
| コンフィグ領域から設定を読み込む |
-s
| コンフィグ領域に設定を保存する |
-w
| コンフィグ領域を初期化し、デフォルトの設定を保存する[] |
-h
| flatfsdコマンドのヘルプを表示します |