情報実験機用 セットアップ CD の作成方法 & インストール方法

以下ではセットアップ CD の作成方法とインストール方法について説明します. 2003 年度 VTA の方は 「1,セットアップ CD によるインストール方法」を参照 の上担当マシンのセットアップを完了してください。作業時間は順調に行って 30 分程度です。


目次

  1. セットアップ CD によるインストール方法
  2. セットアップ CD の作成方法

1. セットアップ CD によるインストール方法

1.1 用意するもの

準備として以下のものを用意する.

これらは情報実験室前方右側の棚にマシン毎にラベルを貼って保管してあります。
作業中に不具合が見つかった際には予備を用意してありますので申し出て下さい。

1.2 BIOS の設定

セットアップ CD を入れる前に BIOS の設定を行う. BIOS の設定を行うためには計算機を起動後, しばらくして Del キーを押して下さい. すると, 画面左下に出るのでそのタイミングで Del キーを入力する. ブートシーケンスは CD-ROM から起動するようにする. そうしないと CD から起動しないので注意.

1.3 セットアップ CD で行う設定

セットアップ CD から起動し, 以下のことを行う. このディスクを入れると Debian GNU/Linux のインストーラが起動する.
起動する最中に root.bin のディスクを要求されるので, root.bin ディスクをフロッピードライブに入れる. しばし待つ.

インストーラ画面では以下のことを行う.

  1. キーボードの設定 (Configure the Key Board)
    • qwerty/jp106 Japan を選択

  2. ハードディスクのパーティション分け (Partition Hard Disk)
    • 今までのパーティションを Windows 領域も含めて全て削除.
    • ハードディスクの全ての領域を 1 つのパーティションとする.
      (ハードディスクの全領域を hda1 とする)
    • 最後にパーティションテーブルをディスクに書き込む事を忘れない事.

  3. スワップパーティションの設定は行わない(alternative: do without swap partition).

  4. ハードディスクの初期化・マウント(Initialize Hard Disk)
    • 不良ブロックのチェックは行わなくてよい.

  5. マウントポイントの設定 (Mount as the Root Fillesystem?)
    • "Yes" を選択.

1.4 イメージの展開

マウントポイントの設定の後, インストーラーのメニュー画面を下の方までスクロールして 下から 3 番目の "Execute a Shell" を選択しシェルを起動する.

尚, この時のファイルシステムは以下のようになっている.

# df
/dev/ram0/
/dev/hda1/target

以下はシェル(ash)上での作業となる. まずセットアップ CD を read-only でマウントする (/dev/hdb は CD-ROM を示す).

# mount -o ro /dev/hdb /mnt

一次保存ディレクトリとして TMP を用意する.

# mkdir /target/TMP
# cd /target/

CD 上の圧縮されたイメージ root.boot.gz をハードディスク上に展開する. この作業は 10 分程度かかる.

# gzip -c -d /mnt/root.boot.gz | /mnt/restore -r -f - -T ./TMP

"Missing blocks at the end of ./dev/xconsole, assuming hole "と表示されるが 気にせずに待つ.

最後に lilo を実行する. -r オプションを付けて実行する. (target ディレクトリ以下で lilo が実行される.)

# lilo -r /target
Added Linux *
# umount /mnt

CD, フロッピーディスクを抜いて PC を再起動する.
# reboot
起動の途中で root コマンドを聞いてくるので中神までお知らせください. root でログインします.

1.5 各種設定

  1. VTA のアカウントの追加と root 権限の委譲
    中神が root でログインしたあとまず VTA のアカウントを作成します. この時同時に root 権限を中神から VTA に委譲します. TA の 柿並さん (kakinami), 佐々木さん (uwabami)のアカウントも 09/26 までに忘れずに作成するようにしてください. また VTA, TA のどちらにも sudo 権限も与えておくべく /etc/sudoers ファイルを編集してください.

  2. /etc/fstab の編集

    # vi /etc/fstab

    /hda3, /hda5 の行を削除してください.

  3. 不要なファイルの削除

    # cd /
    # rm restoresymtable

  4. /etc/hostname の編集
    joho05 と書かれているので, joho** (** ; 担当の情報実験機の番号 01,02,..09,10,11,.. 以下同様)を入れる.

  5. /etc/hosts の編集
    joho05 と書かれているので, joho** を入れる.

  6. /etc/network/interfacesの編集
    • 以下の auto lo, iface lo..., auto eht0, iface eth0 inet static, adress, netmask, network, broadcast, gateway のコメントアウト(#)を外す.
    • adress には 192.168.0.1** を入力
         # auto lo
         # iface lo inet loopback
      
          ............................
    
         #auto eth0
         #iface eth0 inet static
         #   adress 192.168.0.101  
         #   netmask 255.255.255.0
         #   network 192.168.0.255
         #   broadcast 192.168.0.255
         #   gateway 192.168.0.1
         
    # /etc/init.d/networking restart

1.7 動作確認

最後に以下の動作についてチェックをしてください.

お疲れ様でした.

2. セットアップ CD の作り方

2.0 作業の目的

     
  1. 情報実験用のブータブルリカバリー CD を作成する上での雛型となるマシンの構築  
  2. 雛型マシンのシステムをコピーし CD イメージを作成.

2.1 仕様

雛型マシンとして

         
  1. OS のインストール   
         
    • Windows とは共存させない. /dev/hda1 に Linux をインストール.
    • デバイスドライバとして net/tulip ドライバをインストールする.    
    • ネットワークには DHCP を用いて接続する.
      
  2. インストールするパッケージ (最低限)
         
    • ファイル&ディレクトリ管理
           ls, cat, less, rm
    • エディタ, 言語環境
           vi, emacs+canna, kinput2
    • ネットワーク関連
           ping, traceroute, nslookup, netstat, ssh , telnet, ftp  
    • ブラウザ
           netscape, mozilla
    • X 関連
           xserver, xfont, afterstp, twm
  3. 環境設定
         
    • X の設定 :解像度 1024 * 768
    • .emacs の準備 → /etc/skel/ 以下に格納    
    • .xinitrc を準備 → /etc/skel/ に格納    
    • 文字コードのセット
           /etc/profile に LANG=ja_J.ujis をセット
           /etc/profile に alias kterm='kterm -km euc' をセット

リカバリー CD 作成準備

      
  1. パーティションは 2 個用意する。
    • /dev/hda1 : Linux
    • /dev/hda2 : コピー用
  2. インストールするべきパッケージ
         
    • mkisofs
    • dump
  3. 復旧に必要なコマンドの準備    
    • restore (dump ファイル内 : # apt-get source dump)
    • gzip
  4. カーネルの再構築    
    • loopback デバイスをサポートしておく
      
  5. 必要とされるブートイメージ : rescue.bin

2.2 作業手順

目次
      
  1. OS のインストール   
  2. 環境の設定   
  3. パッケージのインストール(CD作成に必要なもの)   
  4. カーネルの再構築   
  5. バックアップファイルの製作   
  6. CD イメージの作成
  1. OS のインストール

      2002 年度情報実験を参照   http://www.ep.sci.hokudai.ac.jp/~inex/y2002/0110/Debian_install /install.html

    [変更点]
    • Partition hard disk
              
            hda1  Boot Primary Linux          3002.23 
            hda5       Logical Linux swap      131.61
            hda2       Primary Linux          3314.79
           
    • Select the mount point
            hda1    /
            hda2    /home
           
       
    • Install the Base System

      2003/09/11 現在専攻の ftp サーバが down していたため, 地球流体電脳倶楽部 の北大ミラーサイトを利用しました.
      network : ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian

    • apt configuration

      deb ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian woody main contrib non-free
      deb ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian-jp woody-jp main contrib non-free
      deb ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian-non-US woody/non-US main contrib non-free
      deb ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian woody-proposed-updates main contrib non-free

    • Select tasks to install

      * X window system
      * desktop environment
      * Japanese environment

       
    • セキュリティー上問題のあるパッケージだけ削除する.
      • その他不必要なパッケージの削除はまだ行わない  
      • コマンドの作成時に必要なパッケージまで削除してしまう可能性がある.  
      • パッケージの削除は CD 作成の直前に行う.

  2. 環境の設定
        
    • セキュリティー設定

      # vi /etc/inetd.conf

      全ての行をコメントアウトし再起動

      # ps aux | grep intet
      # kill -HUP xxx (xxx はinetd のプロセス番号)

    • sudo の追加
      nakagamiを /etc/sudoers に追加
        
    • /etc/X11/Xsession の編集

      最終行に以下を追加

      LANG=ja_JP.ujis ; export LANG &
      LC_ALL=jp_JP.ujis ; export LC_ALL &
      exec afterstep

    • /etc/X11/afterstep/autoexec

      Function "InitFunction" で
      EXEC "I" kterm & を追加
       
    • 日本語の設定

      日本語環境の構築(epdns)参照
         http://www.ep.sci.hokudai.ac.jp/~epdns/dvlop/basic/japanize.html
          
      • locale の設定

        /etc/locale.gen に以下を追加

          ja_JP.EUC-JP EUC-JP

        以下のコマンドを実行

        # locale-gen
         
      • emacs の設定

        • パッケージのインストール
          emacs20-dl, emacs20-dl-el, emacs20-dl-dev, canna, emacs-dl-canna

                     
        • /etc/skel/.emacs に以下を追加する。
           (set-language-environment "Japanese")
           (set-default-coding-systems 'euc-japan)
           (set-terminal-coding-system 'euc-japan)
           (set-buffer-file-coding-system 'euc-japan)
           (set-default-font "-*-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-standard")
           (progn (load-library "canna" ) (canna) )
           (global-set-key "\C-o" 'canna-toggle-japanese-mode)
          
              
         
      • kinput2 の設定   
            
        • インストールするパッケージ

                kinput2-canna

        • 設定ファイルの編集
          /etc/skel/.bashrc, .bash_profile の両方に次の一行を追加する
                    export LANG=ja JP.ujis
                    export LC_ALL=ja.JP.ujis
                 export XMODIFIERS="@im-kinput2"
          
          /etc/skel/.xinitrc
                   xrdb -merge ~/.Xresources
                   kinput2-canna&
                   exec afterstep
          
          /etc/skel/.Xresources
                  *inputMethod:   kinput2
                  #define XIM kinput2
                  Kinput2*conversionStartKeys: Shiftspace
                  krxvt*inputMethod: XIM
                  krxvt*kanji_encoding:    eucj
                  KTerm*inputMethod: XIM 
                  KTerm*VT100*KanjiMode: euc
                  KTerm*openIm: true
          
               /etc/skel/.emacs に以下の一行を追加

              (set-keyboard-coding-system 'euc-japan)

        • /etc/network/interfaces

          以下のように編集
               # The loopback interface
               # auto lo
               #iface lo inet loopback
          
               #iface eth0 inet static
               #        address 192.168.0.105
               #        netmask 255.255.255.0
               #        network 192.168.0.255
               #        broadcast 192.168.0.255
               #        gateway 192.168.0.1
          
          ※ この状態でままイメージを作成する。イメージ作成後はこの設定を有効にしてイメージファイルを転送する. ネットワークの設定を有効にするには以下のコマンドを実行.

           
          # /etc/init.d/networking restart

  3. パッケージのインストール(CD 作成に必要なもの)

    バイナリでインストール : mkisofs
    ソースからインストールし静的リンク : dump, e2fsprogs

    • mkisofs のインストール

      # apt-get install mkisofs

    • e2fsprogs, dump のインストール

      ソースをダウンロードするために /etc/apt/sources.list に以下を追加する。
          
      deb-src ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian stable main contrib non-free
      deb-src ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian-non-US stable/non-US main contrib non-fr
      deb-src ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian-jp stable-jp main contrib non-free
      
      dump, e2fsprogs のソースを入手.

      # apt-get source dump e2fsprogs

      ef2psprogs のインストール (INSTALL ファイルを参照)

      # cd e2fsprogs-1.27
      # mkdir build
      # cd build
      # ../configure
      # make
      # make check
      # make install-libs

      dump を静的にインストール

      # cd dump-0.4b27
      # ./configure --enable-stabic
      # make
      # make install

      本当に静的リンクされたか確認

      # ldd dump
      not a dynamic executable

      # ldd /usr/local/sbin/restore
      not a dynamic executable

      ※ 静的リンクとは?

      コマンドが使用するライブラリをリンクしておけば、ディスク障害などで共有ライブラリを読み込めなくなった時でも、コマンドが使用できる。コマンドのビルト時に-static オプションを付ければライブラリを静的にリンクできる。

  4. カーネルの再構築

    loopback デバイスをサポートする.

    • ソースの入手

      http://packages.debian.org/unstable/devel/kernel-source-2.4.21.html

      より kernel-source.2.4.21 を入手

    • カーネルの設定

      [!注意事項]

      ※1 カーネルイメージをなるべく小さくするために必要のないものは組み込まないようにする。
      ・rescue.bin (1.44MB) に収まらない!

      ※2 DOSFAT fs, MSDOS fs は再インストール時の root.bin を読み込む時に必要となるので必ず y にすること!

      [新たに追加するもの]
      net/ Dec tulip
      Block device / Loop back device
                     RAM disk support
      File systems / DOS FAT fs support 
                     MSDOS fs support
                     VFAT(Windows-95) support
                     FIle systems / Native Language Support / Codepage 437
                                                              Japanese charset
                                                              NLS ISO 8859-1
      
      [削除するもの]
      Processor type and features / Symmetric multi-processing support 
      General setup / kernel suppport for a.out binaries 
      networking options / IP: multicasting
      SCSI support / SCSI support
      network device support / EtherExpressPro/100 
      File systems / Network File systems / NFS file system support
                                            NFS server support
      Sound / Soound card support
      USB  / Support for USB
      
      又、CD イメージ作成前に以下の作業を行なっておく.

    • 不必要なパッケージの削除
    • /etc/network/interfaces の設定をコメントアウトしてあるか確認.
    • vmlinuz.old の消去

      • /etc/lilo.conf

        image = vmlinuz.old の行以下を消去
        # lilo

      • /boot/vmlinuz-2.2.20 の消去

        # rm /boot/vmlinuz-2.2.20

      • /vmlinuz.old の消去

        # rm /vmlinuz.old

  5. バックアップファイルの製作

    • Linux をシングルユーザーモードで起動する

      ブート時に Lilo と表示したら Shift キーをおして
          
      boot : Linux -s

      とする。
    • dump する

      /dev/hda2 のイメージを /dev/hda3 の領域にフルダンプする。

      # mkdir /home/nakagami/joho5/
      # cd /home/nakagami/joho5
      # mkdir root
      # dump -0 -a -f - / | gzip -c > /home/nakagami/joho5/root/root.boot.gz

      [オプションの意味]

      - 0 : full dump
      - a : メディアの終わりまでデータを書き込む
      - f : 出力先ファイル名
      gzip -c : 出力したファイルを gzip で圧縮

      10 分少々で dump 終了。

      # ls -l root.boot.gz

      容量は 308 Mbyte.

    • rescue.bin の編集

      # mkdir ~/joho5/rescue

      Windows 領域から rescue.bin を ~/joho5/rescue/ にコピーする. loopback デバイスを使ってイメージファイル rescue.bin をファイルシステムとしてマウントする.

      # mount -o loop /home/nakagami/joho5/rescue/rescute.bin /mnt

         linux.bin を vmlinuz-2.4.21 と入れ替える

      # cp /boot/vmlinuz-2.4.21 /mnt/linux.bin
      # umount /mnt

        
  6. CD イメージの作成

    /home/nakagami/joho5/cdrom 以下に次のファイルを揃える

    rescue.bin, root.boot.gz
    gzip (/bin/gzip からコピー)
    restore (/usr/local/sbin/restore からコピー)

    次のコマンドを発行してイメージを作る。

    # cd ~/joho5/cdrom/
    # mkisofs -b rescue.bin -c boot.cat -R -o rcd0913.img ./

       [オプションの意味]

    - b : ブートフロッピーのイメージファイルへのパス
    - c : ブートイメージに対するカタログファイルへのパス
    - R : RockRidge 形式に対応したファイルの情報を CD イメージファイルへ    付加
    - o : 出力先のファイル

    確認
    # mount -o loop ./rcd0912.img /mnt
    # ls /mnt/
    boot.cat, gzip, rescue.bin restore, root.boot.gz

  7. rcd****.img を CD-R に焼く

最終更新日: 2003/09/15 中神 雄一