「式神 」iPAQ版バイナリ・キットのインストレーション・ガイド


1. はじめに

「式神」iPAQ版のインストールは、次の条件を前提にしています。
条件
  1. 動作機種として「COMPAQ iPAQ H3600, H3800シリーズ」を対象としています。
    以下、「COMPAQ iPAQ H3600, H3800シリーズ」をiPAQと表記します。
  2. iPAQで、CFメモリ・カードが使用可能な事。
    (CFメモリ・カードの容量については、後述の「動作環境」を参照)
注意
  1. iPAQへのbootldr、Linux、式神のインストールは、 ユーザの責任で行なってください。何が起こっても、 株式会社アックスは一切の責任を負いません。
  2. bootldrのインストールについての詳細は、http://www.handhelds.org/をご参照ください。
  3. インストール用のCFメモリ・カードの作成時に初期化を行います。インストールの作業の前に、CFメモリ・カード上の大切なデータのバックアップを必ず行ってください。

本インストレーション・ガイドでは、bootldrをインストールし、「式神」iPAQ版を起動するまでの手順を説明します。


2. 動作環境

「式神」iPAQ版バイナリ・キットを使用するには、次のものが必要です。

3. 作業手順

以下にインストール作業手順と、説明している章、節を示します。
  1. インストール準備(4章)
    1. ブートローダと式神バイナリ・キットのダウンロード(4.1節)
    2. インストール用CFメモリ・カードの作成(4.2節)
    3. シリアルコンソール:minicomの接続準備(4.3節)
  2. インストール(5章)
    1. オリジナルブートローダとWinCEイメージのバックアップ(5.2.1項)
    2. ブートローダインストール(5.2節)
    3. 式神ルートイメージインストール(5.3節)
    4. 式神バイナリイメージインストール(5.4節)
    5. 日付・時刻の設定(5.5節)
  3. リブート(6章)


4. インストール準備

4.1. ブートローダと式神バイナリ・キットのダウンロード

4.2. インストール用CFメモリ・カードの作成

Linuxが動作するPCで、インストール用CFメモリ・カードの作成を行います。


「式神」v2.0を新規にインストールする場合には、WindowsCEがデータの読み書き可能なCFメモリ・カードが必要となります。
CFメモリ・カードが一つしかない場合には、5.2.1項の作業後に本節(4.2)の作業を行ってください。

作業は rootアカウントで行います。CFメモリ・カードへの読み書きを行えるようにLinuxの設定を別途行っておいて下さい。


4.2.1. CFカードデバイスの確認

CFカードのデバイスが何に対応しているかは、 カード挿入後に dmesg のメッセージを見ることで確認できます。 実際の作業では、確認の上、自分の環境にあったデバイスを指定して下さい。

 # dmesg | grep ide_cs
ide_cs: hdc: Vcc = 3.3, Vpp = 0.0

以降の作業は、 CFカードのデバイスは /dev/hdc に見えているものとします。

4.2.2. パーティションの作成

fdisk を用いて、パーティションの切り直しを行います。
基本領域1に EXT2 で全てのサイズを割り当てます。
128MbyteのCFメモリ・カードでの作業例を以下に示します。

# fdisk /dev/hdc
 
 コマンド (m でヘルプ): p
 
 ディスク /dev/hdc: ヘッド 8, セクタ 32, シリンダ 978
 ユニット = シリンダ数 of 256 * 512 バイト
 
  デバイス ブート   始点      終点  ブロック   ID  システム
 /dev/hdc1             1        25      3184    1  FAT12
 /dev/hdc2            26       978    121984   83  Linux

   (このように、既に存在するパーティションが表示されます。
    次の手順で、すでに存在するパーティションを削除します)
 
 コマンド (m でヘルプ): d
 領域番号 (1-4): 1
 
 コマンド (m でヘルプ): d
 領域番号 (1-4): 2
 
 コマンド (m でヘルプ): n
 コマンドアクション
    e   拡張
    p   基本領域 (1-4)
 p
 領域番号 (1-4): 1
 最初 シリンダ (1-978, 初期値 1): 
 初期値 1 を使います

 終点 シリンダ または +サイズ または +サイズM または +サイズK (1-978, 初期値 978): 
 初期値 978 を使います

 コマンド (m でヘルプ): p
 
 ディスク /dev/hdc: ヘッド 8, セクタ 32, シリンダ 978
 ユニット = シリンダ数 of 256 * 512 バイト
 
  デバイス ブート   始点      終点  ブロック   ID  システム
 /dev/hdc1             1       978    125168   83  Linux
 
 コマンド (m でヘルプ): w
 領域テーブルは交換されました!
 
 ioctl() を呼び出して領域テーブルを再読込みします。
 
 警告: DOS 6.x 領域を作成、または変更してしまった場合は、
 fdisk マニュアルページにある追加情報を参照してください。
 ディスクを同期させます。

4.2.3. mkfs

パーティションに対して mkfs を実行します。手順は次の通りです。

 # mkfs -t ext2 -m 0 /dev/hdc1
 mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
 Filesystem label=
 OS type: Linux
 Block size=1024 (log=0)
 Fragment size=1024 (log=0)
 47104 inodes, 187888 blocks
 0 blocks (0.00%) reserved for the super user
 First data block=1
 23 block groups
 8192 blocks per group, 8192 fragments per group
 2048 inodes per group
 Superblock backups stored on blocks: 
         8193, 24577, 40961, 57345, 73729
 Writing inode tables: done                            
 Writing superblocks and filesystem accounting information: done

4.2.4. マウント・ポイントの作成

CFメモリ・カード上のファイル・システムをLinux上でマウントするための ディレクトリ作成します。次のようにして作成して下さい。

 # mkdir /mnt/cf

4.2.5 バイナリ・キットに含まれるファイルのコピー

式神バイナリ・キットに含まれるファイルを、 CFメモリ・カードEXT2のパーティションにコピーします。
次の手順でコピーしてください。

 # mount -t ext2 /dev/hdc1 /mnt/cf
 # cp sikigami-ipaq-cf4.tgz /mnt/cf/
 # cp sikigami-ipaq-sg2.0.tgz /mnt/cf/
 # cp sikigami-2.0 /mnt/cf/
 # sync;sync;sync; umount /mnt/cf

4.3. シリアル・コンソールの接続準備

4.3.1. 端末エミュレータ・ソフトminicom

Bootldr、および式神バイナリ・キットのインストールは、 iPAQとLinuxをシリアルケーブルでつなぎ、 Linux上の端末エミュレータ・ソフトminicomを使ってiPAQを操作します。

minicomのrpmパッケージは、例えば以下のFTPサイトから入手できます。

minicomの使い方の詳細についてはminicomのマニュアルを参照して下さい。

minicom以外の端末ソフトも利用できますが、プログラムのダウンロードに xmodemプロトコルが利用できる必要があります。

4.3.2. 設定方法

はじめにiPAQ用のシリアル・ケーブルまたはシリアル・クレードルを使って PCとiPAQを接続します。

次にminicomの設定を行います。作業は rootアカウントで行います。
設定値は次の通りです:

  1. まず、minicomを設定モードで起動します。
    minicom -s -o
    

  2. すると以下のようなメニューが表示されますので、 「Serial port setup」を選択します。 選択は、カーソルキーで動かし、エンター・キーで決定します。
     
    +-----[configuration]------+
    | Filenames and paths      |
    | File transfer protocols  |
    | Serial port setup        |
    | Modem and dialing        |
    | Screen and keyboard      |
    | Save setup as dfl        |
    | Save setup as..          |
    | Exit                     |
    +--------------------------+
    
  3. 次に以下のようなメニューが表示されますので、 「Serial Device」を利用しているデバイス(通常は/dev/ttyS0か/dev/ttyS1)に、 「Flow Control」をどちらもNoにします。Eの項目を「115200 8N1」に設定します。

    以下に変更後の画面例を示します。
    +===========================================
    | A -    Serial Device      : /dev/ttyS0
    | B - Lockfile Location     : /var/lock
    | C -   Callin Program      :
    | D -  Callout Program      :
    | E -    Bps/Par/Bits       : 115200 8N1
    | F - Hardware Flow Control : No
    | G - Software Flow Control : No
    |
    |    Change which setting?
    +===========================================
    
    変更したらエンター・キーを押して最初のメニューに戻ります。

  4. 必要なら「Save setup as dfl」または、 「Save setup as..」を選択し て設定を保存します。
  5. 「Exit」を選択したら、端末エミュレータ画面になります。次からは、 次のコマンドで起動します。
    minicom -o
    


5. インストール

5.1. はじめに

「式神」のインストールは以下の手順で進めます。 このうち Bootldrのインストールに関しては 必ず ftp://ftp.handhelds.org/pub/linux/compaq/ipaq/stable/install.html を参照しながら進めてください。

  1. ブートローダインストール
  2. 「式神」ルートイメージインストール
  3. 「式神」バイナリファイルインストール
  4. 日付の設定

5.2. ブートローダインストール

!!!ここでの作業は貴方の iPAQ を二度と起動しないただのモックアップにしてしまう可能性があります。 全て自己責任において行ってください。 株式会社アックスは何が起ころうと一切関知しません。!!!

iPAQとLinuxはシリアルケーブルで接続しておきます。
このときiPAQは十分に充電しておき、かつクレードルに置くなど、 電源から電力が供給されている状態で作業を行ってください。

5.2.1.「式神」v2.0を新規にインストールする場合

この項の1.から3.までの作業は、iPAQのWindowsCE上で行います。
4.はLinux上のシリアルコンソール"minicom"から行います。

1. BootBlaster,Bootldrのコピー

先程ダウンロードした BootBlaster_1.18.exe と bootldr-2.18.01.bin を、 iPAQ の "マイデバイス" 下へコピーします。

具体的にはまず、WindowsCE用が読み書き可能なCFメモリ・カードに BootBlaster_1.18.exeと bootldr-2.18.01.binをコピーします。
次に、そのCFメモリ・カードをiPAQに挿入すれば、 WindowsCE上で通常のファイルをコピーする手順でコピーを行うことができます。

2. BootBlasterによるオリジナルのバックアップ

ブートローダを上書きする前に、BootBlasterを用いて オリジナルのバックアップを取ります。 iPAQ 上で BootBlaster を起動します。

3. Bootldr のインストール

"Flash" -> "Program"で、確認メッセージのあとダイアログが開くので、 コピーしておいた bootldr-2.18.01.bin を指定します。 すると内蔵フラッシュメモリ領域への Bootldr のインストールがはじまります。

正常に書きこみが行われた場合、下記のメッセージが現れますので、 必ずこれを確認してから次の段階に進んでください。

もし書きこみに失敗した場合はこのメッセージが現れませんので、 もう一度書きこみを行ってください。

"You appear to have a valid OHH Bootloader 2.18.1 in flash. To access this
Bootloader on the serial port, hold the joypad center and reset."

4. Bootldrの設定

ジョイパッドの真中を押しながらリセットをすると、 Linux上のシリアルコンソールにBootldr のプロンプトが現れます。 以下のコマンドで Bootldr の設定を行ってください。

boot> partition reset
argv[1]=reset
defining partition: bootldr
defining partition: root

5.2.2.「式神」v1.1.1以前からのアップグレードを行う場合

ジョイパッドの真中を押しながらリセットをすると、 シリアルコンソールに Bootldr のプロンプトが現れます。
そこで以下のコマンドを実行します。

boot> load bootldr
loading flash region bootldr
using xmodem
ready for xmodem download.. 

このような表示になれば、minicomを用いてbootldr-2.18.01.bin を XMODEMプロトコルでアップロードできます。

minicom での操作は Ctrl-a,s になります。

programming flash...
unlocking boot sector of flash
Protect=00000000 erasing ... Erasing sector 00000000 writing flash.. addr: 00000000 data: EA00008E addr: 00010000 data: 00022BC0 addr: 00020000 data: 00000000 verifying ... done. startAddress :00000000 limitAddress :00029A80 Protecting sector 00000000 Protect=00010001

正常に書きこみが行われた場合、このようなメッセージが現れますので、 必ずこれを確認してから次の段階に進んでください。
もし書きこみに失敗した場合はこのメッセージが現れませんので、 もう一度書きこみを行ってください。

ジョイパッドの真中を押しながらリセットをすると、シリアルコンソールに Bootldr の プロンプトが現れます。 その後下記コマンドにて Bootldr の設定を行ってください。

boot> partition reset
argv[1]=reset
defining partition: bootldr
defining partition: root

5.3. 「式神」ルートイメージ インストール

書きこみ準備として bootldr のプロンプトが出ている状態で以下のコマンドを実行します。

boot> pflash 0x40000 0xffff 0
  addr=00040000
  len=0000FFFF
  protect=00000000
Protect=00000000

次に「式神」ルートイメージを書きこみます。

boot> load root
loading flash region root
using xmodem
ready for xmodem download..

このような表示になれば、minicomを用いて 「式神」ルートイメージ "sikigami-base.jffs2.gz"を XMODEM プロトコルでアップロードします。
minicom での操作は Ctrl-a,s になります。

アップロード後、書きこみがはじまります。この作業には30分程度の時間を要します。

addr: 00C10000 data: E0021985
addr: 00C20000 data: E0021985
verifying ... 
formatting ... done.

このような表示が現れれば「式神」ルートイメージ書き込み成功です。 iPAQをリセットして次に進みます。

シリアル通信レベルのエラーなどにより、 稀に「式神」ルートイメージの書き込みに失敗することがありますが、 そのときはジョイパッドの真中を押しながらリセットし、 シリアルコンソール上の Bootldr プロンプトに"partition reset"を入力し、 もう一度本節(5.3)の作業を行ってください。

5.4. 「式神」バイナリインストール

リセットするとLinuxがブートし、シリアコンソールに loginプロンプトが表示されます。そこで、rootにログインします。 パスワードはrootmeです。

/cf に CF メモリをマウントし、インストールスクリプトを実行します。

#mount /dev/hda1 /cf
#cd /
#sh /cf/sikigami-2.0

まだ日付を設定していないので、日付関係の警告がたくさん表示されます が、問題はありません。 展開が終わると自動的にリブートし、Linux、X Windowと起動します。 その後、タッチパネルの調整のための画面が表示されますので、 メッセージに従い、十字の印の部分をスタイラスペンでタッチして下さい。 その後、「式神」が起動します。お疲れさまでした。

5.5. 日付・時刻の設定

「式神」起動後、日付の設定を行ないます。

デスクトップの「日付」アイコンをタップし、sgdateを起動します。

GUIを操作して、設定したい日付・時刻に合わせた後、「更新」ボタンをタップします。

ktermを起動し、dateコマンドで日付・時刻の設定することも可能です。

 $ su
 Password: rootme (表示されません)
 # date MMDDhhmmYY
 # exit

2002年 7月 20日9時 30分の場合

 # date 0720093002
と入力します。
dateコマンドの詳細は、Linuxのmanを参照してください。


6. リブートの手順

ktermを起動し、rebootコマンドを入力します。 リブート後は、ブートローダに制御が移ります。

 $ su
 Password: rootme (表示されません)
 # sync ; reboot