DMG-ZSH01ソフトウェアユーザーズガイド(M11-JZSH01)

SOFTWARE USER’S GUIDE
DMG-ZSH01
CPZ-SH03 Linux開発キット
■ 安全にお使い頂くために
安全にご利用頂くために、本製品をご使用になる前に必ず取扱い上のご注意を最後
までお読みください。
本製品は機能追加、品質向上のため予告なく仕様を変更する場合があります。
継続的にご利用頂く場合でも、必ずSOFTWARE USER’S GUIDEをお読みください。本製品
のご使用には、ハードウェア,ソフトウェアの専門知識が必要です。
各図記号は以下のような意味を表しています。
!
!
警告
この表示を無視して誤った取扱いをすると、使用者が死亡または重傷
を負う可能性があると思われる事項があることを示しています。
注意
この表示を無視して誤った取扱いをすると、人が傷害を負うことが想
定される内容および物的損害の発生が想定される事項があることを示
しています。
禁止
分解禁止
行ってはならない禁止事項があることを示しています。指示内容
をよく読み、禁止されている事項は絶対に行わないでください。
接触禁止
静電気注意
静電気により、製品破損の恐れがありますのでご注意ください。
注意
注意すべき点を示しています。
は、インタフェース社の登録商標です。(申請中)
本書に掲載されている会社名,製品名はそれぞれ各社の商標または登録商標です。
© 2006 Interface Corporation
株式会社インタフェースの許可なく複製,改変等を行うことはできません。
DMG-ZSH01
製品ドキュメントのご紹介
本製品に関する情報を下記の通りご用意しております。
必要に応じて、適切なものをご利用ください。
マニュアル
内容
ソフトウェアユーザーズ 無償
CPZ-SH03用Linux開発キットソフトウェア(DMG-ZSH01)
ガイド
ユーザーズガイドです。
・クロスコンパイル方法
・ドライバの自動組み込み、アプリケーションの自動実行
・ネットワーク接続手順説明
・OS,開発キットのリカバリ手順
無償:弊社Web site (www.interface.co.jp)からのダウンロードは無料です。
有償:ドキュメント類の冊子(印刷物)およびソフトウェアのCD-ROMでの提供は有料販売となりま
す。
-1-
Interface Corporation
DMG-ZSH01
目 次
製品ドキュメントのご紹介
1
第1章
4
1.1
1.2
1.3
1.4
1.5
1.6
第2章
製品説明
製品構成 ......................................................................................................................................... 4
本書の表記について..................................................................................................................... 5
概要 ................................................................................................................................................. 5
機能と特長 ..................................................................................................................................... 5
動作環境 ......................................................................................................................................... 6
関連製品の機能比較..................................................................................................................... 6
製品の使用方法
7
2.1
動かしてみよう............................................................................................................................. 7
2.1.1 ターミナルエミュレータの準備をする.......................................................................... 7
■minicomの初期設定 ............................................................................................................ 7
■minicomのインストール .................................................................................................... 9
2.1.2 クロスのシリアルケーブルで接続する場合................................................................ 10
■停止方法............................................................................................................................. 13
2.1.3 telnetで接続する場合 ....................................................................................................... 14
■CPZ-SH03 内蔵CF内の/etcディレクトリの出荷時設定 .............................................. 14
■telnetで接続........................................................................................................................ 15
■停止方法............................................................................................................................. 16
2.2 クロス開発 ................................................................................................................................... 17
2.2.1 クロス開発環境の構築 .................................................................................................... 17
■Debianの場合 ..................................................................................................................... 17
(1) クロスツールチェーンのインストール ..................................................................... 17
(2) アプリケーションのコンパイル ................................................................................. 18
(3) 動作確認 .......................................................................................................................... 18
■Red Hatの場合 ................................................................................................................... 20
(1) クロスツールチェーンのインストール ..................................................................... 20
2.3 弊社ドライバソフトウェアを使用する .................................................................................. 21
2.3.1 ダウンロード .................................................................................................................... 21
2.3.2 インストール .................................................................................................................... 21
2.3.3 共通モジュール,ドライバモジュールの組み込み ...................................................... 22
2.3.4 起動時に、ドライバを組み込む方法............................................................................ 23
■ /etc/modulesに、ドライバモジュール名を登録する ................................................. 23
■ /etc/init.dディレクトリに、自動組み込みスクリプトを追加する .......................... 24
2.3.5 サンプルプログラムをコンパイルする........................................................................ 25
Interface Corporation
-2-
DMG-ZSH01
2.4
第3章
CFのリカバリ手順 ...................................................................................................................... 29
2.4.1 USB接続のCFリーダ/ライタを使う場合...................................................................... 29
2.4.2 ネットワークを使用する場合........................................................................................ 34
■ホストマシンの準備(Debian編) ...................................................................................... 34
■ホストマシンの準備(Red Hat編) .................................................................................... 38
■ネットワーク経由でCPZ-SH03 を起動 ......................................................................... 42
2.4.3 CFへの書き込み ............................................................................................................... 43
各機能の設定方法
46
3.1
アプリケーションの自動実行................................................................................................... 46
3.1.1 設定方法 ............................................................................................................................ 46
3.1.2 設定例 ................................................................................................................................ 47
3.2 リードオンリCF .......................................................................................................................... 49
3.2.1 リードオンリにする方法................................................................................................ 49
3.2.2 リードオンリを解除する方法........................................................................................ 50
3.2.3 リードオンリ設定ファイルの変更内容........................................................................ 51
3.3 Wake On LAN .............................................................................................................................. 53
3.3.1 CPZ-SH03 のMACアドレス確認方法............................................................................ 54
3.4 パッケージの追加....................................................................................................................... 55
3.4.1 apt-getコマンドを使う方法............................................................................................. 55
3.4.2 パッケージを手動でインストールする方法................................................................ 56
第4章
カーネル構築
58
4.1
kernel v2.4.17................................................................................................................................ 58
4.1.1 カーネルコンフィグレーション.................................................................................... 58
4.1.2 カーネルコンパイル ........................................................................................................ 60
4.2 kernel v2.6.11................................................................................................................................ 61
4.2.1 カーネルコンフィグレーション.................................................................................... 61
4.2.2 カーネルコンパイル ........................................................................................................ 62
4.2.3 割り込み応答性能のチューニング................................................................................ 62
■HZの値と割り込み応答性の関係................................................................................... 63
■HZの変更方法 ................................................................................................................... 65
4.3 カーネルの入れ替え................................................................................................................... 66
4.3.1 USB接続のCFリーダ/ライタを使う場合...................................................................... 66
4.3.2 ネットワークを使用する場合........................................................................................ 67
第5章
5.1
5.2
情報サービス
70
情報の入手方法........................................................................................................................... 70
製品使用登録............................................................................................................................... 70
付録
71
インストールパッケージ一覧............................................................................................................ 71
-3-
Interface Corporation
DMG-ZSH01
第1章 製品説明
1.1 製品構成
DMG-ZSH01(以降、開発キットCD)には、本書で解説する内容を実行するために必要となるファイ
ルが格納されています。
開発キットCDに含まれるファイル一覧は、以下の通りです。
ディレクトリ
cpz-auto
cpz-base
cpz-cross-tool
cpz-kernel
cpz-netboot
cpz-readonly
cpz-usbcf
rr_moved
内容
アプリケーションを自動実行させる時に使用するファイルと、使用例のファイル
があります。
Linuxベースパッケージのtar.gzファイルです。CFをリカバリする際に使用しま
す。
クロス開発環境の構築時に使用するホストマシン用のパッケージです。rpmと
debに分かれて収録しています。
CPZ-SH03用のカーネルソースコードです。
OSの再インストール時に使用するファイルです。ホストマシン上にコピーしま
す。
CPZ-SH03内蔵のCFを、リードオンリーにする時に使用するファイルです。
USB接続のCFリーダ/ライタを使用して、OSを再インストールする時に使用する
ファイルです。
CD作成時に作られたディレクトリです。本書の内容とは関連しません。
本書では、断りがない限り、上記ファイルを/optディレクトリにコピーしたものとして説明してい
ます。
開発キットCDに含まれるソフトウェアは、GNU GENERAL PUBLIC LICENSE(GPL)等に従い、配布
されています。
ライセンス条項に関しては、(http://www.opensource.jp/gpl/gpl.ja.html)等を参照してください。
CPZ-SH03内蔵CF,開発キットCDに含まれるソフトウェアは、GPLに従い、一切のソフトウェアは完
全無保証です。
Interface Corporation
-4-
DMG-ZSH01
1.2 本書の表記について
本書はkernel v2.4.17とkernel v.2.6.11共通のドキュメントです。
カーネルバージョンに依存する内容は下記の記号にて解説しています。
i
SH-Linux kernel ver. 2.4.17
i
SH-Linux kernel ver. 2.6.11
1.3 概要
本書は、CPZ-SH03用Linux開発キットソフトウェアDMG-ZSH01(開発キットCD)の
ソフトウェアユーザーズガイドです。
開発キットCDは、CPZ-SH03で動作するGNU/Linux用のクロスコンパイル環境、OSリカバリ機能を
提供するソフトウェアです。
また、開発キットCDからCFリカバリ機能だけを抜き出したBRG-0101をご使用の際にも、本書の
『29ページ 2.4 CFのリカバリ手順』を参照してください。
CPZ-SH03にはキーボードやディスプレイは接続できません。そのため、X Windowシステムはイン
ストールされていません。
コマンドラインシェルとしてはbashが利用できます。
コマンドはファイル操作やシステム起動に必要な、基本的なものが提供されています。
(インストールされているパッケージ一覧は付録『71ページ インストールパッケージ一覧』を
参照してください。)
1.4 機能と特長
●Linux OSイメージ
CPZ-SH03のCFからLinuxを起動するために必要な、システムファイルを提供しています。
ホストマシンからCPZ-SH03にネットワーク接続し、操作することができます。
●アプリケーション開発環境
CPZ-SH03上で動作させるアプリケーションの開発環境として、クロスコンパイル環境を提供
します。
●ネットワークブート,OSリカバリ機能
ネットワークブート環境を提供することにより、CPZ-SH03内蔵のCFを書き換えたり、出荷時
の状態に戻すことができます。
●カーネル再構築
CPZ-SH03を使用し、v2.4.17,v2.6.11のカーネル構築の手順を解説しています。
-5-
Interface Corporation
DMG-ZSH01
1.5 動作環境
開発キットは動作させるCPZ-SH03本体、およびクロスコンパイル環境となるホストマシンが必要
です。
クロスコンパイル環境は以下のLinuxディストリビューションで動作することを確認しております。
ディストリビューション
Debian GNU/Linux3.1
Red Hat Enterprise Linux v.4
Red Hat Linux 9
カーネルバージョン
2.6.8
2.4.31
2.6.9
2.4.20
1.6 関連製品の機能比較
内容
DMG-ZSH01
○
○
○
○
○
○
¥29,800
リカバリファイル
ネットワークブート用Linux
kernelソース
SH-4クロスコンパイラ
CF リードオンリ設定ファイル
アプリケーション自動起動設定ファイル
定価
Interface Corporation
-6-
BRG-0101
○
○
×
×
×
×
¥3,000
DMG-ZSH01
第2章 製品の使用方法
2.1 動かしてみよう
2.1.1 ターミナルエミュレータの準備をする
CPZ-SH03にシリアルポート経由でログインする際に必要なターミナルエミュレータソフトとして、
minicomの使用手順を説明します。
■minicomの初期設定
1.
minicomの起動
コンソールでminicomと入力して、Enterキーを押します。
kitty:~# minicom
※ もし起動しない場合は、『9ページ ■minicomのインストール』を参照して、インストール
を行ってください。
2.
設定メニューを開きます。
Ctrl+Aを押してキーを離した後、続けてOキーを押すと「configuration」メニューが開きます。
-7-
Interface Corporation
DMG-ZSH01
3.
シリアルポートの設定メニューを開きます。
カーソルキーで「シリアルポート」を選択して、Enterキーを押します。
シリアルポートのパラメータが、下記画面と同じ設定になるようにします。
a)Aキーを押して、シリアルデバイスを必要に応じて変更します。
CPZ-SH03を接続したホストマシンのCOMポートのデバイス名を指定します。
例)COM1は通常/dev/ttyS0ですので、表示が異なっている場合は変更します。
b)Fキーを押して、ハードウェア流れ制御を「いいえ」に設定します。
c)Eキーを押して、通信パラメータ設定メニューを開きます。
d)キーを押して、速度を「115200bps」に設定します。
e)Qキーを押して、パリティ/データ/ストップビットを8-N-1に設定します。
f)Enterキーを2回押して、最初のメニュー画面に戻ります。
Interface Corporation
-8-
DMG-ZSH01
4.
設定を保存して、設定メニューを閉じます。
カーソルキーで「“dfl”に設定を保存」を選択して、Enterキーを押します。
設定が保存されますので、カーソルキーで「終了」を選択して、Enterキーを押します。
5.
設定変更を有効にするため、一度minicomを閉じます。
Ctrl+Aを押してキーを離した後、続けてQキーを押すと、「リセットせずに終了しますか?」
の確認メッセージが表示されますので、「はい」を選択してEnterキーを押してください。
以上で初期設定が完了しました。
次回起動時は、この初期設定が適用されます。
■minicomのインストール
<Debian GNU/Linux 3.1>
■apt-getコマンドを使う場合
greenart:~#apt-get install minicom
※ apt-getコマンドについては、後述の『55ページ 3.4 パッケージの追加』を参照してください。
■apt-getコマンドを使わない場合
Debianのwebサイト(http://www.jp.debian.org/)からminicomのパッケージをダウロードして、
dpkgコマンドでインストールします。
greenart:~# dpkg -i minicom_2.1-9_i386.deb
<Red Hat Enterprise Linux V.4の場合>
1)Red Hat Enterprise Linux V.4のDISK2をCDドライブに挿入します。
2)DISK2をマウントします。
greenart:~# mount /dev/cdrom
/media/cdrecorderディレクトリにCDがマウントされます。
※ マウントできない場合は、以下の様にマウントポイントを指定してマウントしてください。
greenart:~# mount /dev/cdrom /mnt
3)minicomパッケージをインストールします。
greenart:~# rpm –ivh /media/cdrecorder/Redhat/RPMS/minicom-2.00.0-19.i386.rpm
-9-
Interface Corporation
DMG-ZSH01
2.1.2 クロスのシリアルケーブルで接続する場合
CPZ-SH03のシリアルポートとホストマシンを、クロスのシリアルケーブルで接続します。その後、
ホストマシン上で、minicomを起動後、CPZ-SH03の電源を入れます。
約25秒後にホストマシン上に以下のメッセージが表示され始めます。
※ 画面例はkernel v2.4.17です。
Linux version 2.4.17 (root@kitty) (gcc version 3.0.4) #1 Mon Jun 27 15:24:43 JST 2005
On node 0 totalpages: 16384
zone(0): 16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: mem=64M sh_mv=SH03 console=ttySC1,115200
Setting GDB trap vector to 0x80000100
CPU clock: 239.94MHz
Bus clock: 79.98MHz
Module clock: 39.99MHz
Interval = 99975
Calibrating delay loop... 239.20 BogoMIPS
Memory: 62860k/65536k available (1304k kernel code, 2676k reserved, 44k data, 176k
init)
Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
CPU: SH7750/SH7751
POSIX conformance testing by UNIFIX
PCI: Using configuration type 1
Unknown bridge resource 0: assuming transparent
Unknown bridge resource 1: assuming transparent
Unknown bridge resource 2: assuming transparent
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Journalled Block Device driver loaded
pty: 256 Unix98 ptys configured
SuperH SCI(F) driver initialized
ttySC0 at 0xffe00000 is a SCI
ttySC1 at 0xffe80000 is a SCIF
CTP/PCI-SH03 Real Time Clock Driver v0.01
block: 128 slots per queue, batch=32
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
hda: TOSHIBA THNCF256MBA, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 8
hda: 500736 sectors (256 MB) w/2KiB Cache, CHS=978/16/32
Partition check:
hda: hda1
loop: loaded (max 8 devices)
8139cp: 10/100 PCI Ethernet driver v0.3.0 (Sep 29, 2002)
eth0: RTL-8139C+ at 0xfd000000, 00:80:62:80:02:c6, IRQ 5
Interface Corporation
- 10 -
DMG-ZSH01
eth0: PCI cache line size set incorrectly (0 bytes) by BIOS/FW, correcting to 32PCI:
Setting latency timer of device Realtek Semiconductor Co., Ltd. RTL-8139 to 64
eth1: RTL-8139C+ at 0xfd000100, 00:80:62:80:02:c7, IRQ 5
eth1: PCI cache line size set incorrectly (0 bytes) by BIOS/FW, correcting to 32PCI:
Setting latency timer of device Realtek Semiconductor Co., Ltd. RTL-8139 (#2) to 64
Linux Kernel Card Services 3.1.22
options: [pci] [cardbus]
pci_hotplug: PCI Hot Plug PCI Core version: 0.3
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 8192)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
ds: no socket drivers loaded!
hda: hda1
hda: hda1
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 176k freed
INIT: version 2.84 booting
Activating swap.
Checking root file system...
fsck 1.30-WIP (30-Sep-2002)
/dev/hda1: clean, 9499/62744 files, 108862/250352 blocks
EXT3 FS 2.4-0.9.16, 02 Dec 2001 on ide0(3,1), internal journal
System time was Fri Jun 30 01:29:58 UTC 1905.
Setting the System Clock using the Hardware Clock as reference...
System Clock set. System local time is now Thu Jun 30 01:30:02 UTC 2005.
Calculating module dependencies... done.
Loading modules:
Checking all file systems...
fsck 1.30-WIP (30-Sep-2002)
Setting kernel variables.
Mounting local filesystems...
nothing was mounted
Starting hotplug subsystem: usb.
Cleaning: /etc/network/ifstate.
Setting up IP spoofing protection: rp_filter.
Configuring network interfaces: eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
done.
Starting portmap daemon: portmap.
Setting the System Clock using the Hardware Clock as reference...
System Clock set. Local time: Thu Jun 30 10:30:11 JST 2005
Cleaning: /tmp /var/lock /var/run.
Initializing random number generator... done.
Recovering nvi editor sessions... done.
INIT: Entering runlevel: 2
Starting system log daemon: syslogd.
Starting hotplug subsystem: usb.
Starting kernel log daemon: klogd.
Starting internet superserver: inetd.
Starting deferred execution scheduler: atd.
Starting periodic command scheduler: cron.
Debian GNU/Linux testing/unstable greenart ttySC1
greenart login:
- 11 -
Interface Corporation
DMG-ZSH01
loginプロンプトが出ますので、rootでログインします。
greenart login: root
Last login: Thu Jun 30 10:28:48 2005 on ttySC1
Linux greenart 2.4.17 #1 Mon Jun 27 15:24:43 JST 2005 sh4 unknown unknown
GNU/Linux
Most of the programs included with the Debian GNU/Linux system are
freely redistributable; the exact distribution terms for each program
are described in the individual files in /usr/share/doc/*/copyright
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
greenart:~#
試しに、lsコマンドで/ディレクトリの内容を表示します。
greenart:~# ls /
bin
cdrom etc
boot dev
floppy
greenart:~#
Interface Corporation
home
lib
initrd lost+found
opt
mnt proc sbin usr
root tmp
var
- 12 -
DMG-ZSH01
■停止方法
CPZ-SH03をシャットダウンする場合は、rootでログインした状態で、shutdownコマンドを実行しま
す。
greenart:~# shutdown -h now
Broadcast message from root (ttySC1) (Thu Jun 30 10:43:10 2005):
The system is going down for system halt NOW!
INIT: Switching to runlevel: 0
INIT: Sending processes the TERM signal
INIT: Sending processes the KILL signal
Stopping periodic command scheduler: cron.
Stopping internet superserver: inetd.
Saving the System Clock time to the Hardware Clock...
Hardware Clock updated to Thu Jun 30 10:43:19 JST 2005.
Stopping deferred execution scheduler: atd.
Stopping hotplug subsystem: usb.
Stopping kernel log daemon: klogd.
Stopping system log daemon: syslogd.
Stopping portmap daemon: portmap.
Sending all processes the TERM signal... done.
Sending all processes the KILL signal... done.
Saving random seed... done.
Unmounting remote filesystems... done.
Deconfiguring network interfaces: done.
Deactivating swap... done.
Unmounting local filesystems... done.
Power down.
しばらくすると、CPZ-SH03がシャットダウンされ、電源が切れます。
- 13 -
Interface Corporation
DMG-ZSH01
2.1.3 telnetで接続する場合
CPZ-SH03は、telnetを使用してログインすることができます。ここでは、CPZ-SH03内蔵CFの
/etcディレクトリの内、ネットワークに関連する設定内容を示した後、telnet接続,ログイン,終了の
実行例を示します。
■CPZ-SH03内蔵CF内の/etcディレクトリの出荷時設定
CPZ-SH03内の/etcディレクトリの内、ネットワーク関係の出荷時設定は、以下の様になっています。
最初にtelnetでCPZ-SH03と接続する場合は、ホストマシンの設定をCPZ-SH03の設定に合わせてくだ
さい。
なお、CPZ-SH03のホスト名は「greenart」,ホストマシンのホスト名は「kitty」となっております。
(『29ページ 2.4 CFのリカバリ手順』を参考にしてください。)
・ /etc/hostname
greenart
・ /etc/hosts
127.0.0.1 localhost
192.168.1.100 kitty
192.168.1.110 greenart
# The following lines are desirable for IPv6 capable hosts
# (added automatically by netbase upgrade)
::1
ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
・ /etc/resolv.conf
nameserver 127.0.0.1
・ /etc/network/interfaces
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
# automatically added when upgrading
auto lo
iface lo inet loopback
# The first network card - this entry was created during the Debian installation
# (network, broadcast and gateway are optional)
# automatically added when upgrading
auto eth0
iface eth0 inet static
address 192.168.1.110
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
Interface Corporation
- 14 -
DMG-ZSH01
■telnetで接続
CPZ-SH03のLAN1とホストマシンのLANを接続し、CPZ-SH03の電源を入れます。しばらくして、
ホストマシンからtelnetコマンドでCPZ-SH03と接続します。
(CPZ-SH03は、OSの起動に約1分要します。CPZ-SH03電源投入後、最初のtelnet接続は1分以上経過
後に行ってください。)
kitty:~# telnet 192.168.1.110
Trying 192.168.1.110...
Connected to 192.168.1.110.
Escape character is '^]'.
Debian GNU/Linux testing/unstable greenart
greenart login:
rootでログインします。
greenart login: root
Last login: Thu Jun 30 10:42:22 2005 on ttySC1
Linux greenart 2.4.17 #1 Mon Jun 27 15:24:43 JST 2005 sh4 unknown unknown
GNU/Linux
Most of the programs included with the Debian GNU/Linux system are
freely redistributable; the exact distribution terms for each program
are described in the individual files in /usr/share/doc/*/copyright
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
greenart:~#
試しに、lsコマンドで/ディレクトリの内容を表示します。
greenart:~# ls /
bin
cdrom etc
boot dev
floppy
greenart:~#
home
lib
initrd lost+found
opt
mnt proc sbin usr
root tmp
var
logoutでログアウトします。
greenart:~# logout
Connection closed by foreign host.
kitty:~#
お知らせ
セキュリティー上、telnetのrootアカウントでのログインを禁止したい場合、エディターで
/etc/ /securettyを開いて、以下の行を削除してください。
pts/0
pts/1
- 15 -
Interface Corporation
DMG-ZSH01
■停止方法
CPZ-SH03をシャットダウンする場合は、rootでログインした状態で、shutdownコマンドを実行しま
す。
greenart:~# shutdown -h now
greenart:~#
Broadcast message from root (pts/0) (Thu Jun 30 10:46:36 2005):
The system is going down for system halt NOW!
Connection closed by foreign host.
kitty:~#
しばらくすると、CPZ-SH03がシャットダウンされ、電源が切れます。
Interface Corporation
- 16 -
DMG-ZSH01
2.2 クロス開発
2.2.1 クロス開発環境の構築
■Debianの場合
(1) クロスツールチェーンのインストール
クロスツールチェーンのインストールは、以下の手順で行います。
開発キットの/cpz-cross-tool/debディレクトリに収録した以下のファイルをインストールします。
binutils-sh-linux_2.12.90-2_i386.deb
gcc-sh-linux_3.0.4-4_i386.deb
glibc-sh-linux_2.2.5-4_all.deb
glibc-sh4-linux_2.2.5-4_all.deb
インストールは、dpkgコマンドで行います。
(ここでは開発キットCDを/cdromディレクトリにマウントしたものとして記載します。)
kitty:~# cd /cdrom/cpz-cross-tools/deb
kitty:/cdrom/cpz-cross-tools/deb# dpkg
kitty:/cdrom/cpz-cross-tools/deb# dpkg
kitty:/cdrom/cpz-cross-tools/deb# dpkg
kitty:/cdrom/cpz-cross-tools/deb# dpkg
–i
–i
–i
–i
binutils-sh-linux-2.12.90-2_i386.deb
gcc-sh-linux_3.0.4-4_i386.deb
glibc-sh-linux_2.2.5-4_all.deb
glibc-sh4-linux_2.2.5-4_all.deb
次にtarコマンドで、CPZ-SH03用のカーネルソースを/usr/srcディレクトリに展開します。
i
SH-Linux kernel ver. 2.4.17
kitty:/cdrom/cpz-cross-tools/deb# cd /usr/src
kitty:/usr/src# tar zxf /cdrom/cpz-kernel/cpz-sh-2.4.17.tar.gz
最後に
kitty:/usr/src# cd /usr/sh4-linux
kitty:/usr/sh4-linux# ln -s /usr/src/linux-2.4.17/include/asm include/asm
kitty:/usr/sh4-linux# ln -s /usr/src/linux-2.4.17/include/linux include/linux
として完了です。
i
SH-Linux kernel ver. 2.6.11
kitty:/cdrom/cpz-cross-tools/deb# cd /usr/src
kitty:/usr/src# tar zxf /cdrom/cpz-kernel/cpz-sh-2.6.11.tar.gz
最後に
kitty:/opt/cpz-cross-tools/deb# cd /usr/sh4-linux
kitty:/usr/src/linux-2.6.11.12# ln -s /usr/src/cpz-2.6/linux-2.6.11.12/include/asm includ
e/asm
kitty:/usr/src/linux-2.6.11.12# ln -s /usr/src/cpz-2.6/linux-2.6.11.12/include/linux inclu
de/linux
として完了です。
- 17 -
Interface Corporation
DMG-ZSH01
(2) アプリケーションのコンパイル
以下のコードを持つファイルを作成し、/opt/test.cとします。
#include <stdio.h>
int main(void)
{
printf("Hello, World¥n");
return 1;
}
sh4-linux-gccコマンドを実行し、クロスコンパイルします。
kitty:~# cd /opt
kitty:/opt# sh4-linux-gcc -o test test.c
fileコマンドで、ファイルタイプを表示し、以下の様に“Hitachi SH”となっていれば、クロスコンパ
イルは成功です。
kitty:/opt# file test
test: ELF 32-bit LSB executable, Hitachi SH, version 1 (SYSV),
for GNU/Linux 2.2.15, dynamically linked (uses shared libs),
not stripped
(3) 動作確認
rootでログインし、mountコマンドでネットワークドライブをマウント後、testファイルをCPZ-SH03
側にコピーして実行します。実行例を以下に示します。
greenart:~# mount kitty:/opt /mnt
greenart:~# cp /mnt/test ./
greenart:~# ./test
Hello, World
greenart:~# umount /mnt/
※ 予めホストマシンの/optディレクトリをNFS(Network File System)でアクセスできるように設
定を行ってください。本書ではNFSの設定に関しては割愛いたします。
Interface Corporation
- 18 -
DMG-ZSH01
デバッグオプション付きでコンパイルし、ソースコードもコピーすると、gdb(デバッガ)も使用でき
ます。
greenart:~# mount kitty:/opt /mnt
greenart:~# cp /mnt/test.* /mnt/test ./
greenart:~# umount /mnt/
greenart:~# gdb test
GNU gdb 20001217
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public
License, and you are
welcome to change it and/or distribute copies of it under
certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show
warranty" for details.
This GDB was configured as "sh-linux"...
(gdb) l
warning: Source file is more recent than executable.
1
#include <stdio.h>
2
int main(void)
3
{
4
printf("Hello,Kitty¥n");
5
return 1;
6
}
(gdb) run
Starting program: /root/test
Hello, World
Program exited with code 01.
(gdb) q
greenart:~#
- 19 -
Interface Corporation
DMG-ZSH01
■Red Hatの場合
(1) クロスツールチェーンのインストール
クロスツールチェーンのインストールは、以下の手順で行います。
開発キットの/cpz-cross-tool/rpmディレクトリに収録した以下のファイルをインストールします。
binutils-sh-linux-2.12.90-1.i386.rpm
gcc-sh-linux-3.0.4-3.i386.rpm
glibc-sh-linux-2.2.5-3.noarchl.rpm
glibc-sh4-linux-2.2.5-3.noarch.rpm
インストールは、rpmコマンドで行います。
kitty:~# cd /opt/cpz-cross-tools/rpm
kitty:/opt/cpz-cross-tools/rpm# rpm –ivh binutils-sh-linux-2.12.90-1.i386.rpm
kitty:/opt/cpz-cross-tools/rpm# rpm –ivh gcc-sh-linux-3.0.4-3.i386.rpm
kitty:/opt/cpz-cross-tools/rpm# rpm –ivh glibc-sh-linux-2.2.5-3.noarchl.rpm
kitty:/opt/cpz-cross-tools/rpm# rpm –ivh glibc-sh4-linux-2.2.5-3.noarch.rpm
次にtarコマンドで、CPZ-SH03用のカーネルソースを/usr/srcディレクトリに展開します。
i
SH-Linux kernel ver. 2.4.17
kitty:/cdrom/cpz-cross-tools/rpm# cd /usr/src
kitty:/usr/src# tar zxf /cdrom/cpz-kernel/cpz-sh-2.4.17.tar.gz
最後に
kitty:/usr/src# cd /usr/sh4-linux
kitty:/usr/sh4-linux# ln –s /usr/src/linux-2.4.17/include/asm include/asm
kitty:/usr/sh4-linux# ln –s /usr/src/linux-2.4.17/include/linux include/asm
として完了です。
i
SH-Linux kernel ver. 2.6.11
kitty:/cdrom/cpz-cross-tools/rpm# cd /usr/src
kitty:/usr/src# tar zxf /cdrom/cpz-kernel/cpz-sh-2.6.11.tar.gz
最後に
kitty:/opt/cpz-cross-tools/deb# cd /usr/sh4-linux
kitty:/usr/sh4-linux# ln -s /usr/src/cpz-2.6/linux-2.6.11.12/include/asm include/asm
kitty:/usr/sh4-linux# ln -s /usr/src/cpz-2.6/linux-2.6.11.12/include/linux include/linux
として完了です。
使い方は、Debianの場合と同様です。『18ページ (2) アプリケーションのコンパイル』を参照
してください。
Interface Corporation
- 20 -
DMG-ZSH01
2.3 弊社ドライバソフトウェアを使用する
弊社I/Oモジュールのドライバソフトウェアを組み込む方法は、ドライバソフト付属のreadme.txtに
記載されています。ここでは、一例として、弊社デジタル入出力ボード Linux/RT対応ドライバソ
フトウェアGPG-2000の組み込み方法を説明します。弊社ドライバソフトウェアは全型式でほぼ共
通ですので、他の型式のドライバを組み込む場合も参考にして頂けます。詳細は、各ドライバソフ
ト内のreadme.txt,
チュートリアルを参照してください。
2.3.1 ダウンロード
まず、弊社Web site(www.interface.co.jp)のダウンロードのページから、DIOドライバソフトウェア
(SH-Linux版 GPG-2000)を、ホストマシン上にダウンロードします。
(以降の説明では、/optディレクトリにダウンロードした物と仮定しています。)
以下の手順で、ホストマシン上のGPG-2000用ドライバをCPZ-SH03側にコピーし、tgzファイルを
展開します。
greenart:~# mount kitty:/opt /mnt/
greenart:~# cp /mnt/gpg2000_sh4_027017.tgz ./
greenart:~# tar zxvf gpg2000_sh4_027017.tgz
lgpg2000.sh4.tgz
readme.txt
install
install_ja.txt
product.txt
sh4.txt
common.tgz
greenart:~#
※ ホストマシンの/optディレクトリはNFSで共有できるように設定しておいてください。
2.3.2 インストール
installスクリプトを使用してインストールを行います。installスクリプト起動後は、画面の指示に従
って行ってください。
greenart:~# ./install
- 21 -
Interface Corporation
DMG-ZSH01
2.3.3 共通モジュール,ドライバモジュールの組み込み
DIOボードをCPZ-SH03のシステムに装着します。
以下の方法でドライバの組み込みを行います。
(画面例はkernel v2.4.17ですが、v2.6.11でもコマンドは同じです。)
greenart:~# cd /usr/src/interface/gpg2000/sh4/linux/drivers/
greenart:/usr/src/interface/gpg2000/sh4/linux/drivers# ./insdio.sh
Using /lib/modules/2.4.17/misc/dpg0100.o
Warning: loading /lib/modules/2.4.17/misc/dpg0100.o will taint the
kernel: no license
See http://www.tux.org/lkml/#export-tainted for information about
tainted modules
Module dpg0100 loaded, with warnings
Using /lib/modules/2.4.17/misc/cp2000.o
Warning: loading /lib/modules/2.4.17/misc/cp2000.o will taint the
kernel: no license
See http://www.tux.org/lkml/#export-tainted for information about
tainted modules
Module cp2000 loaded, with warnings
greenart:/usr/src/interface/gpg2000/sh4/linux/drivers#
(ここでのワーニングは、無視してください。)
デバイスノードの作成をします。詳細は、GPG-2000オンラインヘルプを参照してください。
greenart:/usr/src/interface/gpg2000/sh4/linux/drivers# ./setup.sh
Interface Corporation
- 22 -
DMG-ZSH01
2.3.4 起動時に、ドライバを組み込む方法
弊社I/Oモジュールのドライバは、/lib/modules/<カーネルバージョン>/miscディレクトリにインスト
ールされます。
i
SH-Linux kernel ver. 2.4.17
greenart:~# ls /lib/modules/2.4.17/misc/
cp2000.o dpg0100.o dpg0101.o
i
SH-Linux kernel ver. 2.6.11
greenart:~# ls /lib/modules/2.6.11-sh/misc/
cp2000.ko dpg0100.ko dpg0101.ko
手動でドライバを組み込む場合は、modprobeコマンドで組み込むことができます。
greenart:~# modprobe cp2000
Warning: loading /lib/modules/2.4.17/misc/dpg0100.o will taint the
kernel: no license
See http://www.tux.org/lkml/#export-tainted for information about
tainted modules
Module dpg0100 loaded, with warnings
Warning: loading /lib/modules/2.4.17/misc/cp2000.o will taint the
kernel: no license
Module cp2000 loaded, with warnings
greenart:~# lsmod
Module
Size Used by
Tainted: P
cp2000
425796
0 (unused)
dpg0100
6304
0 [cp2000]
greenart:~#
以下に、起動時にドライバモジュールを自動で組み込む方法を紹介します。
■ /etc/modulesに、ドライバモジュール名を登録する
vi /etc/modules と実行し、
dpg0100
cp2000
を追加します。
- 23 -
Interface Corporation
DMG-ZSH01
■ /etc/init.dディレクトリに、自動組み込みスクリプトを追加する
以下の内容のファイル、/etc/init.d/gpg2000.shを作ります。
#! /bin/sh
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=gpg2000
case "$1" in
start)
echo -n "Install GPG-2000 "
(cd /usr/src/interface/gpg2000/sh4/linux/drivers/; ./insdio.sh)
echo "."
;;
stop)
echo -n "Remove GPG-2000 "
(cd /usr/src/interface/gpg2000/sh4/linux/drivers/; ./rmdio.sh)
echo "."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop}" >&2
exit 1
;;
esac
exit 0
以下の内容のファイル、/etc/init.d/gpg2000.shを作ります。
greenart:~# update-rc.d gpg2000.sh defaults
Adding system startup for /etc/init.d/gpg2000.sh ...
/etc/rc0.d/K20gpg2000.sh -> ../init.d/gpg2000.sh
/etc/rc1.d/K20gpg2000.sh -> ../init.d/gpg2000.sh
/etc/rc6.d/K20gpg2000.sh -> ../init.d/gpg2000.sh
/etc/rc2.d/S20gpg2000.sh -> ../init.d/gpg2000.sh
/etc/rc3.d/S20gpg2000.sh -> ../init.d/gpg2000.sh
/etc/rc4.d/S20gpg2000.sh -> ../init.d/gpg2000.sh
/etc/rc5.d/S20gpg2000.sh -> ../init.d/gpg2000.sh
greenart:~#
スタート,ストップのシーケンス番号(S,Kに続く数字)を変更したい場合は、defaultsの変わりに、start,
stopを指定してください。詳細は、update-rc.dのmanページを参照してください。
以上で、弊社DIO向けドライバの準備は完了です。
Interface Corporation
- 24 -
DMG-ZSH01
2.3.5 サンプルプログラムをコンパイルする
弊社I/Oモジュールのドライバソフトウェアのサンプルプログラムをクロス開発環境でコンパイル
する手順を説明します。
『17ページ 2.2.1 クロス開発環境の構築』で、クロスコンパイラの設定がされていることを前提
に説明します。
具体例として、弊社デジタル入出力ボード Linux/RT対応ドライバソフトウェアGPG-2000を使用し
ます(※ 他のGPGシリーズも基本的に同様です) 。
1. GPG-2000のヘッダーファイルをホストマシンにコピーする。
(1) 弊社Web site(www.interface.co.jp)から、GPG-2000のSHLinux版をダウンロードして、/optディレク
トリにコピーします。
※ Linux版(x86用)をダウンロードしないように、ご注意ください。
(2) ダウンロードしたGPG-2000を/opt/workディレクトリに展開して、ファイル一覧を確認します。
greenart:~# mkdir /opt/work
greenart:~# cd /opt/work
greenart: /opt/work# tar zxf ../gpg2000_sh4_xxxxxx.tgz
(xxxxxx 箇所はバージョンによって異なります)
greenart: /opt/work# ls
common.tgz
install_ja.txt
product.txt
install
lgpg2000.sh4.tgz
readme.txt
sh4.txt
(3) opt/workディレクトリの2本のtgzファイルを展開して、ファイル一覧を確認します。
greenart:/opt/work# tar zxf lgpg2000.sh4.tgz
greenart:/opt/work# tar zxf common.tgz
greenart:/opt/work# ls
common
gpg2000
install_ja.txt
common.tgz
install
lgpg2000.sh4.tgz
product.txt
readme.txt
sh4.txt
commonとgpg2000ディレクトリが作成されました。
(4) GPG-2000に含まれるヘッダーファイル名を確認します。
greenart:/opt/work# find –name *.h
./gpg2000/sh4/linux/include/fbidio.h
./common/dpg0100/src/dpg0100.h
./common/dpg0101/src/dpg0101.h
./common/dpg0102/src/dpg0102.h
./common/dpg0102/src/dpg0102p.h
(5) 上記で確認したヘッダーファイルを、/usr/sh4-linux/includeディレクトリにコピーします。
上記のヘッダーファイルで重要なのは、gpg2000ディレクトリのヘッダーファイルと、common
ディレクトリのdpg0100.hです。
greenart:/opt/work# cp –a gpg2000/sh4/linux/include/fbidio.h /usr/sh4-linux/include
greenart:/opt/work# cp –a common/dpg0100/src/dpg0100.h /usr/sh4-linux/include
- 25 -
Interface Corporation
DMG-ZSH01
2. GPG-2000 (SHLinux版)のライブラリをホストマシンにコピーする。
(1) SH-4用ライブラリのファイル名を確認します。
greenart:/opt/work#find –name libgpg*
./gpg2000/sh4/linux/lib/libgpg2000t.so.2.4.7
./gpg2000/sh4/linux/lib/libgpg2000.so.2.4.7
./common/dpg0101/i386/lib/libgpgconf.so.1.3.4
./common/dpg0101/sh4/lib/libgpgconf.so.1.3.4
※ 上から3番目と4番目に同一ファイル名のライブラリがありますが、上から3番目はx86用の
ライブラリ(ディレクトリ名で判別可能)なので使用しません。
(2) 上記の手順で確認した3本のライブラリ(x86用は除く)を、/usr/sh4-linux/libディレクトリにコピー
します。
greenart:/opt/work# cp –a gpg2000/sh4/linux/lib/libgpg2000t.so.2.4.7 /usr/sh4-linux/lib
greenart:/opt/work# cp –a gpg2000/sh4/linux/lib/libgpg2000.so.2.4.7 /usr/sh4-linux/lib
greenart:/opt/work# cp –a common/dpg0101/sh4/lib/libgpgconf.so.1.3.4 /usr/sh4-linux/lib
(3) コピーしたライブラリにシンボリックリンクを作成します。
greenart:/opt/work# cd /usr/sh4-linux/lib
greenart:/usr/sh4-linux/lib# ln –s libgpg2000t.so.2.4.7 libgpg2000t.so.2
greenart:/usr/sh4-linux/lib# ln –s libgpg2000t.so.2 libgpg2000t.so
greenart:/usr/sh4-linux/lib# ln –s libgpg2000.so.2.4.7 libgpg2000.so.2
greenart:/usr/sh4-linux/lib# ln –s libgpg2000.so.2 libgpg2000.so
greenart:/usr/sh4-linux/lib# ln –s libgpgconf.so.1.3.4 libgpgconf.so.1
greenart:/usr/sh4-linux/lib# ln –s libgpgconf.so.1 libgpgconf.so
3. GPG-2000のサンプルプログラムをクロスコンパイルする。
GPG-2000に含まれるサンプルプログラムinpointをSH-4用にコンパイルしてみます。
サンプルプログラムは前述の作業で展開したディレクトリに含まれています。
(1) サンプルプログラムのディレクトリに移動します。
greenart:/usr/sh4-linux/lib# cd /opt/work/gpg2000/sh4/linux/samples/c/inpoint
greenart:/opt/work/gpg2000/sh4/linux/samples/c/inpoint#
Interface Corporation
- 26 -
DMG-ZSH01
(2) Makefileの中身を確認します。
# Makefile for samples
INCLUDE = /usr/X11R6/include
LIB = /usr/X11R6/lib
CC = gcc
all: inpoint
inpoint: inpoint.o
$(CC) inpoint.o -o inpoint -lgpg2000 -lpthread
inpoint.o: inpoint.c
$(CC) -Wall -c inpoint.c -o inpoint.o
clean:
rm -f *.o ¥#* *~ inpoint
このままだとクロスコンパイルが行えませんので、セルフコンパイルとクロスコンパイルの両方
に使えるように修正します。
(3) Makefileを以下のように作り直します。
# Makefile for sample program
CROSS_COMPILE=
INCLUDEDIR=
LIBDIR=
CFLAGS=-Wall
EXTRACFLAGS=-lgpg2000 –lgpgconf -pthread
CC=$(CROSS_COMPILE)gcc
LD=$(CROSS_COMPILE)ld
APP = inpoint
ifneq ($(INCLUDEDIR),)
CFLAGS += -I$(INCLUDEDIR)
endif
ifneq ($(LIBDIR),)
CFLAGS += -L$(LIBDIR)
endif
all: $(APP)
$(APP): $(APP).c
$(CC) $(APP).c -o $(APP) $(CFLAGS) $(EXTRACFLAGS)
clean:
rm -f $(APP) *~
プログラムによって、APPとEXTRACFLAGSを、適宜変更します。
APPがコンパイルするソースファイルおよび、生成される実行ファイル名となります。
上記の例では、ソースファイルがinpoint.cで、作成される実行ファイルがinpointとなります。
EXTRACFLAGSマクロには、コンパイラに追加指定するオプションを書きます。
上記の例では、GPG-2000のライブラリ(gpg2000とgpgconf)とpthreadをリンクする指定になってい
ます。リンクするライブラリが不要な場合、EXTRACFLAGS=とだけ記述してください。
- 27 -
Interface Corporation
DMG-ZSH01
4. クロスコンパイルの実行
(1) makeコマンドでコンパイルを行います。
greenart:/opt/work/gpg2000/sh4/linux/samples/c/inpoint# make ARCH=sh4 CROSS_COMP
ILE=sh4-linux- INCLUDEDIR=/usr/sh4-linux/include LIBDIR=/usr/sh4-linux/lib
(2) fileコマンドで、ファイルタイプを表示し、以下の様に“Hitachi SH”となっていれば、クロスコン
パイルは成功です。
greenart:/opt/work/gpg2000/sh4/linux/samples/c/inpoint# file inpoint
実行結果が以下のようになっていれば成功です。
inpoint: ELF 32-bit LSB executable, Hitachi SH, version 1 (SYSV), for GNU/Linux
2.2.15, dynamically linked (uses shared libs), not stripped
5. 動作確認
rootでログインし、mountコマンドでネットワークドライブをマウント後、実行ファイルをCPZ-SH03
側にコピーして実行します。実行例を以下に示します。
greenart:~# mount kitty:/opt /mnt
greenart:~# cp /mnt/work/gpg2000/sh4/linux/samples/c/inpoint ./
greenart:~# umount /mnt/
greenart:~# ./inpoint
Enter the device number:
※ ホストマシンの/optディレクトリはNFSで共有できるように設定しておいてください。
Interface Corporation
- 28 -
DMG-ZSH01
2.4 CFのリカバリ手順
なんらかの原因で、CPZ-SH03が起動しなくなった場合のために、OSを再インストールする方法を説
明しています。
(弊社では、有償でCFの復旧も承ります。お客様相談センタにお問い合わせください。)
2.4.1 USB接続のCFリーダ/ライタを使う場合
CPZ-SH03搭載のCFを、
USB接続のCFリーダ/ライタにセットし、
ホストマシンに接続します。
(以降、
CFを/dev/sdaと認識したものとして説明します。)
1. 開発キットCDから必要なファイルをコピー
USB-CD あるいは 内蔵CDドライブに開発キットCDをセットし、マウントします。
(ここでは、/cdromディレクトリにマウントしたものとして記載します。)
以下のように必要なファイルをホストマシンにコピーします。
kitty:~# cp –a /cdrom/cpz-base /opt
kitty:~# cp –a /cdrom/cpz-usbcf /opt/
- 29 -
Interface Corporation
DMG-ZSH01
2. CDへの書き込み
(1) パーティションテーブルの作成
fdiskコマンドでパーティションテーブルを作ります。以下は、実行例です。
kitty:~# cd /opt/cpz-usbcf/
kitty:/opt/cpz-usbcf# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 256 MB, 256377344 bytes
16 heads, 32 sectors/track, 978 cylinders
Units = cylinders of 512 * 512 = 262144 bytes
Device Boot
/dev/sda1
*
Start
1
End
978
Blocks
Id System
250352
83 Linux
Command (m for help): d
Selected partition 1
Command (m for help): p
Disk /dev/sda: 256 MB, 256377344 bytes
16 heads, 32 sectors/track, 978 cylinders
Units = cylinders of 512 * 512 = 262144 bytes
Device Boot
Start
End
Blocks
Id
System
Command (m for help): n
Command action
e
extended
p
primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-978, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-978, default 978):
Using default value 978
Command (m for help): a
Partition number (1-4): 1
Command (m for help): p
Disk /dev/sda: 256 MB, 256377344 bytes
16 heads, 32 sectors/track, 978 cylinders
Units = cylinders of 512 * 512 = 262144 bytes
Device Boot
/dev/sda1
*
Start
1
End
978
Blocks
Id System
250352
83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
kitty:/opt/cpz-usbcf#
この例では、一旦、現在のパーティションを“d”で削除した後、“n”で新規パーティションを作成し
ています。(sda1のパーティションサイズは、先頭から最後までを指定しています。)
次に、“a”で、ブート可能フラグをセットし、最後に“w”でCFに書き込んでいます。
Interface Corporation
- 30 -
DMG-ZSH01
(2) Ext3ファイルシステムの構築
mkfs.ext3コマンドを使用して、CFの1番目の領域(ここでは/dev/sda1)をext3ファイルシステムに
します。
基本手順
kitty:/opt/cpz-usbcf# mkfs.ext3 /dev/sda1
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
∼中略∼
180 days, whichever comes first.
kitty:/opt/cpz-usbcf#
Use tune2fs -c or -i to override.
Red Hat Enterprise Linux v.4の場合
※ SH-Linux(kernel v2.6.11)のリカバリをRed Hat Enterprise Linux v.4(以降RHEL4)で行う場合、
RHEL4のファイルシステムは拡張されており、そのままリカバリを行うと、SH-Linuxの起動時
にルートパーティションのマウントで失敗します。
下記の反転箇所のオプションを付けて無効にしておく必要があります。
kitty:/opt/cpz-usbcf# mkfs.ext3 –O^resize_inode /dev/sda1
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
∼中略∼
180 days, whichever comes first.
kitty:/opt/cpz-usbcf#
Use tune2fs -c or -i to override.
※ SH-Linux(kernel2.4.17)のリカバリをRHEL4で行う場合、上記の手順を行っても
ルートパーティションのマウントで失敗することが確認されています。
kernel 2.4系のLinuxを使用するか、ネットワークブートを使用したリカバリを行ってください。
(3) システムファイルの書き込み
tarコマンドでCPZ-SH03用のシステムファイルをCFに書き込みます。
i
SH-Linux kernel ver. 2.4.17
kitty:/opt/cpz-usbcf# mount -t ext3 /dev/sda1 /mnt/
kitty:/opt/cpz-usbcf# cd /mnt/
kitty:/mnt# tar zxf /opt/cpz-base/cpz-base-2.4-20060320.tar.gz
kitty:/mnt#
i
SH-Linux kernel ver. 2.6.11
kitty:/opt/cpz-usbcf# mount -t ext3 /dev/sda1 /mnt/
kitty:/opt/cpz-usbcf# cd /mnt/
kitty:/mnt# tar zxf /opt/cpz-base/cpz-base-2.6-20060320.tar.gz
kitty:/mnt#
- 31 -
Interface Corporation
DMG-ZSH01
(4) ブートローダの書き込み
tarコマンドで書き込んだ状態は、セルフでliloを実行する状態になっています。
クロスで実行できるように、/mnt/etc/lilo.confと/mnt/boot/boot.bを変更します。
kitty:/mnt# cp -a etc/lilo.conf etc/lilo.conf-orig
kitty:/mnt# mv boot/boot.b boot/boot.b-orig
kitty:/mnt# gedit etc/lilo.conf
kitty:/mnt# cp -a /opt/cpz-usbcf/boot.b-21.4 boot/boot.b
kitty:/mnt# /opt/cpz-usbcf/lilo -r /mnt/
Added linux *
kitty:/mnt#
この例では、/mnt/etc/lilo.confをlilo.conf-origとして、/mnt/boot/boot.bをboot.b-origとして保存していま
す。
その後、/mnt/etc/lilo.confを変更します。変更内容は以下の通りです。
boot.bもクロス用のファイルをCFにコピーし、boot.bのバージョンに合ったliloを実行します。
/mnt/etc/lilo.confの変更内容
(変更前)
linear
compact
# Cross LILO
# Actually, it's /dev/hda
boot = /dev/hda
disk = /dev/hda
bios=0x80
#
delay = 30
###vga = normal
image = /boot/vmlinuz
label = linux
root = /dev/hda1
read-only
(変更後)
linear
compact
# Cross LILO
# Actually, it's /dev/hda
boot = /dev/sda
disk = /dev/sda
#boot = /dev/hda
#disk = /dev/hda
bios=0x80
#
delay = 30
###vga = normal
image = /boot/vmlinuz
label = linux
root = /dev/hda1
read-only
boot=とdisk=を、/dev/hdaから/dev/sdaに変更します。
Interface Corporation
- 32 -
DMG-ZSH01
(5) 終了処理
セルフでliloを実行しても問題ないように、/mnt/etc/lilo.confと/mnt/boot/boot.bを元のファイルに戻し、
アンマウントすれば完了です。
kitty:/mnt# cp etc/lilo.conf-orig etc/lilo.conf
kitty:/mnt# cp boot/boot.b-orig boot/boot.b
kitty:/mnt# cd
kitty:~# umount /mnt/
kitty:~#
以上で、CFのリカバリは完了です。
お知らせ
もし、オリジナルの boot.b を上書きしてし まった 場合、 /opt/cpz-usbcfに格納されている
boot.b-20.0で上書きしてください。
kitty:/mnt# cp -a /opt/cpz-usbcf/boot.b-20.0 boot/boot.b
kitty:/mnt#
- 33 -
Interface Corporation
DMG-ZSH01
2.4.2 ネットワークを使用する場合
■ホストマシンの準備(Debian編)
CPZ-SH03とホストマシンを接続し、ネットワーク経由でCPZ-SH03を起動する準備をします。
(1) ネットワークブートパッケージのインストール
ネットワークブートに必要なパッケージがホストマシンにインストールされていることを確認
します。
greenart:~# dpkg -l | grep dhcp3-server
ii dhcp3-server
greenart:~# dpkg -l | grep atftpd
ii atftpd
※ tftpdでは動作しません。atftpdをインストールしてください。パッケージのインストール時に
設定を聞かれますが、デフォルトでインストールした場合で説明しています。
インストールされていない場合は、後述の『55ページ 3.4 パッケージの追加』を参照して、apt-get
コマンドでインストールを行います。
(2) 開発キットCDから必要なファイルを展開
USB-CD あるいは 内蔵CDドライブに開発キットCDをセットし、マウントします。
(ここでは、/cdromディレクトリにマウントしたものとして記載します。)
以下のように必要なファイルをホストマシンに展開します。
kitty:~# cd /opt
kitty:~# tar zxf /cdrom/cpz-netboot/cpz-netboot-20060301.tar.gz
kitty:~# cp -a /cdrom/cpz-base/* /opt/cpz-netboot
(3) /opt/cpz-netboot/etcディレクトリの設定
展開した状態では、/opt/cpz-netboot/etcディレクトリのネットワーク関連は、以下の内容になってい
ます。ご使用のネットワーク環境に合わせて、変更してください。変更する場合は、ホストマシン
の/etcディレクトリも併せて変更してください。
変更箇所は後述します。
・ /opt/cpz-netboot/etc/fstab
# /etc/fstab: static file
#
# <file system>
kitty:/opt/cpz-netboot
proc
system information.
<mount point> <type> <options>
/
nfs
defaults
1
/proc proc
defaults
0
・ /opt/cpz-netboot/etc/hostname
greenart
Interface Corporation
- 34 -
<dump><pass>
1
0
DMG-ZSH01
・ /opt/cpz-netboot/hosts
127.0.0.1
localhost
192.168.1.100 kitty
192.168.1.110 greenart
# The following lines are desirable for IPv6 capable hosts
# (added automatically by netbase upgrade)
::1
ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
・ /opt/cpz-netboot/etc/resolv.conf
nameserver 127.0.0.1
・ /opt/network/interfaces
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
# automatically added when upgrading
auto lo
iface lo inet loopback
# The first network card - this entry was created during the Debian installation
# (network, broadcast and gateway are optional)
# automatically added when upgrading
auto eth0
iface eth0 inet static
address 192.168.1.110
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
- 35 -
Interface Corporation
DMG-ZSH01
(4) ホストマシン側の/etcディレクトリの設定
ホストマシン側の/etcディレクトリのネットワーク関連は、以下の内容になっています。ご使用の
ネットワーク環境に合わせて、変更してください。変更する場合は、前述の/opt/cpz-netboot/etc
ディレクトリも併せて変更してください。
・ /etc/dhcp3/dhcpd.conf
use-host-decl-names on;
ddns-update-style ad-hoc;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100;
option routers 192.168.1.100;
}
host greenart {
hardware ethernet 00:80:62:xx:xx:xx;
fixed-address greenart;
filename "/root/cpz-netboot/boot/vmlinuz";
option root-path "/root/cpz-netboot";
}
option option-128 code 128 = string;
option option-128 "DODES";
option option-129 code 129 = string;
option option-129 "ip=:::::eth0:";
hardware ethernet 00:80:62:xx:xx:xx;は、ご使用のCPZ-SH03のMACアドレスを指定してください。
CPZ-SH03のMACアドレスの確認方法は『54ページ 3.3.1 CPZ-SH03のMACアドレス確認方
法』を参照してください。
dhcpパッケージのバージョンが古いと、dhcpd.confファイルのフォーマットが異なることにより
option指定の行でエラーなります。
以下のようにoption指定の行を変更します。
option option-128 "DODES";
option option-129 "ip=:::::eth0:";
Interface Corporation
- 36 -
DMG-ZSH01
・ /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
#
to NFS clients. See exports(5).
/opt greenart(rw,no_root_squash,insecure,sync)
・ /etc/hostname
kitty
・ /etc/hosts
127.0.0.1
localhost.localdomain
192.168.1.100 kitty
192.168.1.110 greenart
localhost
debian
# The following lines are desirable for IPv6 capable hosts
::1
ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
・ /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
gateway 192.168.1.1
- 37 -
Interface Corporation
DMG-ZSH01
■ホストマシンの準備(Red Hat編)
CPZ-SH03とホストマシンを接続し、ネットワーク経由でCPZ-SH03を起動する準備をします。
(1) ネットワークブートパッケージのインストール
ネットワークブートに必要なパッケージがホストマシンにインストールされていることを確認し
ます。
[root@kitty ~]# rpm -qa | grep dhcp
dhcp-x.xxxx
[root@kitty ~]# rpm -qa | grep tftp-server
tftp-server-x.xxxx
インストールされていない場合は、rpmコマンドでインストールを行います。
[root@kitty ~]# rpm -ivh {CD のパス}/RedHat/RPMS/dhcp-x.xxxx
[root@kitty ~]# rpm -ivh {CD のパス}/RedHat/RPMS/tftp-server-x.xxxx
(2) 開発キットCDから必要なファイルを展開
USB-CD あるいは 内蔵CDドライブに開発キットCDをセットし、マウントします。
(ここでは、/cdromディレクトリにマウントしたものとして記載します。)
以下のように必要なファイルをホストマシンに展開します。
[root@kitty ~]# cd /opt
[root@kitty opt]# tar zxf /cdrom/cpz-netboot/cpz-netboot-20060301.tar.gz
[root@kitty opt]# cp -a /cdrom/cpz-base/* /opt/cpz-netboot
(3) /opt/cpz-netboot/etcディレクトリの設定
展開した状態では、/opt/cpz-netboot/etcディレクトリのネットワーク関連は、以下の内容になってい
ます。ご使用のネットワーク環境に合わせて、変更してください。変更する場合は、ホストマシン
の/etcディレクトリも併せて変更してください。
変更箇所は後述します。
・ /opt/cpz-netboot/etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options>
kitty:/opt/cpz-netboot / nfs
defaults
1
proc
/proc proc
defaults
・ /opt/cpz-netboot/etc/hostname
greenart
Interface Corporation
- 38 -
<dump> <pass>
1
0
0
DMG-ZSH01
・ /opt/cpz-netboot/hosts
127.0.0.1 localhost
192.168.1.100 kitty
192.168.1.110 greenart
# The following lines are desirable for IPv6 capable hosts
# (added automatically by netbase upgrade)
::1
ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
・ /opt/cpz-netboot/etc/resolv.conf
nameserver 127.0.0.1
・ /opt/network/interfaces
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
# automatically added when upgrading
auto lo
iface lo inet loopback
# The first network card - this entry was created during the Debian installation
# (network, broadcast and gateway are optional)
# automatically added when upgrading
auto eth0
iface eth0 inet static
address 192.168.1.110
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
- 39 -
Interface Corporation
DMG-ZSH01
(4) ホストマシンの/etcディレクトリの設定
ホストマシン側の/etcディレクトリのネットワーク関連は、以下の内容になっています。ご使用の
ネットワーク環境に合わせて、変更してください。変更する場合は、前述の/opt/cpz-netboot/etc
ディレクトリも併せて変更してください。
・ /etc/dhcpd.conf
#
# Sample configuration file for ISC dhcpd for Debian
#
# $Id: dhcpd.conf,v 1.4.2.2 2002/07/10 03:50:33 peloy Exp $
#
use-host-decl-names on;
ddns-update-style ad-hoc;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.110 192.168.1.110;
option routers 192.168.1.110;
}
host greenart {
hardware ethernet 00:80:62:xx:xx:xx;
fixed-address greenart;
filename "/opt/cpz-netboot/boot/vmlinuz";
option root-path "/opt/cpz-netboot";
}
option option-128 code 128 = string;
option option-128 "DODES";
option option-129 code 129 = string;
option option-129 "ip=:::::eth0:";
hardware ethernet 00:80:62:xx:xx:xx;は、ご使用のCPZ-SH03のMACアドレスを指定してください。
CPZ-SH03のMACアドレスの確認方法は『54ページ 3.3.1 CPZ-SH03のMACアドレス確認方
法』を参照してください。
dhcpパッケージのバージョンが古いと、dhcpd.confファイルのフォーマットが異なることにより
option指定の行でエラーなります。
以下のようにoption指定の行を変更します。
option option-128 "DODES";
option option-129 "ip=:::::eth0:";
Interface Corporation
- 40 -
DMG-ZSH01
・ /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
#
to NFS clients. See exports(5).
/opt greenart(rw,no_root_squash,insecure,sync)
・ /etc/hosts
127.0.0.1 localhost.localdomain localhostdebian
192.168.1.100 kitty
192.168.1.110 greenart
・ /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
・ /etc/xinet.d/tftp
service tftp
{
socket_type
protocol
wait
user
server
server_args
disable
per_source
cps
flags
}
= dgram
= udp
= yes
= root
= /usr/sbin/in.tftpd
= -s /tftpboot
= no
= 11
= 100 2
= IPv4
※ 網掛けの箇所にご注意ください。
- 41 -
Interface Corporation
DMG-ZSH01
■ネットワーク経由でCPZ-SH03を起動
CPZ-SH03基板上のDSW2の1,2をOFF、3,4をONにします。
CPZ-SH03のLAN1とホストマシンのLAN、および クロスのシリアルで接続し、ホストマシン上で、
ターミナルエミュレーター(minicom)を起動後、CPZ-SH03の電源を入れます。
(ネットワーク経由でCPZ-SH03を起動する場合、ホストマシン上で、nfsサーバ、dhcpdが動いてい
る必要があります。動いていない場合、/etc/init.dディレクトリの関連するデーモンをスタートして
ください。)
約25秒後、『10ページ 2.1.2 クロスのシリアルケーブルで接続する場合』と同様の起動メッセー
ジが表示され始めます。
Linux version 2.4.17 (root@kitty) (gcc version 3.0.4) #1 Mon Jun 27 15:24:43
JST 2005
On node 0 totalpages: 16384
zone(0): 16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: mem=64M sh_mv=SH03 console=ttySC1,115200
root=/dev/nfs
nfsroot=192.168.1.100:/opt/cpz-netboot
ip=192.168.1.110::192.168.1.110:255.255.255.0:greenart::off ip=:::::eth0:
Setting GDB trap vector to 0x80000100
・
・
・
Starting internet superserver: inetd.
Starting deferred execution scheduler: atd.
Starting periodic command scheduler: cron.
Debian GNU/Linux testing/unstable greenart ttySC1
greenart login:
ここで、“root”と入力し、ログインします。
以上で、ネットワーク経由での起動は完了です。試しに、lsコマンドと実行すると、以下の様な表
示になります。これは、ホストマシン上の/root/cpz-netbootディレクトリと同じ内容です。
greenart:~# ls /
bin
cpz-base-2.4-20060320.tar.gz etc
initrd
boot
cpz-base-2.6-20060320.tar.gz floppy lib
cdrom dev
home
mnt
greenart:~#
Interface Corporation
- 42 -
opt
sbin var
proc tmp
root usr
DMG-ZSH01
2.4.3 CFへの書き込み
(1) パーティションテーブルの作成
fdiskコマンドでパーティションテーブルを作ります。以下は、実行例です。
greenart:~# fdisk /dev/hda
hda: hda1
Command (m for help): p
Disk /dev/hda: 16 heads, 32 sectors, 978 cylinders
Units = cylinders of 512 * 512 bytes
Device Boot
/dev/hda1
*
Start
1
End
978
Blocks
Id System
250352
83 Linux
Command (m for help): d
Partition number (1-4): 1
Command (m for help): n
Command action
e
extended
p
primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-978, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-978, default 978):
Using default value 978
Command (m for help): a
Partition number (1-4): 1
Command (m for help): p
Disk /dev/hda: 16 heads, 32 sectors, 978 cylinders
Units = cylinders of 512 * 512 bytes
Device Boot
/dev/hda1
*
Start
1
End
978
Blocks
Id System
250352
83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
hda: hda1
hda: hda1
Syncing disks.
greenart:~#
この例では、一旦、現在のパーティションを“d”で削除した後、“n”で新規パーティションを作成し
ています。(hda1のパーティションサイズは、先頭から最後までを指定しています。)
次に、“a”で、ブート可能フラグをセットし、最後に“w”でCFに書き込んでいます。
- 43 -
Interface Corporation
DMG-ZSH01
(2) ext3ファイルシステムの構築
mkfs.ext3とtune2fsコマンドを使用し、CFの1番目の領域(/dev/hda1)をext3ファイルシステムにします。
greenart:~# mkfs.ext3 /dev/hda1
mke2fs 1.30-WIP (30-Sep-2002)
hda: hda1
hda: hda1
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
62744 inodes, 250352 blocks
12517 blocks (5.00%) reserved for the super user
First data block=1
31 block groups
8192 blocks per group, 8192 fragments per group
2024 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
greenart:~# tune2fs -O ^dir_index /dev/hda1
tune2fs 1.30-WIP (30-Sep-2002)
hda: hda1
greenart:~#
Interface Corporation
- 44 -
DMG-ZSH01
(3) システムファイルの書き込み
tarコマンドでCPZ-SH03用のシステムファイルをCFに書き込みます。
i
SH-Linux kernel ver. 2.4.17
greenart:~# mount -t ext3 /dev/hda1 /mnt/
hda: hda1
hda: hda1
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.16, 02 Dec 2001 on ide0(3,1), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
greenart:~# cd /mnt/
greenart:/mnt# tar zxf /cpz-base-2.4-20060320.tar.gz
greenart:/mnt#
i
SH-Linux kernel ver. 2.6.11
greenart:~# mount -t ext3 /dev/hda1 /mnt/
hda: hda1
hda: hda1
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.16, 02 Dec 2001 on ide0(3,1), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
greenart:~# cd /mnt/
greenart:/mnt# tar zxf /cpz-base-2.6-20060320.tar.gz
greenart:/mnt#
(4) ブートローダの書き込み
liloコマンドでブートローダをCFに書き込みます。
greenart:/mnt# lilo -r /mnt/
Added linux *
greenart:/mnt#
(5) 終了処理
最後にCFをアンマウントし、シャットダウンします。
greenart:/mnt# cd
greenart:~# umount /mnt/
greenart:~# shutdown -h now
INIT: Switching to runlevel: 0
INIT: Sending processes the TERM signal
Broadcast message from root (ttySC1) (Thu Jun 30 12:50:35 2005):
The system is going down for system halt NOW!
INIT: Sending processes the KILL signal
・
・
・
NOT deconfiguring network interfaces: / is an NFS mount
Deactivating swap... done.
Unmounting local filesystems... done.
RPC: sendmsg returned error 101
nfs: RPC call returned error 101
Power down.
RPC: sendmsg returned error 101
nfs: RPC call returned error 101
(Power down表示の前後で、error 101と表示することがありますが、無視してください。)
以上で、CFのリカバリは完了です。
- 45 -
Interface Corporation
DMG-ZSH01
第3章 各機能の設定方法
3.1 アプリケーションの自動実行
ここでは、作成したアプリケーションをログイン無しで、自動実行させる方法を説明します。
! 注意
ここで説明する方法を誤ると、OSが起動できなくなります。
必ず、『29ページ 2.4 CFのリカバリ手順』ができることを確認してから行ってください。
3.1.1 設定方法
1. 自動ログイン設定
ログインを無くすため、/etc/inittabの65行目の
T0:2345:respawn:/sbin/getty -L ttySC1 115200 vt100
を、
T0:2345:respawn:/bin/su -c /bin/sh - root
と変更します。
(開発キットCD内の/cpz-autoディレクトリに変更したinittabがありますので、CPZ-SH03側CFの/etc
ディレクトリにコピーすることで変更できます。)
2. /root/.profileへの登録
自動実行したいアプリケーションを、/root/.profileの最後に追加します。
以上で、自動実行の準備は完了です。もし、自動実行を止めたい場合は、/root/.profileの追加行を削
除し、/etc/inittabを元に戻して、rebootしてください。
Interface Corporation
- 46 -
DMG-ZSH01
3.1.2 設定例
ここでは、ドライバとシェルスクリプトを使用し、CPZ-SH03の電源を入れると、自動的に汎用LED
を10回点滅させる例を紹介します。
1. ドライバとシェルスクリプトを、CPZ-SH03側にコピーします。
greenart:~# mount kitty:/opt/ /mnt/
greenart:~# cp -a /mnt/cpz-auto/* ./
greenart:~#
※ ホストマシンの/optディレクトリはNFSで共有できるように設定しておいてください。
2. 自動実行の設定をします。
greenart:~# cp inittab /etc/
greenart:~# vi .profile
greenart:~# cat .profile
# ~/.profile: executed by Bourne-compatible login shells.
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
export PATH
mesg n
/root/sh03led.sh
← ここに、登録します。
greenart:~#
- 47 -
Interface Corporation
DMG-ZSH01
3. rootのパスワードの設定と、ユーザの追加をします。
自動実行設定を解除するにはroot以外のアカウントでログイン後、suコマンドでrootアカウントに切
り替える必要があります。
(rootアカウントでログインすると自動実行機能が働いてしまいます。)
そのためrootアカウントのパスワードと、一般ユーザアカウントの追加を行っておきます。
greenart:~# passwd root
Enter new UNIX password:
← root のパスワードを入力します
Retype new UNIX password:
← 同じものを入力します
passwd: password updated successfully
greenart:~# adduser user
Adding user user...
Adding new group user (1000).
Adding new user user (1000) with group user.
Enter new UNIX password:
← user のパスワードを入力します
Retype new UNIX password:
← 同じものを入力します
passwd: password updated successfully
Changing the user information for user
Enter the new value, or press return for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [y/n] y
greenart:~#
4. rebootコマンドで、CPZ-SH03を再起動し、汎用LEDの点灯を確認します。
5. 自動実行の解除方法。
kitty:~# telnet greenart
Trying 192.168.1.110...
Connected to greenart.
Escape character is '^]'.
Debian GNU/Linux testing/unstable greenart
greenart login: user
Password:
← ここで、user のパスワードを入力します
user@greenart:~$ su
Password:
ここで、root のパスワードを入力します
greenart:/home/user# cd
greenart:~# cp inittab-orig /etc/inittab ← inittab を元に戻します
greenart:~# vi .profile
greenart:~# cat .profile
# ~/.profile: executed by Bourne-compatible login shells.
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
/sbin:/bin:/usr/bin/X11
export PATH
mesg n
← 追加した行を、削除しています
greenart:~#
Interface Corporation
- 48 -
DMG-ZSH01
3.2 リードオンリCF
ここでは、CPZ-SH03のCFをリードオンリにする方法を説明します。
! 注意
ここで説明する方法を誤ると、OSが起動できなくなります。
必ず、『29ページ 2.4 CFのリカバリ手順』ができることを確認してから行ってください。
3.2.1 リードオンリにする方法
CPZ-SH03のCFをリードオンリにするためには、CF内の/etc/fstab,/etc/init.d/rcS,/etc/init.d/modutilsを変
更する必要があります。
開発キットCD内の/cpz-readonlyディレクトリに、変更したファイルがありますので、CPZ-SH03側
CFの/etcディレクトリ,/etc/init.dディレクトリにコピーし、シャットダウンします。
! 注意
何度も起動・終了を繰り返すと、/var/logディレクトリのファイルサイズが大きくなり、コピーする
ための領域が足りず、起動できなくなることがあります。
apt-get cleanを実行し、パッケージのローカル情報を削除します。また、/var/logディレクトリを開
発キットCD内の/cpz-readonly/clean-var-logディレクトリを参考に、ログファイルのサイズを小さ
くした後、/etcディレクトリの変更を行ってください。
1. 開発キットCD内のcpz-readonlyディレクトリのetcファイルをCPZ-SH03にコピーします。
最後にシャットダウンします。
greenart:~# mount kitty:/opt/ /mnt/
greenart:~# cd /mnt/cpz-readonly/
greenart:/mnt/cpz-readonly# cp -a fstab /etc/
greenart:/mnt/cpz-readonly# cp -a rcS /etc/init.d/
greenart:/mnt/cpz-readonly# cp -a modutils /etc/init.d/
greenart:/mnt/cpz-readonly# cd
greenart:~# umount /mnt/
greenart:~# shutdown -h now
INIT: Switching to runlevel: 0
INIT: Sending processes the TERM signal
INIT: Sending processes the KILL signal
・
・
・
Unmounting remote filesystems... done.
Deconfiguring network interfaces: done.
Deactivating swap... done.
Unmounting local filesystems... done.
Power down.
2. CPZ-SH03の電源を入れ、echoで書き込みできないことを確認します。
greenart:~# echo "abc" >xxx.xxx
-bash: xxx.xxx: Read-only file system
greenart:~#
- 49 -
Interface Corporation
DMG-ZSH01
3.2.2 リードオンリを解除する方法
リードオンリを、元に戻すに場合は、
greenart:~# umount /etc/
greenart:~# mount -wn -o remount /
と実行した後、開発キットCD内の./cpz-readonly/内にあるfstab-orig, rcS-orig, modutils-origを、それぞ
れ、/etc/fstab,/etc/init.d/rcS,/etc/init.d/modutilsにコピーし、rebootすることで行えます。
1. 開発キットCD内のcpz-readonly/ディレクトリのetcファイル(xxx-orig)をCPZ-SH03にコピーします。
最後にシャットダウンします。
greenart:~# umount /etc/
greenart:~# mount -wn -o remount /
EXT3 FS 2.4-0.9.16, 02 Dec 2001 on ide0(3,1), internal journal
greenart:~# mount kitty:/opt /mnt/
greenart:~# cd /mnt/cpz-readonly/
greenart:/mnt/cpz-readonly# cp -a fstab-orig /etc/fstab
greenart:/mnt/cpz-readonly# cp -a rcS-orig /etc/init.d/rcS
greenart:/mnt/cpz-readonly# cp -a modutils-orig /etc/init.d/modutils
greenart:/mnt/cpz-readonly# cd
greenart:~# umount /mnt/
greenart:~# shutdown -h now
Broadcast message from root (ttySC1) (Thu Jun 30 13:27:33 2005):
The system is going down for system halt NOW!
INIT: Switching to runlevel: 0
INIT: Sending processes the TERM signal
INIT: Sending processes the KILL signal
・
・
・
Unmounting remote filesystems... done.
Deconfiguring network interfaces: done.
Deactivating swap... done.
Unmounting local filesystems... done.
Power down.
2. CPZ-SH03の電源を入れ、echoで書き込みができることを確認します。
greenart:~# echo "abc" >xxx.xxx
greenart:~# cat xxx.xxx
abc
greenart:~#
Interface Corporation
- 50 -
DMG-ZSH01
3.2.3 リードオンリ設定ファイルの変更内容
リードオンリ設定で変更したファイルの変更内容は以下の通りです。
(diffコマンドを実行した差分情報です。)
1. /etc/fstab
--- fstab-orig
2005-05-17 10:09:29.000000000 +0900
+++ fstab 2005-05-19 15:05:48.000000000 +0900
@@ -1,5 +1,5 @@
# /etc/fstab: static file system information.
#
-# <file system> <mount point> <type> <options>
<dump> <pass>
-/dev/hda1 /
ext3
defaults,errors=remount-ro1
1
-proc
/proc
proc
defaults
0
0
+# <file system> <mount point> <type> <options>
<dump> <pass>
+/dev/hda1 /
ext3
ro
0
0
+proc
/proc
proc defaults
0
0
- 51 -
Interface Corporation
DMG-ZSH01
2. /etc/init.d/rcS
--- rcS-orig 2002-07-09 09:00:00.000000000 +0900
+++ rcS
2005-05-19 13:26:52.000000000 +0900
@@ -12,6 +12,44 @@
umask 022
export PATH runlevel prevlevel
+#######################################
+##### make RAM-Disk for Read-only #####
+#######################################
+
+mke2fs -q -i 2048 /dev/ram0; tune2fs -O ^dir_index /dev/ram0
+mount -n -o rw /dev/ram0 /mnt
+for i in `ls -1 /var | grep -v "cache" | grep -v "lib"`
+do
+ cp -a /var/$i /mnt/
+done
+mkdir /mnt/cache
+for i in `ls -1 /var/cache | grep -v "apt"`
+do
+ cp -a /var/cache/$i /mnt/cache/
+done
+mkdir /mnt/lib
+for i in `ls -1 /var/lib | grep -v "apt" | grep -v "dpkg"`
+do
+ cp -a /var/lib/$i /mnt/lib/
+done
+umount -n /mnt
+mount -n -o rw /dev/ram0 /var
+
+mke2fs -q -i 2048 /dev/ram1; tune2fs -O ^dir_index /dev/ram1
+mount -n -o rw /dev/ram1 /mnt
+cp -a /etc/* /mnt/
+umount -n /mnt
+mount -n -o rw /dev/ram1 /etc
+
+mke2fs -q -i 2048 /dev/ram2; tune2fs -O ^dir_index /dev/ram2
+mount -n -o rw /dev/ram2 /mnt
+cp -a /dev/* /mnt/
+umount -n /mnt
+mount -n -o rw /dev/ram2 /dev
+
+mke2fs -q -i 2048 /dev/ram3; tune2fs -O ^dir_index /dev/ram3
+mount -n -o rw /dev/ram3 /tmp
+
#
#See if system needs to be setup. This is ONLY meant to
#
be used for the initial setup after a fresh installation!
Interface Corporation
- 52 -
DMG-ZSH01
3. /etc/modutils
--- modutils-orig 2002-06-21 09:00:00.000000000 +0900
+++ modutils
2005-05-19 13:38:04.000000000 +0900
@@ -7,9 +7,11 @@
[ -f /proc/modules ] || exit 0
[ -e /sbin/depmod ] || exit 0
-echo -n "Calculating module dependencies... "
-depmod -a > /dev/null
-echo "done."
+#######################################################
+#####echo -n "Calculating module dependencies... "
+#####depmod -a > /dev/null
+#####echo "done."
+#######################################################
# Loop over every line in /etc/modules.
echo -n 'Loading modules: '
3.3 Wake On LAN
CPZ-SH03でWake On LANを可能にするためには、シャットダウンを行う前に、ethtoolコマンドを
実行してWake On LANを有効にする必要があります。
なお、CPZ-SH03にはLANが2ポートのモデルがありますが、Wake On LANに対応したポートはLAN1
のみです。
1. ethtoolコマンドでWake On LANを有効にした後、シャットダウンします。
greenart:~# ethtool -s eth0 wol g
greenart:~# shutdown -h now
Broadcast message from root (ttySC1) (Thu Jun 30 13:31:13 2005):
The system is going down for system halt NOW!
INIT: Switching to runlevel: 0
INIT: Sending processes the TERM signal
INIT: Sending processes the KILL signal
・
・
・
Unmounting remote filesystems... done.
Deconfiguring network interfaces: done.
Deactivating swap... done.
Unmounting local filesystems... done.
Power down.
2. ホストマシンから、CPZ-SH03のMACアドレスに対して、etherwakeコマンドでマジックパケット
を送信します。(RedHat系は、ether-wakeコマンドです。)
kitty:~# etherwake 00:80:62:80:02:c6
(実行例)
CPZ-SH03の電源が入り、OSが起動します。
- 53 -
Interface Corporation
DMG-ZSH01
3.3.1 CPZ-SH03のMACアドレス確認方法
CPZ-SH03のMACアドレスは、基板上のシールで確認できます。また、ソフトウェアにても確認す
ることができます。
1. CPZ-SH03上にログインして確認する
ifconfigコマンドでCPZ-SH03のMACアドレスを、以下のようにして確認することができます。
HWaddrがMACアドレスとなります。
greenart:~# ifconfig eth0
eth0
Link encap:Ethernet HWaddr 00:80:62:80:02:C6
inet addr:192.168.1.110 Bcast:192.168.1.255 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:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:5
greenart:~#
2. ホストマシンからarpコマンドで確認する
CPZ-SH03が起動しているときに、ホストマシンからarpコマンドを実行することによりCPZ-SH03
のMACアドレスを確認することができます。
kitty:~# ping 192.168.1.110
kitty:~# arp -a 192.168.1.110
greenart (192.168.1.110) at 00:80:62:80:02:C6 [ether] on eth0
kitty:~#
Interface Corporation
- 54 -
DMG-ZSH01
3.4 パッケージの追加
使いたいコマンドやlibが収録されていない場合、インターネット上のWebからパッケージ(deb)を追
加インストールします。
3.4.1 apt-getコマンドを使う方法
インターネットに接続できる環境では、パッケージのインストールは、apt-getコマンドで行います。
ご使用のネットワーク環境に合わせて、/etcディレクトリの設定を変更してください。
apt-getコマンドを実行し、以下の様な表示になれば準備OKです。
greenart:~# apt-get clean
greenart:~# apt-get update
Hit http://debian.dodes.org sid/main Packages
Ign http://debian.dodes.org sid/main Release
Hit http://debian.dodes.org sid/non-free Packages
Ign http://debian.dodes.org sid/non-free Release
Hit http://debian.dodes.org sid/contrib Packages
Ign http://debian.dodes.org sid/contrib Release
Reading Package Lists... Done
Building Dependency Tree... Done
例えば、gccをインストールする場合、以下の様にします。
greenart:~# apt-get install gcc
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
binutils cpp cpp-3.0 gcc-3.0
The following NEW packages will be installed:
binutils cpp cpp-3.0 gcc gcc-3.0
0 packages upgraded, 5 newly installed, 0 to remove and
0 not upgraded.
Need to get 3627kB of archives. After unpacking 8442kB will be used.
Do you want to continue? [Y/n] Y
Get:1 http://debian.dodes.org sid/main binutils 2.13.90.0.4-1
[1996kB]
Get:2 http://debian.dodes.org sid/main cpp-3.0 1:3.0.4-7.dodes.0
[127kB]
Get:3 http://debian.dodes.org sid/main cpp 2:3.0.4-8 [3880B]
Get:4 http://debian.dodes.org sid/main gcc-3.0 1:3.0.4-7.dodes.0
[1497kB]
Get:5 http://debian.dodes.org sid/main gcc 2:3.0.4-8 [3432B]
Fetched 3627kB in 9s (390kB/s)
Preconfiguring packages ...
:
Setting up gcc (3.0.4-8) ...
これで、インストール完了です。
パッケージの削除は、apt-getコマンドにremoveオプションをつけて実行します。
greenart:~# apt-get remove gcc
Webの指定は、/etc/apt/sources.listで指定します。開発キットのCDからCFを構築した場合、以下の指
定になっています。もし、Webの指定を変更する場合は、この設定を変更してください。
greenart:~# cat /etc/apt/sources.list
deb http://debian.dodes.org/debian sid main non-free contrib
- 55 -
Interface Corporation
DMG-ZSH01
3.4.2 パッケージを手動でインストールする方法
インターネットに繋がらない環境ではapt-getコマンドが利用できないため、個々のパッケージを
dpkgコマンドでインストールする必要があります。
例ではWindows共有ディレクトリをLinuxマシンから利用できるsmbfsパッケージをインストールし
ます。
※ 個々のパッケージは予めインターネットを使用してダウンロードしておく必要があります。
※ apt-getコマンドと異なりパッケージの依存解決は自身で解決する必要があります。dpkgコマンド
でインストールすると依存関係のあるパッケージがインストールされていない旨のエラー
メッセージが出ますので、依存関係のあるパッケージをインストールした後に再度、そのパッ
ケージのインストールを行ってください。
下記の例ではsmbfsをインストールするとsamba-commonパッケージがインストールされていな
い旨のエラーメッセージが表示されるため、samba-commonが必要だと判ります。
greenart:/mnt/user/samba# dpkg -i smbfs_2.999+3.0.alpha20-1_sh4.deb
Selecting previously deselected package smbfs.
(Reading database ... 7632 files and directories currently installed.)
Unpacking smbfs (from smbfs_2.999+3.0.alpha20-1_sh4.deb) ...
dpkg: dependency problems prevent configuration of smbfs:
smbfs depends on samba-common (= 2.999+3.0.alpha20-1); however:
Package samba-common is not installed.
dpkg: error processing smbfs (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
smbfs
1. パッケージをダウンロードする
SH-LinuxのパッケージはDODES プロジェクト(http://debian.dodes.org)より入手できます。
smbfsとsamba-commonのパッケージをインターネットに接続したコンピュータにてダウンロードし
ます。
・smbfsパッケージ
http://debian.dodes.org/debian/dists/sid/main/binary-sh4/net/samba-common_2.999+3.0.alpha
20-1_sh4.deb
・samba-commonパッケージ
http://debian.dodes.org/debian/dists/sid/main/binary-sh4/otherosfs/smbfs_2.999+3.0.alpha201_sh4.deb
Interface Corporation
- 56 -
DMG-ZSH01
2. パッケージをインストールする
ホストマシンの/optディレクトリにパッケージをコピーします。
CPZ-SH03にrootでログインし、mountコマンドでネットワークドライブをマウント後、パッケージ
のインストールを行います。実行例を以下に示します。
greenart:~# mount kitty:/opt /mnt
greenart:~# cd /mnt
greenart:/mnt# dpkg -i samba-common_2.999+3.0.alpha20-1_sh4.deb
Selecting previously deselected package samba-common.
(Reading database ... 7528 files and directories currently installed.)
Unpacking samba-common (from samba-common_2.999+3.0.alpha20-1_sh4.deb) ...
Setting up samba-common (2.999+3.0.alpha20-1) ...
∼中略∼
greenart:/mnt# dpkg -i smbfs_2.999+3.0.alpha20-1_sh4.deb
Selecting previously deselected package smbfs.
(Reading database ... 7544 files and directories currently installed.)
Unpacking smbfs (from smbfs_2.999+3.0.alpha20-1_sh4.deb) ...
Setting up smbfs (2.999+3.0.alpha20-1) ...
greenart:/mnt#
※ ホストマシンの/optディレクトリはNFSで共有できるように設定しておいてください。
パッケージの削除は、dpkgに“-r”オプションをつけて実行します。
greenart:~# dpkg -r smbfs
greenart:~# dpkg -r samba-common
- 57 -
Interface Corporation
DMG-ZSH01
第4章 カーネル構築
ここでは、CPZ-SH03のカーネルを構築する方法を説明します。
カーネルコンパイルは、ホストマシン上で行います。
『17ページ 2.2.1 クロス開発環境の構築』で、クロスコンパイラの設定がされていることを
前提に説明します。
! 注意
ここで説明する方法を誤ると、OSが起動できなくなります。
必ず、『29ページ 2.4 CFのリカバリ手順』ができることを確認してから行ってください。
4.1 kernel v2.4.17
『17ページ 2.2.1 クロス開発環境の構築』の「kernel v2.4.17」の説明に従って環境の構築を行って
ください。
4.1.1 カーネルコンフィグレーション
カーネルコンフィグレーションは、カーネルソースのあるディレクトリで、make xconfig,
make menuconfigとすることで開始します。また、ARCH=shとすることで、SHアーキテクチャを指
定します。
kitty:~# cd /usr/src/linux-2.4.17
kitty:/usr/src/linux-2.4.17# make ARCH=sh CROSS_COMPILE=sh4-linuxxconfig
ここでは、X Window system上で動作するxconfigを指定しています。
実行すると、以下のメニューが表示されます。
Interface Corporation
- 58 -
DMG-ZSH01
このメニューから、各機能の選択を行います。
例えば、Processor type and featuresを選択すると、以下のサブメニューを表示します。
初期設定は、CPZ-SH03の指定になっています。Main Menuを選択後、Save and Exitを選択すると、
以下のサブメニューが表示されますので、
OKを押すと、xconfigが終了します。
設定した内容は、.configに書き込まれます。
カーネルコンフィグレーションの選択項目は多数ありますが、全てがSH(あるいはCPZ-SH03)で動作
する訳ではありません。新しい機能を追加される場合は、1項目ずつ追加・確認されることをお勧
めします。
お知らせ
設定をデフォルトに戻したい場合、開発キットCDの/cpz-kernelに収録されているconfig-2.4.17
で、/usr/src/linux-2.4.17/.configを上書きしてください。
- 59 -
Interface Corporation
DMG-ZSH01
4.1.2 カーネルコンパイル
カーネルコンパイルは、以下で行います。
kitty:/usr/src/linux-2.4.17# make ARCH=sh CROSS_COMPILE=sh4-linux- clean dep
zImage modules
エラーにならなければ、コンパイルは成功です。
次に、構築したモジュールを、/usr/src/linux-2.4.17以下のディレクトリにインストールします。以下の
例は、mod-dirというディレクトリを作り、そのディレクトリにインストールしています。
kitty:/usr/src/linux-2.4.17# mkdir mod-dir
kitty:/usr/src/linux-sh# make ARCH=sh CROSS_COMPILE=sh4-linux- INSTALL_M
OD_PATH=/usr/src/linux-2.4.17/mod-dir/ modules_install
この時、以下のdepmodエラーが出ますが、このエラーは無視してかまいません。
depmod: ELF file /usr/src/linux-sh/mod-dir/lib/modules/2.4.17/kernel/drivers/char/pcmcia/seria
l_cs.o not for this architecture
make: *** [_modinst_post] エラ− 1
モジュールがインストールされたかどうかは、以下で確認できます。
kitty:/usr/src/linux-2.4.17# ls mod-dir/lib/modules/2.4.17/
build
modules.generic_string modules.parportmap modules.usbmap
kernel
modules.ieee1394map
modules.pcimap
pcmcia
modules.dep modules.isapnpmap
modules.pnpbiosmap
kitty:/usr/src/linux-2.4.17#
以上で、カーネルの構築は完了です。
Interface Corporation
- 60 -
DMG-ZSH01
4.2 kernel v2.6.11
『17ページ 2.2.1 クロス開発環境の構築』の「kernel v2.6.11」の説明に従って環境の構築を行って
ください。
4.2.1 カーネルコンフィグレーション
make ARCH=sh xconfigで、カーネルコンフィグレーションの画面を表示し、
カーネルコンフィグレーションの設定を行います。
設定した内容は、.configに書き込まれます。
お知らせ
設定をでフォルトに戻したい場合、開発キットCDの/cpz-kernelに収録されているconfig-2.6.11
で、/usr/src/cpz-2.6/linux-2.6.11.12/.configを上書きしてください。
- 61 -
Interface Corporation
DMG-ZSH01
make ARCH=sh xconfig実行で、以下のエラーメッセージで異常終了する場合は、apt-get install
libqt3-devと実行し、qt関連のパッケージをインストールしてください。
kitty:/usr/src/cpz-2.6/linux-2.6.11.12# make ARCH=sh xconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/split-include
HOSTCC scripts/basic/docproc
*
* Unable to find the QT installation. Please make sure that the
* QT development package is correctly installed and the QTDIR
* environment variable is set to the correct location.
*
make[1]: *** [scripts/kconfig/.tmp_qtcheck] エラー 1
make: *** [xconfig] エラー 2
4.2.2 カーネルコンパイル
カーネルコンパイルは、make ARCH=sh CROSS_COMPILE=sh4-linux- と実行することで行います。
kitty:/usr/src/cpz-2.6/linux-2.6.11.12# make ARCH=sh CROSS_COMPILE=sh4-linux
・
・
・
kitty:/usr/src/linux-2.6.11.12# mkdir mod-dir
kitty:/usr/src/linux-2.6.11.12# make ARCH=sh CROSS_COMPILE=sh4-linux- INST
ALL_MOD_PATH=/usr/src/linux-2.6.11.12/mod-dir/ modules_install
ここでは、コンパイルした後、./mod-dir/にモジュールをインストールしています。
4.2.3 割り込み応答性能のチューニング
kernel 2.6の特長として、カーネルレベルプリエンプションの導入によって、優先順位の低いプロセ
スの実行中に発生した優先順位の高いプロセスを即座に切り替えて実行できるようになりました。
これにより、kernel 2.4と比較して割り込み応答性の向上が期待できます。
この応答性向上の鍵となるのはCPUクロックの精度を決定するinclude/asm-sh/param.hに定義された
HZの値です。
この値が大きくなるほど、タスクスケジューリングの切り替え待ち時間が短くなるため、応答性が
向上します。
但し、この値を大きくすると、割り込み応答性が向上する替わりに、システム全体の負荷が上昇す
るため、SH-4のような処理能力の低いCPUでは、影響を考慮する必要があります。
この値は、i386用kernel 2.6(2.6.13以前)では1000になっていますが、kernel 2.6.13以降では250に変更
され、カーネルバージョンで値が異なっています。
SH-Linuxでは100がデフォルトに設定されています。
この値は、必要に応じて適宜変更してご使用ください。
! 警告
この値の変更は、カーネル内で使用されている起動時からの経過時間を格納するjiffies変数
のカウントアップ周期に影響します。ドライバの動作にも影響する可能性がありますので、
デバイスドライバの再コンパイルを行ってください。
Interface Corporation
- 62 -
DMG-ZSH01
■HZの値と割り込み応答性の関係
HZを変更することで、割り込み応答性がどの位変化するかを、以下の環境で測定した結果を示しま
す。
1. 環境
項 目
CPU
OS
内 容
CPZ-SH03(SH4:240MHz)
SHLinux2.4
(カーネルバージョン2.4.17 OSタイマ周期=10ms)
SHLinux2.6
(カーネルバージョン2.6.11 OSタイマ周期=10ms)
kernel 2.4
kernel 2.6
HZ=100
kernel 2.6
HZ=200
SHLinux2.6改良バージョン
(カーネルバージョン2.6.11 OSタイマ周期=5ms)
SHLinux2.6改良バージョン
(カーネルバージョン2.6.11 OSタイマ周期=2.5ms)
SHLinux2.6改良バージョン
(カーネルバージョン2.6.11 OSタイマ周期=1ms)
SHRTLinux(RTLinux-3.2-pre1)
(カーネルバージョン2.4.17)
kernel 2.6
HZ=400
kernel 2.6
HZ=1000
RTLinux
CPZ-4141(RS-232C×2チャンネル)
ボーレート115200bps
シリアルプログラムの優先度を-20(最優先)に設定
ペリフェラルボード
通信設定
その他条件
2. 測定内容
シリアルポートでデータの送受信を繰り返し行い、データ受信完了からデータ送信までの時間を、
1万回測定した際の時間のバラつきと平均,標準偏差を求めます。
アプリケーション通知
データ送信開始
受信完了
データ受信
データ送信
この時間を測定
- 63 -
Interface Corporation
DMG-ZSH01
3. 測定結果
発生回数
10000
RTLinux
Linux2.6(HZ=1000)
Linux2.6(HZ=400)
Linux2.6(HZ=200)
Linux2.6(HZ=100)
Linux2.4
9000
8000
7000
6000
5000
4000
3000
2000
1000
0
~1000
~2000
~3000
~4000
~5000
~6000
~7000
~8000
~9000
~10000
遅延時間[µsec]
グラフ3−1 遅延時間分布グラフ
データ区間(μs)
0∼1000
1000∼2000
2000∼3000
3000∼4000
4000∼5000
5000∼6000
6000∼7000
7000∼8000
8000∼9000
9000∼10000
10000∼
平均値
最大値
最小値
標準偏差
HZ= 1000
3694
6306
0
0
0
0
0
0
0
0
0
1131.31
1690
637
288.33
Linux2.6
HZ= 400 HZ= 200 HZ= 100
1485
713
376
4014
2025
1007
3995
1987
997
507
1989
997
0
2030
991
0
1257
1003
0
0
1009
0
0
998
0
0
1012
0
0
981
0
0
629
1876.85 3135.91 5620.85
3128
5737
10735
630
634
630
722.51 1443.42 2886.89
Linux2.4
RTLinux
379
1003
998
991
1008
997
1005
994
1012
996
617
5621.63
10621
625
2885.91
10000
0
0
0
0
0
0
0
0
0
0
582.15
681
576
4.43
4. 考察
上記の結果から、デフォルトのLinux2.6(HZ= 100)では、Linux 2.4と変化が無いことが判ります。
HZの値を大きくするほど、遅延時間のバラつきが減少します。
RTLinuxでは、遅延時間は全てのデータで1msec以内に収まります。
Interface Corporation
- 64 -
DMG-ZSH01
■HZの変更方法
HZを変更するには、Linuxカーネルのヘッダーファイルを書き換えて、カーネルの再コンパイルが
必要になります。
1. ヘッダーファイルの変更
/usr/src/cpz-2.6/linux-2.6.11.12/include/asm-sh/param.hをテキストエディターで開いて、斜線の箇所を
100∼1000の間で変更します。
#ifndef __ASM_SH_PARAM_H
#define __ASM_SH_PARAM_H
#ifdef __KERNEL__
# ifdef CONFIG_SH_WDT
# define HZ
1000
# else
# define HZ
100
# endif
# define USER_HZ
100
# define CLOCKS_PER_SEC
#endif
/* Needed for high-res WOVF */
/* User interfaces are in "ticks" */
(USER_HZ)
/* frequency at which times() counts */
2. カーネルコンパイル
まず、make ARCH=sh CROSS_COMPILE=sh4-linux- cleanを実行して、予め中間ファイルを削除しま
す。その後、make ARCH=sh CROSS_COMPILE=sh4-linux- と実行することで行います。
kitty:/usr/src/cpz-2.6/linux-2.6.11.12# make ARCH=sh CROSS_COMPILE=sh4-linux
- clean
:
kitty:/usr/src/cpz-2.6/linux-2.6.11.12# make ARCH=sh CROSS_COMPILE=sh4-linux
:
kitty:/usr/src/linux-2.6.11.12# mkdir mod-dir
kitty:/usr/src/linux-2.6.11.12# make ARCH=sh CROSS_COMPILE=sh4-linux- INST
ALL_MOD_PATH=/usr/src/linux-2.6.11.12/mod-dir/ modules_install
ここでは、コンパイルした後、./mod-dir/にモジュールをインストールしています。
次項の『66ページ 4.3 カーネルの入れ替え』を参照して、カーネルを入れ替えてください。
- 65 -
Interface Corporation
DMG-ZSH01
4.3 カーネルの入れ替え
4.3.1 USB接続のCFリーダ/ライタを使う場合
CPZ-SH03搭載のCFを、
USB接続のCFリーダ/ライタにセットし、
ホストマシンに接続します。
(以降、
CFを/dev/sdaと認識したものとして説明します。)
1. カーネルとモジュールの書き込み
以下の手順で、構築したカーネルとモジュールを、CFにコピーします。
i
SH-Linux kernel ver. 2.4.17
kitty:~# cd /usr/src/linux-2.4.17
kitty:/usr/src/linux-2.4.17# mount -t ext3 /dev/sda1 /mnt/
kitty:/usr/src/linux-2.4.17# cp -a arch/sh/boot/zImage /mnt/boot/vmlinuz
kitty:/usr/src/linux-2.4.17# rm -rf /mnt/lib/modules
kitty:/usr/src/linux-2.4.17# cp -a mod-dir/lib/modules /mnt/lib/
i
SH-Linux kernel ver. 2.6.11
kitty:~# cd /usr/src/cpz-2.6/linux-2.6.11.12
kitty:/usr/src/cpz-2.6/linux-2.6.11.12# mount -t ext3 /dev/sda1 /mnt/
kitty:/usr/src/cpz-2.6/linux-2.6.11.12# cp -a arch/sh/boot/zImage /mnt/boot/vmlinuz
kitty:/usr/src/cpz-2.6/linux-2.6.11.12# rm -rf /mnt/lib/modules
kitty:/usr/src/cpz-2.6/linux-2.6.11.12# cp -a mod-dir/lib/modules /mnt/lib/
もし、CF内の/lib/modules/以下に、カーネル以外のモジュールを組み込んだ場合は、一旦、別のデ
ィレクトリに退避し、カーネルモジュールをコピーした後、再度 元の場所にコピーし直してくだ
さい。
2. ブートローダの書き込み
クロスで実行できるように、/mnt/etc/lilo.confと/mnt/boot/boot.bを変更します。
kitty:~# cd /mnt
kitty:/mnt# cp -a etc/lilo.conf etc/lilo.conf-orig
kitty:/mnt# mv boot/boot.b boot/boot.b-orig
kitty:/mnt# gedit etc/lilo.conf
kitty:/mnt# cp -a /opt/cpz-usbcf/boot.b-21.4 boot/boot.b
kitty:/mnt# /opt/cpz-usbcf/lilo -r /mnt/
Added linux *
kitty:/mnt#
この例では、/mnt/etc/lilo.confをlilo.conf-origとして、/mnt/boot/boot.bをboot.b-origとして保存していま
す。
その後、/mnt/etc/lilo.confを変更します。変更内容は、『29ページ 2.4 CFのリカバリ手順』の
『29ページ 2.4.1 USB接続のCFリーダ/ライタを使う場合』を、参照してください。
boot.bもクロス用のファイルをCFにコピーし、boot.bのバージョンに合ったliloを実行します。
Interface Corporation
- 66 -
DMG-ZSH01
3. 終了処理
セルフでliloを実行しても問題ないように、/mnt/etc/lilo.confと/mnt/boot/boot.bを元のファイルに戻し、
umountすれば完了です。
kitty:/mnt# cp etc/lilo.conf-orig etc/lilo.conf
kitty:/mnt# cp boot/boot.b-orig boot/boot.b
kitty:/mnt# cd
kitty:~# umount /mnt/
kitty:~#
以上で、カーネルの書き込みは完了です。
4.3.2 ネットワークを使用する場合
ここでは、『29ページ 2.4 CFのリカバリ手順』のネットワークを使用する場合で説明したホス
トマシンの準備ができているものとして説明します。
なお、ホストマトン上の/etc/exportsの設定で、CPZ-SH03からmountできるディレクトリを/optとして
いますので、構築したカーネルとモジュールを、cp -aコマンドで、/opt/tmp/に移動させておきます。
i
SH-Linux kernel ver. 2.4.17
kitty:~# cd /opt
kitty:/opt# mkdir tmp
kitty:/opt/tmp# cp -a /usr/src/linux-2.4.17/arch/sh/boot/zImage ./
kitty:/opt/tmp# cp –a /usr/src/linux-2.4.17/mod-dir ./
kitty:/opt/tmp# cd
kitty:~#
i
SH-Linux kernel ver. 2.6.11
kitty:~# cd /opt
kitty:/opt# mkdir tmp
kitty:/opt/tmp# cp -a /usr/src/cpz-2.6/linux-2.6.11.12/arch/sh/boot/zImage ./
kitty:/opt/tmp# cp –a /usr/src/cpz-2.6/linux-2.6.11.12/mod-dir ./
kitty:/opt/tmp# cd
kitty:~#
- 67 -
Interface Corporation
DMG-ZSH01
1. ネットワーク経由でCPZ-SH03を起動
CPZ-SH03基板上のDSW2の1,2をOFF、3,4をONにします。
CPZ-SH03のLAN1とホストマシンのLAN、およびクロスのシリアルで接続し、ホストマシン上で、
ターミナルエミュレータ(minicom)を起動後、CPZ-SH03の電源を入れます。
(ネットワーク経由でCPZ-SH03を起動する場合、ホストマシン上で、nfsサーバ、dhcpdが動いて
いる必要があります。動いていない場合、/etc/init.dディレクトリの関連するデーモンをスタート
してください。)
起動メッセージが表示され、loginプロンプト状態になりますので、rootでログインします。
Linux version 2.4.17 (root@kitty) (gcc version 3.0.4) #1 Mon Jun 27 15:24:43 JST 2005
On node 0 totalpages: 16384
On node 0 totalpages: 16384
・
・
・
Starting internet superserver: inetd.
Starting deferred execution scheduler: atd.
Starting periodic command scheduler: cron.
Debian GNU/Linux testing/unstable greenart ttySC1
greenart login: root
・
・
・
greenart:~#
2. カーネルとモジュール
以下の手順で、構築したカーネルとモジュールを、CFにコピーします。
greenart:~# mkdir /host
greenart:~# mount kitty:/opt /host
greenart:~# mount -t ext3 /dev/hda1 /mnt
greenart:~# cp -a /host/tmp/zImage /mnt/boot/vmlinuz
greenart:~# rm -rf /mnt/lib/modules
greenart:~# cp -a /host/tmp/mod-dir/lib/modules /mnt/lib/
greenart:~# umount /host
greenart:~#
もし、CF内の/lib/modules/以下に、カーネル以外のモジュールを組み込んだ場合は、一旦、別のデ
ィレクトリに退避し、カーネルモジュールをコピーした後、再度 元の場所にコピーし直してくだ
さい。
3. ブートローダの書き込み
liloコマンドでブートローダをCFに書き込みます。
greenart:/mnt# lilo -r /mnt
Added linux *
greenart:/mnt#
Interface Corporation
- 68 -
DMG-ZSH01
4. 終了処理
最後にCFをアンマウントし、シャットダウンします。
greenart:/mnt# cd
greenart:~# umount /mnt/
greenart:~# shutdown -h now
Broadcast message from root (ttySC1) (Thu Jun 30 10:43:10 2005):
The system is going down for system halt NOW!
INIT: Switching to runlevel: 0
INIT: Sending processes the TERM signal
INIT: Sending processes the KILL signal
・
・
・
Unmounting remote filesystems... done.
Deconfiguring network interfaces: done.
Deactivating swap... done.
Unmounting local filesystems... done.
Power down.
以上で、カーネルの書き込みは完了です。
- 69 -
Interface Corporation
DMG-ZSH01
第5章 情報サービス
5.1 情報の入手方法
弊社Web siteでは様々なサービスを提供しております。
日本: www.interface.co.jp
海外: www.interface-world.com
ダウンロードするためには、ユーザID登録が必要になります。
製品情報
サポート
購入方法
ダウンロード
新製品情報,製品の個別仕様,セレクションガイド
オンラインQA,製品修理,貸出サービス,FAQ,用語集
販売店一覧,通信販売
マニュアル,ソフトウェア,チュートリアル(入門書)
※ Web siteの内容については、随時更新していますので、上記と異なる場合があります。
5.2 製品使用登録
弊社Web siteより製品使用登録を行うことで、保証期間が最大2年延長になります。
また、製品のバージョンアップ情報を電子メールでお届けします。製品到着後1年以内に登録して
ください。
http://www.interface.co.jp/usr_register/prdc_regist.asp
製品の保証期間は、Web siteの製品保証照会システムにて確認できます。
http://www.interface.co.jp/support/warranty/warranty_info.asp
Interface Corporation
- 70 -
DMG-ZSH01
付録
インストールパッケージ一覧
出荷時、OSリカバリ後のパッケージ一覧は以下のとおりです。
なおパッケージの一覧は以下のように、dpkgコマンドで表示することができます。
greenart:~# dpkg -l
パッケージ名
adduser
apt
apt-utils
at
base-files
base-passwd
bash
bsdmainutils
bsdutils
cron
debconf
debianutils
dhcp-client
diff
dpkg
dselect
e2fsprogs
ed
ethtool
exim
fdutils
fileutils
findutils
gcc-3.0-base
grep
gzip
hostname
hotplug
ifupdown
iptables
klogd
libacl1
libattr1
libc6
libc6-dev
libcap1
libdb2
libdb3
libgcc1
libgdbmg1
libident
libkrb53
libldap2
liblockfile1
libncurses5
libnewt0
libpam-modules
libpam-runtime
libpam0g
libpcap0
libpcap0.7
libpcre3
バージョン
3.47
0.5.4
0.5.4
3.1.8-11
3.0.4
3.4.2
2.05b-3
5.20020211-7
2.11n-4
3.0pl1-72
1.1.14
1.16.6
2.0pl5-14
2.8.1-1
1.11
1.11
1.29+1.30
0.2-19
2-1
3.36-3
5.4-20020222-3
4.1-10
4.1.7-2
3.0.4-7
2.4.2-3
1.3.2-3
2.09
0.0.20020826-1
0.6.4-4.4
1.2.6a-6
1.4.1-10
2.0.19-1
2.0.11-1
2.2.5-14
2.2.5-14
1.10-12
2.7.7.0-8
3.2.9-17
3.0.4-7
1.7.3-27.1
0.22-2
1.2.5-3
2.0.23-9
1.03
5.2.20020112a
0.50.17-9.6
0.72-35
0.72-35
0.72-35
0.6.2-2
0.7.1-1
3.4-1.1
内容
Add and remove users and groups
Advanced front-end for dpkg
APT utility programs
Delayed job execution and batch processing
Debian base system miscellaneous files
Debian Base System Password/Group Files
The GNU Bourne Again SHell
More utilities from FreeBSD
Basic utilities from 4.4BSD-Lite
management of regular background processing
Debian configuration management system
Miscellaneous utilities specific to Debian
DHCP Client
File comparison utilities
Package maintenance system for Debian
a user tool to manage Debian packages
The EXT2 file system utilities and libraries
The classic unix line editor
Display or change ethernet card settings
An MTA (Mail Transport Agent)
Linux floppy utilities
GNU file management utilities
utilities for finding files
The GNU Compiler Collection
GNU grep, egrep and fgrep
The GNU compression utility
A utility to set/show the host name
Linux Hotplug Scripts
configure network interface
IP packet filter administration tools
Kernel Logging Daemon
Access control list shared library
Extended attribute shared library
GNU C Library: Shared libraries
GNU C Library: Development Libraries
support for POSIX.1e capabilities
The Berkeley database routines
Berkeley v3 Database Libraries
GCC support library
GNU dbm database routines
simple RFC1413 client library
MIT Kerberos runtime libraries
OpenLDAP libraries
NFS-safe locking library
Shared libraries for terminal handling
Not Erik's Windowing Toolkit
Pluggable Authentication Modules for PAM
Runtime support for the PAM library
Pluggable Authentication Modules library
System interface for packet capture
System interface for packet capture
Perl Compatible Regular Expression library
- 71 -
Interface Corporation
DMG-ZSH01
パッケージ名
libperl5.6
libpopt0
libreadline4
libsasl7
libstdc++3
libstdc++3-dev
libwrap0
locales
login
logrotate
make
makedev
mawk
modconf
module-init-tools
mount
modutils
modutils
nano
ncurses-base
ncurses-bin
net-tools
netbase
netkit-inetd
netkit-ping
nvi
passwd
pciutils
perl
perl-base
perl-modules
portmap
procps
sed
shellutils
slang1
sysklogd
sysvinit
tar
tcpd
telnet
telnetd
textutils
util-linux
whiptail
バージョン
5.6.1-7
1.6.4-2
4.3-4
1.5.27-3
3.0.4-7
3.0.4-7
7.6-ipv6.1-3
2.2.5-14
20000902-12
3.6.5-1
3.79.1-15
2.3.1-58
1.3.3-9
0.2.42
3.2-pre1-2
2.11n-4
2.4.19-3
2.4.26-1.2
1.1.11-1
5.2.20020112a5.2.20020112a1.60-4
4.07
0.10-9
0.10-9
1.79-20
20000902-12
2.1.10-3
5.6.1-7
5.6.1-7
5.6.1-7
5-2
2.0.7-10
3.02-8
2.0.15-2
1.4.5-1
1.4.1-10
2.84-3
1.13.25-3
7.6-ipv6.1-3
0.17-19
0.17-19
2.1-1
2.11n-4
0.50.17-9.6
内容
Shared Perl library
lib for parsing cmdline parameters
GNU readline and history libraries
Authentication abstraction library
The GNU stdc++ library version 3
The GNU stdc++ library version 3
Wietse Venema's TCP wrappers library
GNU C Library: National Language
System login tools
Log rotation utility
The GNU version of the "make" utility.
Creates device files in /dev
text processing language
Device Driver Configuration
tools for managing Linux kernel modules
Tools for mounting
Linux module utilities
Linux module utilities
free Pico clone with some new features
Descriptions of common terminal types
Terminal-related programs and man pages
The NET-3 networking toolkit
Basic TCP/IP networking system
The Internet Superserver
The ping utility from netkit
4.4BSD re-implementation of vi
Change and administer password data
Linux PCI Utilities
Practical Extraction and Report language
The Pathologically Eclectic Rubbish Lister
Core Perl modules
The RPC portmapper
The /proc file system utilities
The GNU sed stream editor
The GNU shell programming utilities
The S-Lang programming library
System Logging Daemon
System-V like init
GNU tar
TCP wrapper utilities
The telnet client
The telnet server
The GNU text file processing utilities
Miscellaneous system utilities
Displays user-friendly dialog boxes
※2
※1
※2
※1:kernel 2.4のみ
※2:kernel 2.6のみ
Interface Corporation
- 72 -
DMG-ZSH01
改訂履歴
Ver.
1.0
年 月
2006年4月
改 訂 内 容
新規作成
このマニュアルは、製品の改良その他により将来予告なく改訂しますので、予めご了承ください。
- 73 -
Interface Corporation
補償について
●本製品(ハードウェア,ソフトウェア)のシステム組み込み,使用、ならびに本製品から得られる結果に関する一切のリスク
については、本製品の使用者に帰属するものとします。
●本製品に含まれるバグ、あるいは本製品の供給(納期遅延),性能、もしくは使用に起因する付帯的損害もしくは間接的損
害に対して、弊社に全面的に責がある場合でも、弊社はその製品に対する改良(正常に動作する)、代品交換までとし、
金銭面での賠償の責任は一切負わないものとしますので、予めご了承ください。
●本製品(ソフトウェアを含む)は、日本国内仕様です。本製品を日本国外で使用された場合、弊社は一切責任を負いかね
ます。また、弊社は本製品に関し、海外での保守サービスおよび技術サポート等は行っておりません。
●海外での保守サービスはセンドバックによる交換保守サービスのみとします。技術サポートは、e-mailのみのサポート
を基本とします。
保証について
●弊社の保証規定によります。一部の製品および機械的な可動部分のある製品は1年間です。
ソフトウェア,消耗品(バッテリー等)は除きます。
注)保証期間は弊社Web siteでシリアル番号を入力することにより、ご確認できます。
インターネットに接続できない方は、お客様相談センタまでご連絡ください。
●保証期間内は、原則として無償修理とします。(送料はお客様のご負担を条件とさせて頂きます。)
ただし、保証期間内であっても下記の場合は有償修理となります。
①お客様による輸送,移動時の落下,衝突等、お客様のお取扱いが適正でないために生じた故障,損傷の場合および消耗品
の交換
②火災,地震,水害等の天災および異常電圧による故障,損傷の場合
③弊社製品に接続している弊社指定機器以外の機器の故障に起因する故障の場合
④弊社以外で修理,改造した場合
⑤弊社製品の説明書に記載された使用方法および注意事項に反するお取扱いによって生じた故障の場合
●保証は、本製品が日本国内で使用される場合に限り有効です。
●保証期間を過ぎた場合には、全て有償修理扱いとなります。
再修理の保証は、修理完了後6ヶ月以内で同一部品が故障した場合のみです。(ただし、修理が可能な箇所であることと
します。)その場合は、前回の修理報告書を必ず添付してください。添付されていない場合は新規修理の扱いとなります。
輸出する際の注意事項
本製品は、外国ため替および外国貿易法の規定により、戦略物資等輸出規制品に該当します。
従って、日本国外に持ち出す際には、日本国政府の輸出許可申請等必要な手続きをお取りください。
■サポート体制
本製品についてのお問い合わせは、お客様相談センタで承ります。弊社Web siteのオンラインQA(「サポート」→「お客様
相談センタ」をクリック)、E-mailまたはフリーダイヤルをご利用ください。
■修理・メンテナンス体制
故障した場合は弊社Web siteのオンライン修理依頼、もしくは修理依頼書を弊社Web siteからダウンロードし必要事項を記
入の上、故障品と一緒に下記までお送りください。※送料はお客様にてご負担願います。
■お問い合わせ先
0120-708127
FAX
0120-708137
直販お申し込み
お問い合わせ
TEL
お客様相談センタ
TEL
0120-447213
FAX
0120-458257
(祝日および弊社休業日を除く月∼金 AM9:00∼PM5:00迄)
E-mail [email protected]
営業支援センタ
TEL(082)262-1630
FAX(082)262-1552
(祝日および弊社休業日を除く月∼金 AM9:00∼PM5:00迄)
〒873-0231 大分県国東市安岐町下原1428
株式会社インタフェース 大分事業所 修理受付係
故障品お問い合わせ
故障品の送付
(祝日および弊社休業日を除く月∼金 AM9:00∼PM5:00迄)
E-mail [email protected]
Web site www.interface.co.jp
M11-JZSH01 Ver. 1.0 Vol. 1/1