最近は Debian も簡単にインストールできるけど、CF-R4J には光学ドライブがないし、内蔵の無線LANのように使えないと困る機能もある。あと、いままで使っていた Windows XP の環境をそのまま使い続けられるようにしたい。そこで備忘録として作業のまとめ。
目標
プリインストールされている Windows XP はそのままにして、Debian を追加でインストールしたい。戦略
- USBメモリから KNOPPIX を起動し、ntfsresize と cfdisk を使って、Windows XP がプリインストールされた HDD の後半に Debian 用の新しいパーティションを作る。
- 別のUSBメモリから Debian のインストーラを起動し、新しいパーティションにインストールする。
- 内蔵されている無線LAN を有効にする。
用意するもの
- 1GバイトのUSBメモリ
- 128MバイトのUSBメモリ
- syslinux(Windows用)
- KNOPPIXのisoイメージ
- boot.img.gz
- Debianのネットインストーラ(名刺サイズCD用。ここの debian-40r4etchnhalf-i386-netinst.iso )
- Intel PRO/Wireless 2200BG ドライバのファームウェア(v3.0)
USBメモリから起動するKNOPPIXのイメージを作る
この作業は、プリインストールされた Windows XP 上で行う。以下のサイトの手順に従っただけ。[USBメモリでKNOPPIXを起動する]
http://ryusai.hp.infoseek.co.jp/KNOPPIX_on_USB-01.htm
まとめると以下の通り。
- KNOPPIX の iso イメージを入手して DAEMON tools でマウント
- 1Gバイトの USBメモリを FAT32 でフォーマット
- DAEMON tools でマウントした KNOPPIX をエクスプローラで開き、KNOPPIX フォルダ全体と /boot/isolinux 以下のファイルを、フォーマットした USB メモリの直下にコピー
- /isolinux.cfg を /syslinux.cfg にリネーム
- syslinux -a :f
USBメモリから起動する Debian のインストーラを作る
この作業は、上で作った KNOPPIX で行う。これも以下のページの手順に従っただけ。[USB メモリでの起動用ファイルの準備]
http://www.jp.debian.org/releases/stable/i386/ch04s04
まとめると以下の通り。デバイス名とかは適宜。
- (ここだけ Windows XP でやっておく)128Mバイトの USBメモリを FAT32 でフォーマット
- boot.img.gz を入手し、zcat boot.img.gz > /dev/sdb
- sudo mount /dev/sdb /mnt/sdb
- cp debian-40r4etchnhalf-i386-netinst.iso /mnt/sdb/
HDD のパーティションを切り直す
この作業は、KNOPPIX 上で行う。- (ここだけ Windows XP でやっておく)Cドライブのデフラグ
- ntfsresize -i /dev/hda1 で、リサイズできる HDD 領域の大きさを調べる
- ntfsresize -s 30000M /dev/hda1 (30000M のところは、上で調べた大きさを参考に適宜)
実際にパーティションを切るには fdisk をするしかない。そこで cfdisk /dev/hda1 を実行する。
ntfsresize 後の cfdisk でやること
ここからが危険なところ。- もともと Windows XP がプリインストールされていたパーティションを削除する。最初に cfdisk を実行すると、HDD の末尾に 3G くらいの空き領域があるように見える。これは CF-R4 のリカバリ領域。Windows XP が入っているパーティションを削除することで全体が1つの空き領域になるため、空き領域として見えていたリカバリ領域が cfdisk からは識別できなくなってしまう。この領域は BIOS レベルで fdisk などでは削除できないようになっているらしいが、それを確かめる勇気はないので、本当のことは知らない。個人的には用心しておいたほうがいいと思う。実際、あとでパーティションの設定を誤って Windows XP が起動しなくなったとき、KNOPPIX からは /dev/hda4 としておもいっきり見える状態になっていた。たぶんこの領域を隠蔽するのに、プリンストールされた Windows XP の機能を使っているんだろう。
- 全体が1つの空き領域になっているところに、まずはプリインストールされている Windows 用のパーティションを作る。先に ntfsresize で縮小したサイズ以上の大きさのパーティションにすること。ぴったり同じバイト数で指定すると、ntfsresize で縮小したサイズよりもfdiskで作ったパーティションのほうが小さくなってしまうようだ。そうすると Windows XP が起動しなくなる。もし後続の空き領域に Debian 用のパーティションを作ってフォーマットしようものなら、あふれた部分が失われてしまって Windows XP の環境が復旧できなくなってしまうはず。大きい分には問題ないので、1Gバイトくらい多めの大きさのパーティションにしたほうがいいと思う。
- この時点でパーティションテーブルを書き込み、Debian のインストールに使う領域の設定はインストーラにまかせてしまってもいいが、リカバリ領域を失うのは怖いので、この時点で最後に 5G くらい残るようにして、スワップ用とルート用のパーティションを切ってしまう。
- 書き込む。もう戻れない。
Debian のインストール
いつもどおりなので省略。ネットインストールに無線LAN が使えないので、有線をつないで実行する必要がある。無線LANを有効にする
ラップトップ向けのインストールをすれば wlan-tools はインストールされる。CF-R4J の内蔵無線LAN は Intel PRO/Wireless 2200BG で、そのドライバは ipw2200-source というパッケージでインストールすることができる。lenny ならパッケージのインストールは不要。ただし lenny であってもファームウェアは入らないので、別途 ipw2200-fw-3.0.tgz をダウンロードして /lib/firmware に手動で置いておく必要がある。あとは /etc/network/interfaces をこんな感じに設定しておけば、有線LAN との使い分けも適当にできると思う。
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
# Wireless LAN
auto eth1
iface eth1 inet dhcp
wireless-essid ******
wireless-key **************************