Asial Blog

Recruit! Asialで一緒に働きませんか?

coLinuxでUbuntu 7.04をネットワークインストール

カテゴリ :
バックエンド(プログラミング)
タグ :
こんにちは、スパイシーチキン担当の熊谷です。スパイシーチキン担当ということで、今日のお昼ご飯はもちろんスパイシーチキンです。そろそろ飽きてきたといいながらも、スパイシーチキン、まだ食べています!

以前も書きましたが、私の開発用PCやメインのノートPC上で動作しているcoLinuxではDebian etchを使用しています。Debian etchは比較的最近リリースされたということで、以前の安定版のように古くさい?という感じはあまりしなくなり特に不満はありません。しかし、例えばデスクトップ環境として使うとか、保守性も大事だけどもう少し新しさが欲しいとか、定期的な新しい安定版に興味があるとか。そんな欲求が出てきてしまう今日この頃、だったらUbuntuを使ってみようじゃないかと思い立ったわけです。

私にとってUbuntuは、バージョン4.10や5.04の頃にデスクトップ環境としてメインで使用していました。なので、久しぶりのUbuntu。Debianがベースなので基本は同じ、ただ、サーバとしては使ったことがないので分かりませんがデスクトップ環境としては完成度が素晴らしく良かったと記憶しています。

そんなことで、再度Ubuntuを使い始める第一歩として、coLinuxで使えるようにインストールすることにしました。開発用PCにインストールするには万が一のためにデータのバックアップとかでちょっと面倒なので、手軽に出来るcoLinuxで。

基本的なインストール流れは、以前書いたDebian etchのインストールと変わらないのですが、インストールCDをダウンロードするのが面倒なので今回はネットワークインストールです。

まず、ネットワークインストールということでcoLinux上でネットワークが使えるように設定をしておかねばなりません。以前はそこの説明をとばしていたのですが、今回は少しだけきちんと書きます。

coLinuxでネットワークを使用するにはブリッジ接続とNAT接続のどちらかの設定を行う必要があります。私の場合ノートPCを使用しているということもあって、無線・有線LANをそれぞれ場所によって使用します。なので、両方のネットワークで使用できるNAT接続にしています。詳しい設定方法はググるといろいろ見つかるのでググってください。でその設定方法は、コマンドプロンプトで
  1. netsh routing ip nat install
  2. netsh routing ip nat add interface "ワイヤレス ネットワーク接続" full
  3. netsh routing ip nat add interface "ローカル エリア接続" full
  4. netsh routing ip nat add interface "TAP" private
  5. netsh routing ip dnsproxy install
というように実行するだけです。「ワイヤレス ネットワーク接続」や「ローカル エリア接続」、「TAP」は使用するネットワークの構成によって変更する必要があります。


ちなみにcoLinuxのインストール時にインストールするネットワークドライバを選択できるようになっていますが、

そこではTAP-Win32を選びインストール、そして、上記のようにインストールされたTAP-Win32をTAPという接続名に変更しています。

あとはそのTAPにIPアドレスを割り振れば完了です。


では、さっそくUbuntu 7.04をインストールします。

まずUbuntuをインストールするディスクイメージを作成します。これは以前もやりましたが、
  1. fsutil file createnew rootfs_3gb.img 3221257728
  2. fsutil file createnew swap_192mb.img 201358848
で、3GB用のディスクイメージと192MB用のスワップイメージを作成します。容量はお好みで。

次にUbuntu 7.04のネットワークブート用のinitrd.gzを以下のURLからダウンロードします。
http://ja.archive.ubuntu.com/ubuntu/dists/feisty/main/installer-i386/current/images/netboot/ubuntu-installer/i386/

わかりやすくするためにダウンロードしたinitrd.gzをubuntu-initrd.gzとファイル名を変更し、例えばcoLinuxをc:\colinuxにインストールしたとして、そこに置きます。で、インストール用の設定ファイルを書くわけですが、
  1. kernel=vmlinux
  2. cobd0=c:\coLinux\rootfs_3gb.img
  3. cobd1=c:\coLinux\swap_192mb.img
  4. cofs0=c:\coLinux
  5. root=/dev/ram0 vga=normal ramdisk_size=14409 rw --
  6. initrd=ubuntu-initrd.gz
  7. mem=128
  8. eth0=tuntap,"TAP"
こんな感じになります。設定ファイルを準備できたらそれを使用してcoLinuxを起動します。
  1. colinux-daemon.exe @installer.conf -t nt
するとUbuntuのテキストベースのインストーラーの画面が表示されます。

この最初の画面では言語を選択するわけですが、日本語が化けるのでEnglishを選択し、次の画面ではotherを選択でJapanを選択します。このあたりも以前書いたetchのインストールと同じです。

次の画面はキーボード選択画面ですが、

これまた以前と同じで、ここでAlt+F2を押して画面を切り替えEnterを押してコンソールにします。

で、ここでする作業も基本的には以前と同じです。
  1. mkdir -p /mnt/modules
  2. mount -t cofs cofs0 /mnt/modules
  3. tar -zxvf /mnt/modules/vmlinux-modules.tar.gz
  4. mkdir /target
上記コマンドを実行したら、Alt+F1を押してコンソールを切り替えセットアップ画面に戻ります。
Detect keyboard layout?ということで、Yes/Noの選択を迫られている先ほどの画面に切り替わるので、ここではNoを選択し、キーボードは日本語キーなのでJapanを選択します。



しばらくすると、ネットワークの設定になりDHCPが失敗した旨の画面になります。

ここでContinueを選択して次の画面でConfigure network manuallyを選択してIPアドレスを手動で入力します。先のTAPの設定でTAPのIPアドレスを192.168.40.1に設定しているので、coLinuxには192.168.40.2を割り当ています。





これが終わるとインストール元となるミラーを選択する画面になります。

近いところを選択してください。次にカーネルモジュールを読み込まずインストールするかと聞かれるのでYesを選択します。

すると何かダウンロードインストールが始まりしばらく待っているとパーティションの設定画面になります。

ここでまたAlt+F2を押して画面を切り替えてコンソールにして、ディスクの初期化とマウント、ベースシステムのインストールを行います。
  1. mke2fs -j /dev/cobd0
  2. mount /dev/cobd0 /target
  3. mkswap /dev/cobd1
  4. sync;sync;sync;
  5. swapon /dev/cobd1
  6. mkdir -p /target/dev
  7. mknod /target/dev/cobd0 b 117 0
  8. mknod /target/dev/cobd1 b 117 1
  9. mknod /target/dev/cobd2 b 117 2
  10. cd /target
  11. debootstrap --arch i386 feisty /target http://ja.archive.ubuntu.com/ubuntu
次に、chrootして細々とした設定を行います。
  1. chroot /target /bin/bash
まず、キーボードの設定を行います。
  1. dpkg-reconfigure console-setup
日本語キーボードを使用しているならJapanese 106-keyを選択してください。

あとは、特に変更しないのであれば、ENTERを押していくだけで良いと思います。
次にマウントパーティションの設定です。
  1. vi /etc/fstab
で/etc/fstabに以下内容を記述します。
  1. /dev/cobd/0 /     ext3 defaults 1 1
  2. /dev/cobd/1 swap  swap defaults 0 0
  3. proc        /proc proc defaults 0 0
次にNICの設定です。同じようにviで
  1. vi /etc/network/interfaces
/etc/network/interfacesに以下内容を記述
  1. auto lo
  2. iface lo inet loopback
  3. auto eth0
  4. iface eth0 inet static
  5.    address 192.168.40.2
  6.    netmask 255.255.255.0
  7.    gateway 192.168.40.1
次にhostsファイル。
  1. vi /etc/hosts
/etc/hostsに以下内容を記述します。
  1. 127.0.0.1      localhost

あとはユーザの追加を行うだけです。
  1. passwd root
  2. adduser ユーザ名
  3. addgroup --system admin
  4. adduser ユーザ名 admin
  5. adduser ユーザ名 audio
  6. adduser ユーザ名 users
で、visudoを使用して以下内容を追加し、adminグループでrootの作業が出来るように設定します。
  1. %admin ALL=(ALL) ALL
これで最低限のシステムがインストールされたUbuntuの完成です。

coLinuxの設定ファイルのubuntu-initrd.gzをcoLinuxのinitrd.gzに戻して。
  1. kernel=vmlinux
  2. cobd0=c:\coLinux\rootfs_3gb.img
  3. cobd1=c:\coLinux\swap_192mb.img
  4. cofs0=c:\coLinux
  5. root=/dev/ram0 vga=normal ramdisk_size=14409 rw --
  6. initrd=initrd.gz
  7. mem=128
  8. eth0=tuntap,"TAP"
こんな感じの設定ファイルでcoLinuxを起動すると無事Ubuntu 7.04が起動するはずです。


以前同様最小限のことしか行っていないので、/etc/apt/sources.listへのリポジトリの追加や
  1. apt-get install ssh

  1. tzconfig
とか
  1. tasksel
とか。お好みでどうぞ!