アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

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

こんにちは、スパイシーチキン担当の熊谷です。スパイシーチキン担当ということで、今日のお昼ご飯はもちろんスパイシーチキンです。そろそろ飽きてきたといいながらも、スパイシーチキン、まだ食べています!

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

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

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

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

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

coLinuxでネットワークを使用するにはブリッジ接続とNAT接続のどちらかの設定を行う必要があります。私の場合ノートPCを使用しているということもあって、無線・有線LANをそれぞれ場所によって使用します。なので、両方のネットワークで使用できるNAT接続にしています。詳しい設定方法はググるといろいろ見つかるのでググってください。でその設定方法は、コマンドプロンプト


netsh routing ip nat install
netsh routing ip nat add interface "ワイヤレス ネットワーク接続" full
netsh routing ip nat add interface "ローカル エリア接続" full
netsh routing ip nat add interface "TAP" private
netsh routing ip dnsproxy install

というように実行するだけです。「ワイヤレス ネットワーク接続」や「ローカル エリア接続」、「TAP」は使用するネットワークの構成によって変更する必要があります。


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

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

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


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

まずUbuntuをインストールするディスクイメージを作成します。これは以前もやりましたが、


fsutil file createnew rootfs_3gb.img 3221257728
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にインストールしたとして、そこに置きます。で、インストール用の設定ファイルを書くわけですが、


kernel=vmlinux
cobd0=c:\coLinux\rootfs_3gb.img
cobd1=c:\coLinux\swap_192mb.img
cofs0=c:\coLinux
root=/dev/ram0 vga=normal ramdisk_size=14409 rw --
initrd=ubuntu-initrd.gz
mem=128
eth0=tuntap,"TAP"

こんな感じになります。設定ファイルを準備できたらそれを使用してcoLinuxを起動します。


colinux-daemon.exe @installer.conf -t nt

するとUbuntuのテキストベースのインストーラーの画面が表示されます。

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

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

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

で、ここでする作業も基本的には以前と同じです。


mkdir -p /mnt/modules
mount -t cofs cofs0 /mnt/modules
tar -zxvf /mnt/modules/vmlinux-modules.tar.gz
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を押して画面を切り替えてコンソールにして、ディスクの初期化とマウント、ベースシステムのインストールを行います。


mke2fs -j /dev/cobd0
mount /dev/cobd0 /target
mkswap /dev/cobd1
sync;sync;sync;
swapon /dev/cobd1
mkdir -p /target/dev
mknod /target/dev/cobd0 b 117 0
mknod /target/dev/cobd1 b 117 1
mknod /target/dev/cobd2 b 117 2
cd /target
debootstrap --arch i386 feisty /target http://ja.archive.ubuntu.com/ubuntu

次に、chrootして細々とした設定を行います。


chroot /target /bin/bash

まず、キーボードの設定を行います。


dpkg-reconfigure console-setup

日本語キーボードを使用しているならJapanese 106-keyを選択してください。

あとは、特に変更しないのであれば、ENTERを押していくだけで良いと思います。
次にマウントパーティションの設定です。


vi /etc/fstab

で/etc/fstabに以下内容を記述します。


/dev/cobd/0 /     ext3 defaults 1 1
/dev/cobd/1 swap  swap defaults 0 0
proc        /proc proc defaults 0 0

次にNICの設定です。同じようにviで


vi /etc/network/interfaces

/etc/network/interfacesに以下内容を記述


auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
   address 192.168.40.2
   netmask 255.255.255.0
   gateway 192.168.40.1

次にhostsファイル。


vi /etc/hosts

/etc/hostsに以下内容を記述します。


127.0.0.1      localhost


あとはユーザの追加を行うだけです。


passwd root
adduser ユーザ名
addgroup --system admin
adduser ユーザ名 admin
adduser ユーザ名 audio
adduser ユーザ名 users

で、visudoを使用して以下内容を追加し、adminグループでrootの作業が出来るように設定します。


%admin ALL=(ALL) ALL

これで最低限のシステムがインストールされたUbuntuの完成です。

coLinuxの設定ファイルのubuntu-initrd.gzをcoLinuxのinitrd.gzに戻して。


kernel=vmlinux
cobd0=c:\coLinux\rootfs_3gb.img
cobd1=c:\coLinux\swap_192mb.img
cofs0=c:\coLinux
root=/dev/ram0 vga=normal ramdisk_size=14409 rw --
initrd=initrd.gz
mem=128
eth0=tuntap,"TAP"

こんな感じの設定ファイルでcoLinuxを起動すると無事Ubuntu 7.04が起動するはずです。


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


apt-get install ssh




tzconfig

とか


tasksel

とか。お好みでどうぞ!