ML110 G7とPCだけでDebianインストール

概要

ディスプレイはないけれど、Debianをネットブートしてシリアルコンソールでインストールする。

使ったもの

  • ML110 G7
  • X61T : DHCPサーバー、TFTPサーバー用
  • LANケーブル(クロス)

ネットブートファイルの取得

Debianのインストールマニュアルでネットワークブートの説明はここ

  1. netboot.tar.gzのダウンロード

    ここの"他のイメージ"からnetbootディレクトリを下ってnetboot.tar.gzをダウンロードする。

  2. netboot.tar.gzの解凍

debian-installerディレクトリが配置されているディレクトリがTFTPブートのルートディレクトリとなる。以下、このディレクトリをTFTPルートと呼び(TFTP_ROOT)と表記する。

TFTPサーバーがwindowsの場合は以下を実施する。

  1. (TFTP_ROOT)/debian-installer/i386/pxelinux.0をTFTPルートにコピー。すでにファイルが存在する場合は上書き。
  2. TFTPルートにpxelinux.cfgディレクトリを作成。すでに同名のファイルが存在する場合は削除してから作成。
  3. (TFTP_ROOT)/debian-installer/i386/boot-screens/syslinux.cfg(TFTP_ROOT)/pxelinux.cfg/にコピーし、ファイル名をdefaultにリネーム。

ここまで。要はnetboot.tar.gzに含まれるシンボリックリンクをリンク先の実体に置き換えている。(これに気付かずにしばらくハマった。)

ネットワークブートサーバーの設定

ネットワークブートサーバーにはTftpd32を使用。

  1. DHCPサーバーとTFTPサーバーしか使わないので、他はオフに。

    Tftpd32 GLOBAL設定

  2. TFTPサーバーの設定

    • "Base Directory"にTFTPルートを指定。
    • "PXE Compatibitily"にチェック。(自動的に"Allow '\' As virtual root"がチェックされる。)

      Tftpd32 TFTP設定

  3. DHCPサーバーの設定

    • "Boot File"に/pxelinux.0を指定。
    • 他の項目は適当に設定。

      Tftpd32 DHCP設定

シリアルコンソール向けの設定

  1. (TFTP_ROOT)/pxelinux.cfg/defaultを編集。先頭のコメント行の下に以下の1行を追加。

    SERIAL 1
    

    これはシリアルポートをコンソールに使うための設定(Ref.)。ML110 G7の仮想シリアルポートはCOM2のようなので1を設定する。

  2. (TFTP_ROOT)/debian-installer/i386/boot-screens/txt.cfgを編集。appendから始まる行を以下のように修正する。

    append vga=normal initrd=debian-installer/i386/initrd.gz -- quiet console=ttyS1
    

    これはカーネルパラメータ(Ref.)の修正。

    • vga=normal : 画面を80x25モードにする。数値の意味→VESA BIOS Extensions
    • console=ttyS1 : COM2をコンソールにする。

    以下、使ってないけどメモ。

    • earlyprintk=serial : カーネルログメッセージを表示する。デバッグ用なのでトラブルがなければ必要ないと思われる。

インストール

  1. ルーターのDHCPサーバー機能を切る。

    ブリッジ接続するため、DHCPサーバーが2台競合する。

  2. X61Tで有線LANと無線LANのネットワークブリッジ接続を設定。

  3. Tftpd32を起動して、ML110とX61Tを繋ぐ。
  4. ML110がDHCPIPアドレスを取得したら、SSHコンソールに接続。puttyだと何故かブチブチ切れるので、cygwinsshで接続した。

    ML110がDHCPIPアドレスを取得するとこんな感じ。

    Tftpd32 DHCP Server

  5. SSHコンソールから仮想シリアルコンソール起動。

  6. ML110の電源オン。
  7. ML110の初期設定で勝手にネットワークブートするはず。ブートに成功するとこんな感じ。

    TFTP ブート成功

    Installを選択するとDebianのインストーラが起動する。後はウィザードに従って進める。

    ネットワークブートはブート順の最後であるため、再インストールなどの場合はUSBキーボードを繋いでBeep音が鳴る直前から<F12>キーを連打する。(どこでBeep音が鳴るかは仮想シリアルコンソールを眺めて見極める。)

  8. 今回はSDカードも使って、パーティションをこんな感じに分けてみた。

    パーティション設定

    • 仮想化ホストにするので/varを多めに。
    • システムっぽい物はSDカードに。

課題

現在インターネット回線がWiMAXであり、WiMAXルーターに有線LANが無いので以下の課題がある。

  • ML110を直接WiMAXルーターに繋げない。適当なPCで有線LANと無線LANをブリッジ接続する必要があるので、インターネット接続が面倒。
  • メインで使っているPCに有線LANが無いのでML110に接続するのが手間。ML110にはとりあえず無線LANルーターを接続しているが、メインPCから繋ぐ時はインターネット回線のWiMAXルーターと排他になる。

使いづらいので今後どうにかしたいな。

参考

Installing Debian Linux 5.0 - Soekris Info Wiki