Zaurus で Debian - Part 1

出典: Knatech

< Articles
2010年2月7日 (日) 13:50時点における Knatech (会話 | 投稿記録) による版
(差分) ←前の版 | 最新版を表示 (差分) | 次の版→ (差分)

Zaurus SL-C3200 に debian システム (バージョン 4.0 ⁄ etch) を導入する方法を、Part 1 ~ Part 3 に分けて解説します。

Debian w/ icewm on Zaurus SL-C3200

目次

はじめに

今回取り上げる方法では、Zaurus に出荷時から組み込まれている Qtopia システムの上に、debian および X サーバを載せる形となります。

この方法は導入が比較的容易であり、ネットワークや省電力管理をはじめとするハードウェア向けの資源を、debian 用に別途準備する必要がありません。

メモリを多く消費してしまうことがデメリットですが、スワップメモリを設定することで、多少の改善が図れます。

Part 1 では、Debian をインストールする前準備として、カーネルアップデートやスワップ領域の作成を行います。

このページで解説する内容は以下のとおりです。

  • スペシャルカーネルの導入
  • ターミナルとエディタのインストール
  • ハードディスクのフォーマット
  • 設定ファイルの修正
  • スワップ領域の作成

スペシャルカーネルの導入

Debian を Qtopia 上で動作させるためには、環境まわりをグレードアップしておく必要があります。

スペシャルカーネルは必須ではありませんが、導入しておくと多少のクロックアップが実現できます。

まず、カーネル交換に必要なファイルである zImage および updater.sh を SL-A300/B500/C700/.../C3200/5600/6000 special kernel よりダウンロードします。

SD カードにこれらのファイルを格納して、Zaurus 本体に挿入します。なお、SD カードに他のファイルを格納すると、障害のもとになる可能性があるので注意してください。

次に、Zaurus のメンテナンスメニューを起動させます。以下の手順で起動させてください。

  • 1. AC アダプタとバッテリを外します。
  • 2. 5 秒以上待ってから、AC アダプタとバッテリを装着します。
  • 3. [OK] キーを押した状態で、電源を ON にします
------- メンテナンスメニュー -------
 
行いたい内容を選択してください
※カーソルキーでフォーカスを移動し、
 [OK]キーで決定してください
 数字キーでも選択できます
何も行う必要がない場合は
「1.キャンセル」を選択してください
 
1.キャンセル
2.データチェック
3.完全消去(フォーマット)
4.アップデート
 
------------------------------------
メンテナンスメニューが表示されます。

「4.アップデート」を選択します。

--------- アップデート経路 ---------
 
1.CF
2.SD
3.戻る
 
------------------------------------
「2.SD」を選択します。
----------- アップデート -----------

! 警告  本体データを消去する場合が
        あります

本体システムのアップデートを行います
アップデートの内容によっては本体データを
消去する場合がありますので、あらかじめ
データをバックアップしてください

アップデートを実行しますか?

  はい(Y)    いいえ(N)

------------------------------------
「はい(Y)」を選択します。

しばらくすると再起動が始まります。

タイトル画面が表示された後に、以下のメッセージが表示されます。

--- Zaurus SD updater ---
kernel update
zImage:1227404bytes
 
Successfully completed.
Please reset

ここでリセットを行うと、ペンギンが付いたコンソールが表示されます。

しばらくすると、Qtopia が起動し、「日付/時刻設定」のダイアログが表示されます。

時刻を設定して、カーネル交換作業が完了となります。

ターミナルとエディタのインストール

環境まわりの設定を行うには、ターミナルとテキストエディタが必要になります。このセクションではこれらを Zaurus にインストールします。

なお、ファイル等のダウンロードは PC で行い、SD カードで Zaurus に持っていくとよいでしょう。もちろんその他の方法でも構いません。

まず、ターミナル (コンソール) を いとしの liza よりダウンロードします。(「qpe-embeddedkonsole-ja ワイド版」のセクション)

  • qpe-embeddedkonsole-ja_1.6.0-jinput3_arm.ipk

次に、コンソール用のエディタを Index of /files/articles/zaurus よりダウンロードします。(vi が使用できる人は不要です)

  • nano_2.0.6_arm.ipk

ターミナルと、コンソール用のエディタをインストールします。

Image:Articles_zaurus_debian_qt_setup_01.png Qtopia のメニューより、[設定] -> [ソフトウェアの追加/削除] を選択します。

ダイアログが表示されたら、[ソフトウェアをインストール] をクリックします。

Image:Articles_zaurus_debian_qt_setup_02.png SD カードに格納されているパッケージの一覧が表示されます。

qpe-embeddedkonsole-ja を選択してから、[インストール] をクリックします。

Image:Articles_zaurus_debian_qt_setup_03.png インストール先を選択するための小さなダイアログが表示されます。[プログラムエリア] を選択して [OK] をクリックします。

エディタ (nano) も同様にインストールするとよいでしょう。

最後は、[x] をクリックしてダイアログを閉じます。

つづいて、ターミナルの設定を行います。

Image:Articles_zaurus_debian_qt_term_01.png ホーム画面より、[端末ウィンドウ] のアイコンを長押しします。

「アプリケーションをVGA(480×640ドット)の...」がチェックされている場合は、チェックを外します。

右上の [OK] を押して閉じます。

Image:Articles_zaurus_debian_qt_term_02.png [端末ウィンドウ] のアイコンを普通にクリックして起動させます。

フォントの大きさを設定するために、[Fn] + [Q] キーを押します。

ポップアップメニューが表示されたら、[Font] -> [lcfont large] を選択します。(他の大きさでも構いません)

ハードディスクのフォーマット

SL-C3200 のハードディスクのパーティションは、以下のとおりになっています。

領域名 デバイス名 サイズ
/hdd1 /dev/hda1 9.5M
/hdd2 /dev/hda2 9.5M
/hdd3 /dev/hda3 5.7G

debian はパーティションの hdd3 にインストールするのが最適です。

しかし、hdd3 は FAT32 という Windows 向けのファイルシステムとなっているため、debian をインストールするためには、Linux 向けの ext3 というタイプに変更する必要があります。

なお、hdd3 には、すでに Qtopia のアプリケーションのために、いくつかのデータが格納されています。ext3 に変更するためにはフォーマットが必要なため、これらのデータを必要な場合は、あらかじめ退避しておくとよいでしょう。

メニューより、[アプリケーション] -> [端末ウィンドウ] を選択します。

root に切り替えるために、以下のコマンドを入力します。($ や # はプロンプト)

$ su -

次に、パーティションを操作するためのツール fdisk を起動させます。hdd1 ~ hdd3 はいったんアンマウントしておく。

# umount /hdd1
# umount /hdd2
# umount /hdd3
# fdisk /dev/hda
 
The number of cylinder for disk is set to 11905
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

現在のパーティション内容を確認します。hdd3 のタイプが FAT32 であることが確認できるはずです。

Command (m for help): p
 
Disk /dev/hda: 6144 MB, 6144284672 bytes
16 heads, 63 sectors/track, 11905 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
 
   Device Boot      Start       End       Blocks   Id  System
/dev/hda1               1        20        10048+  83  Linux
/dev/hda2              21        40        10080   83  Linux
/dev/hda3              41     11905      5979960    c  Win95 FAT32 (LBA)

/dev/hda3 を ext3 にします。Hex code には、Linux をあらわす 83 を指定します。

Command (m for help): t
Partition number (1-6): 3
Hex code (type L to list codes): 83

再度、現在のパーティション内容を確認します。hdd3 のタイプが、FAT32 から Linux に変更されていることが確認できます。

Command (m for help): p
 
Disk /dev/hda: 6144 MB, 6144284672 bytes
16 heads, 63 sectors/track, 11905 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
 
   Device Boot      Start       End       Blocks   Id  System
/dev/hda1               1        20        10048+  83  Linux
/dev/hda2              21        40        10080   83  Linux
/dev/hda3              41     11905      5979960   83  Linux

ここで、変更内容を HDD に反映させます。

Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.

fdisk が自動的に終了するので、つづいてフォーマットを行います。

# mke2fs -j /dev/hda3
mke2fs 1.35 (28-Feb-2003)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
747776 inodes, 1494990 blocks
74749 blocks (5.00%) reserved for the super user
First data block=1
46 block groups
32768 blocks per group, 32768 fragments per group
16256 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736
 
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

マウントを元に戻します。

# mount /dev/hda1 /hdd1
# mount /dev/hda2 /hdd2
# mount /dev/hda3 /hdd3

設定ファイルの修正

システムのブート時に ext3 を認識できるように、ファイルシステムの設定ファイルを修正します。

ルートディレクトリは読み取り専用になっているため、はじめにこれを解除する必要があります。

# mount -o remount,rw /

以下のコマンド行により、コンソール用エディタが起動します。(nano を使用していますが、vi や他のエディタでも構いません)

# nano /root/etc/rc.d/rc.rofilesys

なお、nano の使用方法は、インターネットサーバ構築 講義メモ - テキストエディタ を参照するとよいでしょう。

以下に示す箇所を修正していきます。

rc.rofilesys (84 行目):

mkfs.vfat -F 32 /dev/${IDE1}3 2> /dev/null > /dev/null
↓
mke2fs $MKE2FSOPT /dev/${IDE1}3 2> /dev/null > /dev/null

rc.rofilesys (105、203、265 行目):

mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
↓
mount -t $LINUXFMT -o noatime /dev/${IDE1}3 /hdd3

ext3 に関する設定は以上ですが、一時ディレクトリの拡張に関する設定もここで行っておきます。

zaurus の一時ディレクトリ temp は、通常のディスク領域ではなく、仮想メモリを割り当てるようになっています。

初期設定では、仮想メモリから最大 1MB を temp に割り当てるようになっています。このサイズは、debian や後に紹介する X/Qt を起動させるには若干少ないため、これを 4MB 程度に拡張します。

/root/etc/rc.d/rc.rofilesys を引き続き修正します。

rc.rofilesys (61、158、230 行目):

mount -t tmpfs -o size=1m none /dev/shm
↓
mount -t tmpfs -o size=4m none /dev/shm

temp の設定は fstab と呼ばれるファイルに対しても行います。

/etc/fstab (3 行目):

none    /dev/shm    tmpfs    size=1m,noauto  0  0
↓
none    /dev/shm    tmpfs    size=4m,noauto  0  0

スワップ領域の作成

仮想メモリを実現するために、スワップファイルを作成します。

# dd if=/dev/zero of=/hdd3/.swapfile count=262144
262144+0 records in
262144+0 redords out
# mkswap /hdd3/.swapfile
Setting up swapsapce version 1, size = 134213632 bytes

これにより、「.swapfile」という名前のスワップファイルが、128MB で作成されます。

次に、システムの起動時にスワップが設定されるように、起動スクリプトを作成します。

/etc/rc.d/init.d/swap:

#!/bin/sh
case "$1" in
'start')
  if [ -f /hdd3/.swapfile ];then
    echo "starting swap"
    /sbin/swapon /hdd3/.swapfile
  fi
  ;;
'stop')
  if [ -f /hdd3/.swapfile ];then
    echo "stop swap"
    /sbin/swapoff /hdd3/.swapfile
  fi
  ;;
*)
  echo "usage: $0 {start|stop}"
  ;;
esac

この後、シンボリックリンクを作成します。

# cd /etc/rc.d/rc5.d
# ln -s ../init.d/swap S99swap

以上で debian をインストールするための準備作業は終了となります。

ターミナルを exit コマンドで終了させた後 (exit は 2 回)、メニューから [再起動] を選択して再起動を行います。

Zaurus で Debian - Part 2

コメント

名前 (必須):

Web サイト:

コメント:

コメントの一覧