ARGV -> 井上のトップページ > Debianのインストール: debootstrap編

Debianのインストール: debootstrap編

CD-ROMもFDドライブもないマシンにDebianをインストールするため、すでに Debianが動作しているマシンに生のHDDを接続し、debootstrapを使って環境を構 築しました。そのときにいくつかはまったところがあったので、ここにメモして おきます。

なお、インストール作業はこの通りに行ったわけではなく、ブートさせるま でに何度かトライし、エラーを見つけながら行いました。なので、ここに書かれ た手順通りにやってもできない可能性があることをあらかじめお断りしておきま す。手順やチェックポイントの参考というレベルで利用してください。

インストールに利用したマシン(以後ホストシステム)はPentium IIIを載せた PC、ターゲットのマシンはVIA C3(Nehemiah) 1GHzの小型PCです。

参考

こちらのページを参考にしました:

HDDの接続

ホストシステムの空いていたIDEコネクタにマスターとしてインストール先のHDDを接続しまし た。その結果、HDDは/dev/hdgとして参照される状態になりました。

fdisk

fdiskでインストール先パーティション(5GB)とスワップパーティション1GBを 確保し、パーティションタイプとブートフラグを設定しました。次に以下を実行 して/dev/hdg1をext3ファイルシステムとしてフォーマットしました。-cオプショ ンはディスクの読み取り検査を実行するためのオプションです。この段階で読み 取りエラーが起きるようなディスクは後々問題を引き起こすので、できるだけチェ ックをかけるようにした方がいいと思います。

# mke2fs -c -j /dev/hdg1

そして、/dev/hdg1を/mntとしてマウントしました。

debootstrap実行

以下を実行しました。

# debootstrap sarge /mnt

aptのソースはホストシステムのものが使われているようでした。それほど時 間がかからずにインストールは完了しました。

/etc以下の設定

hostname, resolv.conf, hosts, network/interfaces, fstabなどをホストシ ステムのものを参考にして変更していきました。ただし、fstabは本来/dev/hda1 とすべきルートパーティションを、ホストシステムでの見え方にあわせて /dev/hdg1としておきました。(カーネルのインストールで問題になるため。)

また、/etc/kernel-img.confをホストシステムから/mnt/etcにコピーしまし た。

GRUBのインストール

以下を実行してgrubを/dev/hdgの先頭にインストールしました。

# grub-install --root-directory=/mnt /dev/hdg

chroot

ここからは新しいDebian環境の内部の作業になるので、以下のようにして環 境を整えた後で新しい環境にchrootします。

# mount -o bind /proc /mnt/proc
# chroot /mnt /bin/bash

カーネルのインストール

chrootしたシェルで以下を実行します。

# apt-get update
# apt-get install kernel-image-2.6-686

入れておきたいもののインストール

debootstrapでインストールした環境には普通のDebian インストーラを使っ たときに比べて少数のプログラムしか入っていません。中でも、Plug & Playを行ってくれるdiscoverパッケージなどは入れておくといいと思います。最 初これをインストーるせずにHDDを筐体にセットしてしまい、自分でイーサネッ トのドライバを調べることになりました。

また、新しいマシンで起動後すぐにbrlttyが利用できる方がいいので、ここで brlttyをインストールしました。

# apt-get install brltty

起動に関するいくつかの設定

ここで新しいシステムが起動するようにいくつかの設定を行います。

まず、/boot/grub/menu.lstがなければ作成します。カーネルのインストール で作られているかもしれません。作られている場合には、カーネルのオプション がroot=/dev/hdg1となっているはずなので、hda1に修正します。

続いて以下を実行してデバイスファイルを作成します。この作業は数分かかります。

# cd /dev
# ./MAKEDEV generic

/boot/grub/device.mapにホストシステムの状態が書き込まれているので、ター ゲットのシステムにあわせて変更します。

ターゲットのPCへ

このように設定したHDDをターゲットのPCに接続して電源を入れるとなんの問 題もなく起動してloginプロンプトがでるはずです。実際には何度かトライ&エ ラーを繰り返して上記の作業内容を実行していきました。

ブートしたら後はrootでログインし、base-config newを実行して必要な設定を行い ます。参考にしたページではホストシステムのchroot環境内でbase-configが実 行できるように書かれているのですが、なぜか起動できませんでした。

おまけ:HM-CL100

今回インストールしたマシンはデザインテクニカの HM-CL100HDD という製品です。マザーはEPIA PD10000が搭載されていて、コンパクトかつファ ンレスなのにUSB*6、シリアル、パラレル、PS/2、LAN*2、オーディオと入出力が 充実しているので選びました。カーネル2.6.8のドライバでサウンドもLANもすべ て利用できました。 (サウンド=snd-vt82xx、LAN=via-rhine) さらに、ALSAだとサウンドは複数のアプリから同時発音が可能でした。

不安があるのは放熱性能です。20度くらいの室内でも筐体は結構熱くなっていま す。中のHDDとか、夏場でも大丈夫かな。

Last modified 2006/02/26