0.7.1にgentooを入れる

やってみた。やりながら書いた。

インストール

BridgeとDebugを外した。あとRoot FS Imageも別途ダウンロードしていたので省略。

イメージを作成

>cd "C:\Program Files\coLinux"
>fsutil file createnew fs.bin 8589934592
>fsutil file createnew swap.bin 268435456

とりあえずファイルシステムスワップ用にイメージを作成

conf作成

example.confをコピーしてmy.confを作る。あとは適当に設定。

cobd0="C:\Program Files\coLinux\Ubuntu-6.06.1.ext3.1gb"
cobd1="C:\Program Files\coLinux\swap.bin"
cobd2="C:\Program Files\coLinux\fs.bin"
#ro
mem=128
eth0=tuntap

特に意味があってUbuntuにしたわけではない。
readonlyにする必要は特に感じなかった。
メモリは、このくらいは欲しいかなと適当に。最初コメントアウトされてたけどデフォルトはいくつなんだろ?
ネットワークは今まで通りTAP。
slirpを試そうとしたのだが、なぜかうまくいかず。Windows側の外部に繋がるIPには届くが、ルータへのpingは通らない。なぜだ。
デフォルトではコメントアウトされているが、有効にしないとネットワークが有効にならない様子。

ネットワーク設定1

ネットワークに繋がってるデバイスをTAPに開放し、ファイアウォールをTAPに対して無効にする。
TAPのIPを192.168.128.1とかにしておく。

実行

>colinux-daemon.exe @my.conf

login

user:root pass:root でログイン

キーボード

# loadkeys jp106

vimで':'が見つからなかったりしてヤバいことになったので、やっておいたほうがいい。

ネットワーク設定2

/etc/network/interfacesを設定して、192.168.128.2にする。
/etc/resolv.confでnameserverを192.168.128.1にする。

# ping www.google.com

通った。

ローカルタイムの設定

# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

一応。

インストールするイメージの準備

# mkfs.ext3 /dev/cobd2
# mkdir /mnt/gentoo
# mount -t ext3 /dev/cobd2 /mnt/gentoo
# mkswap /dev/cobd1

Gentooガイドブックに沿って作業

5章からスタート。

アーカイブの展開
# cd /mnt/gentoo
# wget ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO/releases/x86/2007.0/stages/stage3-i686-2007.0.tar.bz2
# wget ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO/releases/x86/2007.0/stages/stage3-i686-2007.0.tar.bz2.DIGESTS
# md5sum -c stage3-i686-2007.0.tar.bz2.DIGESTS
# tar xvjpf stage3-i686-2007.0.tar.bz2
# wget ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO/snapshots/portage-latest.tar.bz2
# wget ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO/snapshots/portage-latest.tar.bz2.md5sum
# md5sum -c portage-latest.tar.bz2.md5sum
# tar xvjf portage-latest.tar.bz2 -C /mnt/gentoo/usr
コンパイルオプションの指定

/mnt/gentoo/etc/make.confを編集

CFLAGS="-O2 -march=pentium-m -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
CHOST="i686-pc-linux-gnu"
USE="-alsa -xv -arts -gtk -gnome -qt -kde -X -motif java cjk nls unicode apache2 mysql readline mmx tcpd libwww ssl perl php jpeg gif png gd"
GENTOO_MIRRORS="http://ftp.nara.wide.ad.jp/pub/Linux/gentoo http://mirror.gentoo.gr.jp/"
SYNC="rsync://rsync.jp.gentoo.org/gentoo-portage"

以前やったときpentium-m指定はできなかったが、今回はできた。gccのバージョンが上がったのかな?調べてないけど。
USEはわりと適当。
もちろんUbuntuにはmirrorselectは無いので、GENTOO_MIRRORSとSYNCは手動となる。SYNCは日本のユーザ会推奨設定を使用した。

DNS情報のコピー
# cp -L /etc/resolv.conf etc/
/procと/devのマウント
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
chroot

$PS1は必ずしも変更する必要ないんだけどなぜか律儀にやってしまう(´・ω・`)

# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile
# export PS1="(chroot) $PS1"
portage更新

latestを入れたのに更新する必要あるのか?といつも疑問に思うが、一応やる。

# emerge --sync
使用するプロファイル

2007.0。別に変える必要は無い。

emerge

とりあえずportageが古いといわれたのでportageをemerge。あと、vimがないとやってられないのでemerge。nano嫌い。

# emerge portage
# emerge vim

portageはいっぺんにやるとなんか不安になるので別にしてみた。意味はない(portageの更新の場合、更新終了後に勝手に再起動するので)。

glibcロケール

/etc/locale.gen

en_US ISO-8859-1
en_US.UTF-8 UTF-8
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
ja_JP EUC-JP

だけ#を外す。
そしてロケールを生成する。

# locale-gen
タイムゾーンを設定
# cp /usr/share/zoneinfo/Japan /etc/localtime

lnでもいいじゃん、と思いつつも一応忠実にcpで。

カーネルソースのインストール・ビルド

カーネルWindows側に存在するので、このステップは不要。

/etc/fstabの設定
/dev/cobd0              /               ext3            noatime         0 1
/dev/cobd1              none            swap            sw              0 0
shm                     /dev/shm        tmpfs           nodev,nosuid,noexec     0 0

カーネルcolinuxの管理の外にあるので、/bootとかいらない。
CD-ROMもいらない。

ホスト名・ドメイン

/etc/conf.d/hostname

HOSTNAME="gentoo"

/etc/conf.d/domainname

DNSDOMAIN="colinux"

すこぶる適当。
NISは使わない。

ネットワーク設定3

/etc/conf.d/net

config_eth0=("192.168.128.2 netmask 255.255.255.0 brd 192.168.128.255")
routes_eth0=("default gw 192.168.128.1")
# rc-update add net.eth0 default

/etc/hosts

192.168.128.1   windows
192.168.128.2   gentoo.colinux gentoo

別に使わないような気がするけど一応追加しておく。

その他

rootパスワード設定

# passwd

/etc/rc.conf

EDITOR="/usr/bin/vim"

nano派なら別に必要ない。
/etc/conf.d/keymaps

KEYMAP="jp106"
SET_WINDOWKEYS="yes"

Windowsキーは使わないけど一応yesにしてみる。
/etc/conf.d/clock

CLOCK="local"
ツールのインストール

適当にemerge

# emerge syslog-ng vixie-cron slocate && rc-update add syslog-ng default && rc-update add vixie-cron default && rc-update add sshd default
ブートローダの設定

ブートローダcolinux-daemonなので不要。

再起動
# exit
# cd
# umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
# shutdown -h now

rebootじゃなくシャットダウンです。Gentooガイドブックはこれにて終了。

コンフィグ再設定

my.conf

cobd0="C:\Program Files\coLinux\fs.bin"
cobd1="C:\Program Files\coLinux\swap.bin"

インストールしたイメージをcobd0へ。

再度起動

>colinux-daemon.exe @my.conf

ちゃんと起動することを確認。

終了

あとはユーザ追加とかその辺。