第4章 使用方法

この章ではArmadilloの基本的な使用方法の説明を行います。

4.1. シリアル通信ソフトウェアの設定

シリアル通信ソフトウェアを起動し、シリアルの通信設定を、表 4.1. 「シリアル通信設定」のように設定してください。

[警告]

Armadillo-240では、RS232Cレベル変換アダプターを経由させる必要があります。

表 4.1. シリアル通信設定

項目設定
転送レート115,200bps
データ長8bit
ストップビット1bit
パリティなし
フロー制御なし

4.2. 起動

JP1、JP2をオープンに設定して電源を接続すると、Linuxが起動します。正常に起動した場合、シリアルインターフェース1に起動ログが出力されます。以下は、Armadillo-240における例です。

Uncompressing  kernel....................................................................................................done.
Uncompressing ramdisk................................................................................................................................
..............................................................................done.
Doing console=ttyAM0,115200
Doing mtdparts=armadillo2x0-nor:0x10000(bootloader)ro,0x170000(kernel),0x670000
(userland),-(config)
Linux version 2.6.12.3-a9-5 (atmark@pc-nsx) (gcc version 3.4.4 20050314 (prerelease)
(Debian 3.4.3-13)) #1 Fri Jun 16 18:43:41 JST 2006
CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Machine: Armadillo-240
ATAG_INITRD is deprecated; please update your bootloader.
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists
Kernel command line: console=ttyAM0,115200 mtdparts=armadillo2x0-nor:0x10000
(bootloader)ro,0x170000(kernel),0x670000(userland),-(config)
PID hash table entries: 512 (order: 9, 8192 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 32MB 32MB = 64MB total
Memory: 54768KB available (2670K code, 609K data, 96K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
Freeing initrd memory: 6591K
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore:  registered new iver hub
Bluetooth: Core ver 2.7
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
Initializing Cryptographic API
fb0: EP93xx frame buffer at 800x600x24
gpio: Armadillo-2x0 GPIO driver, (C) 2005-2006 Atmark Techno, Inc.
led: Armadillo-2x0 LED driver, (C) 2005-2006 Atmark Techno, Inc.
sw: Armadillo-2x0 Takt Switch driver, (C) 2006 Atmark Techno, Inc.
ttyAM0 at MMIO 0x808c0000 (irq = 52) is a EP93XX
ttyAM1 at MMIO 0x808d0000 (irq = 54) is a EP93XX
ttyAM2 at MMIO 0x808e0000 (irq = 55) is a EP93XX
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
loop: loaded (max 8 devices)
i2c /dev entries driver
i2c-armadillo9: i2c Armadillo-9 driver, (C) 2004-2005 Atmark Techno, Inc.
i2c-at24cxx: i2c at24cxx eeprom driver, (C) 2003-2005 Atmark Techno, Inc.
armadillo2x0-nor: Found 1 x16 devices at 0x0 in 16-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
armadillo2x0-nor: CFI does not contain boot bank location. Assuming top.
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
4 cmdlinepart partitions found on MTD device armadillo2x0-nor
parse_mtd_partitions:4
Creating 4 MTD partitions on "armadillo2x0-nor":
0x00000000-0x00010000 : "bootloader"
0x00010000-0x00180000 : "kernel"
0x00180000-0x007f0000 : "userland"
0x007f0000-0x00800000 : "config"
No NAND device found!!!
ep93xxusb ep93xxusb.0: EP93xx OHCI
ep93xxusb ep93xxusb.0: new USB bus registered, assigned bus number 1
ep93xxusb ep93xxusb.0: irq 56, io base 0xff020000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.01:USB HID core driver
pegasus: v0.6.12 (2005/01/13), Pegasus/Pegasus II USB Ethernet driver
usbcore: registered new driver pegasus
zd1211 - http://zd1211.ath.cx/
Based on www.zydas.com.tw driver version 2.0.0.0
usbcore: registered new driver zd1211
Bluetooth: HCI USB driver ver 2.8
usbcore: registered new driver hci_usb
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
IPv4 over IPv4 tunneling driver
ip_tables: (C) 2000-2002 Netfilter core team
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 10
Disabled Privacy Extensions on device c02ee504(lo)
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
NET: Registered protocol family 15
Bluetooth: L2CAP ver 2.7
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM ver 1.5
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
SCTP: Hash tables configured (established 2048 bind 4096)
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 6591KiB [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 96K
init started:  BusyBox v1.00 (2006.06.16-11:12+0000) multi-call binary
Starting fsck for root filesystem.
fsck 1.25 (20-Sep-2001)
ext2fs_check_if_mount: No such file or directory while determining whether /dev/ram0
is mounted.
/dev/ram0: clean, 614/1024 files, 5354/6591 blocks
Checking root filesystem:        done
Remounting root rw:              done
Mounting proc:                   done
Mounting usbfs:                  done
Mounting sysfs:                  done
Loading /etc/config:             done
Setting hostname:                done
Cleaning up system:              done
Running local start scripts.
Changing file permissions:       done
Starting syslogd:                done
Starting klogd:                  done
Starting basic firewall:         done
Loading /etc/config:             done
Configuring network interfaces:  done
Starting inetd:                  done
Stating sshd:                    done
Starting thttpd:                 done
 
atmark-dist v1.5.1 (AtmarkTechno/Armadillo-240.Base)
Linux 2.6.12.3-a9-5 [armv4tl arch]

a240-0 login:

図 4.1. 起動ログ(Armadillo-240の例)


ベースイメージのユーザーランドでは、ログインプロンプトはシリアルインターフェース1とシリアルインターフェース2に表示されます。

4.3. コンソールログイン時のユーザ名とパスワード

ログインユーザは、次の2種類が用意されています。

表 4.2. コンソールログイン時のユーザ名とパスワード

ユーザ名パスワード権限
rootrootrootユーザ
guest(なし)一般ユーザ

4.4. ディレクトリ構成

Armadillo内のディレクトリ構成は次のようになっています。

表 4.3. ディレクトリ構成の一覧

ディレクトリ名説 明
/binアプリケーション用
/devデバイスノード用
/etcシステム設定用
 /etc/configflatfsd向け設定用
/lib共有ライブラリ用
/mntマウントポイント用
/procプロセス情報用
/rootrootホームディレクトリ
/sbinシステム管理コマンド用
/usrユーザ共有情報用
/homeユーザホームディレクトリ
 /home/ftp/pubftpデータ送受信用
 /home/www-dataWEBサーバホームディレクトリ用
/tmpテンポラリ保存用
/var変更データ用

4.5. 終了

電源を切断することでArmadilloを終了させます。

ただしIDEドライブやコンパクトフラッシュがマウントされている場合は、電源切断前にアンマウントするか、haltコマンドを実行してシステムを停止させてから電源を切断してください。これを行わない場合は、IDEドライブやコンパクトフラッシュのデータが破損する恐れがあります。

4.6. ネットワーク設定

Armadilloの「/etc/config/interfaces」ファイルを編集することで、ネットワークの設定を変更することができます。Armadillo-230はネットワークインターフェイスを2つ搭載しているため、通常のeth0に加えeth1も存在します。USBのインターフェイスを持つArmadilloでUSB対応LANアダプターを使用する場合も同じです。eth1側を設定する場合、以降eth0の個所をeth1に読み替えてください。また詳しいinterfacesの書き方については、interfacesのマニュアルを参照してください。

4.6.1. 固定IPアドレスで使用する場合

固定IPアドレスを指定する場合の設定例を次に示します。

表 4.4. ネットワーク設定例

項目設定値
IPアドレス192.168.10.10
ネットマスク255.255.255.0
ブロードキャストアドレス192.168.10.255
デフォルトゲートウェイ192.168.10.1

# /etc/config/interfaces - configuration file for ifup(8), ifdown(8)auto lo eth0
auto lo eth0
 
iface lo inet loopback
 
iface eth0 inet static
    address 192.168.10.10
    netmask 255.255.255.0
    network 192.168.10.0
    broadcast 192.168.10.255
    gateway 192.168.10.1

図 4.2. ネットワーク設定例(固定IPアドレス時)


ゲートウェイを使用しない場合、gatewayに0.0.0.0を指定してください。

gateway 0.0.0.0

図 4.3. ネットワーク設定例(ゲートウェイの無効化)


4.6.2. DNSサーバの設定

DNSサーバを設定する場合、/etc/config/resolv.confを変更します。

nameserver 192.168.10.1

図 4.4. DNSサーバの設定


変更は即座に適用されます。

4.6.3. DHCPを使用する場合

DHCPを利用してIPアドレスを取得する場合の設定例を次に示します。

# /etc/config/interfaces - configuration file for ifup(8), ifdown(8)

auto lo eth0
 
iface lo inet loopback
 
iface eth0 inet dhcp
        

図 4.5. ネットワーク設定例(DHCP使用時)


4.6.4. ネットワーク接続の開始と終了

ネットワーク接続を開始するにはifupを、ネットワーク接続を終了するにはifdownというコマンドを使用します。コマンドには開始または終了させたいインターフェイスを指定してください。

[armadillo /]# ifup eth0

図 4.6. ネットワーク接続の開始


[armadillo /]# ifdown eth0

図 4.7. ネットワーク接続の終了


4.6.5. ネットワーク設定をフラッシュメモリに保存する

ネットワーク設定に必要なファイルは、/etc/config/ディレクトリにあります。このディレクトリにあるファイルをフラッシュメモリに保存するには、flatfsdというコマンドを使います。オプション「-s」を指定し、Armadillo上でflatfsdを実行してください。

[armadillo /etc/config]# flatfsd -s

これで書き換えたネットワーク設定がフラッシュメモリに書き込まれ、次回以降の起動時に反映されます。

4.7. ネットワークブリッジの設定

複数のネットワークインターフェイスを持つArmadilloでは、ネットワークブリッジ機能を利用することができます。設定にはブリッジユーティリティ「brctl」コマンドを利用します。

ネットワークブリッジインターフェイスには、eth0などのインターフェイスと同じようにIP番号を割り当てることができます。IPアドレスを割り当てることで、他のLANインターフェイスと同じように使用することができます。IP番号の設定については 項4.6. 「ネットワーク設定」 を参照してください。

この章では2つのLANインターフェイスを持っているArmadillo-230を例として使用します。

4.7.1. ネットワークブリッジ設定の準備

始めに、Armadillo-230でネットワーク設定がすでに有効になっている場合、 項4.6.4. 「ネットワーク接続の開始と終了」 を参考にして無効にしてください。次に、各ネットワークインターフェイスの保持するIPアドレスを完全に解放した上で有効化するために、以下のようにコマンド入力してください。

[a230 ~]# ifconfig eth0 0.0.0.0
[a230 ~]# ifconfig eth1 0.0.0.0

図 4.8. ブリッジに追加するインターフェイスの有効化


4.7.2. ブリッジ作成

ブリッジを実現するため、brctlを利用して論理的なブリッジインターフェイスを作成します。続けて、このブリッジインターフェイスに2つのネットワークインターフェイスを追加します。

[a230 ~]# brctl addbr br0
[a230 ~]# brctl addif br0 eth0
device eth0 entered promiscuous mode
[a230 ~]# brctl addif br0 eth1
device eth1 entered promiscuous mod

図 4.9. ブリッジの作成


4.7.3. ブリッジの有効化

ブリッジを有効にする方法は、通常のネットワークインターフェイスと同様です。以下のコマンドを入力すると、ブリッジが動作し始めます。

[a230 ~]# ifconfig br0 0.0.0.0
br0: port 2(eth1) entering learning state
br0: port 1(eth0) entering learning state
br0: port 2(eth1) entering forwarding state
br0: port 1(eth0) entering forwarding state

図 4.10. ブリッジの有効化


4.7.4. ブリッジの廃棄

ブリッジの使用をやめる場合、まずブリッジインターフェイスを無効化するコマンドを入力します。

[a230 ~]# ifconfig br0 down
br0: port 2(eth1) entering disabled state
br0: port 1(eth0) entering disabled state

図 4.11. ブリッジの無効化


次に、ブリッジを完全に廃棄するために、追加されているネットワークインターフェイスを外し、最後にブリッジインターフェイスを削除します。

[a230 ~]# brctl delif br0 eth0
[a230 ~]# brctl delif br0 eth1
[a230 ~]# brctl delbr br0

図 4.12. ブリッジの廃棄


4.7.5. ブリッジのスクリプト例

brctlコマンドを利用すると、ブリッジの状態表示やSTPというブリッジプロトコルの設定ができます。Armadillo-230では、こうした機能を利用するためのサンプルスクリプト「/etc/init.d/bridges」が用意されています。このスクリプトを利用することで、簡単にブリッジ設定やSTPの設定を行うことができます。以下は、このスクリプトを利用してブリッジを有効化する場合の例です。

[a230 ~]# /etc/init.d/bridges create
Creating bridge:
device eth0 entered promiscuous mode              
device eth1 entered promiscuous mode
Upping bridge (8sec):
br0: port 2(eth1) entering listening state
br0: port 1(eth0) entering listening state
br0: port 2(eth1) entering learning state
br0: port 1(eth0) entering learning state
br0: topology change detected, propagating
br0: port 2(eth1) entering forwarding state
br0: topology change detected, propagating
br0: port 1(eth0) entering forwarding state

図 4.13. ブリッジのスクリプト例


4.8. telnetログイン

次のユーザ名/パスワードでtelnetログインが可能です。rootでのログインは行えません。root権限が必要な作業を行う場合、guestでログイン後に「su」コマンドでroot権限を取得してください。

表 4.5. telnetログイン時のユーザ名とパスワード

ユーザ名パスワード
guestなし

Armadillo-220/230/240のRecoverイメージ(出荷状態)の起動直後の状態では、telnetログインをすることができません。telnetログインをするには、/etc/inetd.confを編集し、以下のコマンドを実行してください。

telnet  stream  tcp   nowait   root    /usr/sbin/telnetd      telnetd -l /bin/login

図 4.14. /etc/inetdファイル編集例


[armadillo ~]# iptables --append INPUT --proto tcp --dport telnet --jump ACCEPT

図 4.15. ファイアウォールの設定コマンド入力例


[armadillo ~]# inetd

図 4.16. スーパーサーバ起動コマンド


4.9. ファイル転送

ftpによるファイル転送が可能です。次のユーザ/パスワードでログインしてください。ホームディレクトリは「/home/ftp」です。「/home/ftp/pub」ディレクトリに移動することでデータの書き込みが可能になります。

表 4.6. ftpのユーザ名とパスワード

ユーザ名パスワード
ftpなし

Armadillo-220/230/240のRecoverイメージ(出荷状態)の起動直後の状態では、ftpによるファイル転送をすることができません。ftpによるファイル転送をするには、 図 4.16. 「スーパーサーバ起動コマンド」 を実行してください。

4.10. Webサーバ

thttpdという小さなHTTPサーバが起動しており、Webブラウザを使ってArmadilloにアクセスすることができます。データディレクトリは「/home/www-data」です。URLは「http://(Armadillo-240のIPアドレス)/」になります。(例http://192.168.10.10/)

4.11. sshログイン

次のユーザ名/パスワードでsshログインが可能です。rootでのログインは行えません。root権限が必要な作業を行う場合、guestでログイン後に「su」コマンドでroot権限を取得してください。

表 4.7. sshログイン時のユーザ名とパスワード

ユーザ名パスワード
guestなし