月曜日、今年80回目の残留(大学でのお泊まり)で初めてLinuxをインストールした。
これは俺もだんだん学年が上がってきたので、研究室のネットワークを管理したりとかそういう勉強を始めたという事ですね。
ネットワークのしくみも結構ものづくりのアイディアにもなってくる気がするし。
今回は夜23時から野人とたけちゃんと3人でやりました。
やったのは、いまいちLinuxというものがわからなかったので、2階の奥の机の下に溜まっている使っていないマシンを復活させて、色々なLinuxを入れてみようというもの。3人で3台マシンを復活させて、俺はソースから全てコンパイルする玄人向けでたけちゃんオススメのGentoo、たけちゃんは日本で結構使われてるらしいDebian、野人はVine(これも日本のディストリで評判がいい)をインストール開始。
先に結論を書いておくと、インストールできなかったけどまた挑戦するのでメモを残しておく。
Gentoo Linux Documentation — Gentooをインストールするに書いてある通り進めていった。
まずminimalCDをミラーサイト一覧の中の /releases/x86/2005.1-r1/installcd/からminimalインストールCDのisoイメージをダウンロードしてきて、CD-Rに焼く。
CDから起動できるので、fdiskでパーティション切って、links2でhttp://www.gentoo.org/main/en/mirrors.xmlからstageをダウンロードしてコンパイルする。
Gentooはソースからコンパイルするのだけど、stage1~3といって途中までコンパイルされているデータがあって楽できる。stage1からコンパイルすると1から最適化されるので滅茶苦茶速くなるらしいが、一日中コンパイルし続ける事になるらしい。今回はstage2で始めて、コンパイル全部終わってrootのパスワードを設定する所でpasswdというプログラムがソースにも入っていなくて作ったOSにログインできないという悲劇に見舞われた。
カナダのミラーからダウンロードしたのが間違いだった。
その後、GentooをあきらめてVineLinux3.0をインストール
もう朝だ。メモリが足りなくてテキストモードでインストール。終ったら、GPUの設定がおかしくて字が読めない。
授業に行ったりして夜。メモリを足して、グラフィックモードでインストールできた。
Vineのインストールはかなり簡単(WindowsXPより簡単)なので、家でも入れてみた。
その間竹内先生はDebian→FedoraCore→Gentooと3つもインストールを試しておられた。
以下Gentooインストール失敗ログ。
051219(月) Linuxインストール大会 Gentoo
——————————————————-
■minimalCDから起動、HDDのフォーマットなどインストール準備
CD入れてGentooのbootになったらそのままEnter
CD上でrootでログインできた。
DHCPを有効にする
# dhcpcd eth0
パーティションを作る
# fdisk /dev/hda
ファイルシステムを適用
# mke2fs /dev/hda1
# mke2fs -j /dev/hda3
# mkswap /dev/hda2
■Gentooのソースコードをダウンロードしてコンパイル、構築
日時の設定
# date
# date 122002182005
ミラーサイトを一覧する
# links2 http://www.gentoo.org/main/en/mirrors.xml
適当なミラーに接続して、(なんとなくカナダにした)
releases/x86/2005.1-r1/stages/x86/
から、stage2をダウンロード。
ローカルに展開
# tar -xvjpf stage?-*.tar.bz2
ミラーからさらにportageスナップショットをダウンロード
snapshot/ にある。
スナップショットもローカルに展開
# tar -xvjf /mnt/gentoo/portage-
コンパイルの設定ファイルを書き換える
# nano -w /mnt/gentoo/etc/make.conf
CPUが1つなので下記を最後の行に書き加えた。
MAKEOPTS=”-j2″
なんかまだソースコードをダウンロードするらしいので、ミラーを設定する
# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
日本のを選んだ。
DNSの情報をコピーする
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
rsyncの為のミラーも設定する。これも日本。
# mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
procファイルシステムをマウント
# mount -t proc none /mnt/gentoo/proc
新しい環境に入る
# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile
Portageを最新に更新
# emerge –sync
glibc用のuserlocales USEフラグを有効にする
# mkdir -p /etc/portage
# echo “sys-libs/glibc userlocales” >> /etc/portage/package.use
stage2でインストールなので、既にブートストラップが完了している。
ソースコードをダウンロードしてからシステムのビルド
# emerge –fetchonly –emptytree system
■カーネルの設定
タイムゾーンの設定
# ln -sf /usr/share/zoneinfo/Japan /etc/localtime
カーネルソースのインストール
# emerge gentoo-sources
カーネル設定
# cd /usr/src/linux
# make menuconfig
http://www.gentoo.org/doc/ja/handbook/handbook-x86.xml?part=1&chap=7
に従ってやる
カーネルコンパイル
# make && make modules_install
かなり長いので寝て待つ。
カーネルのインストール
# cp arch/i386/boot/bzImage /boot/kernel-2.6.14-gentoo-r5
カーネル設定のバックアップ
# cp .config /boot/config-2.6.14-gentoo-r5
■fstabの編集
# nano -w /etc/fstab
よくわからないので例の通りにした
/dev/hda1 /boot ext2 defaults,noatime 1 2
/dev/hda2 none swap sw 0 0
/dev/hda3 / ext3 noatime 0 1
none /proc proc defaults 0 0
none /dev/shm tmpfs nodev,nosuid,noexec 0 0
/dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0
ホスト名設定
# nano -w /etc/conf.d/hostname
domain名設定
# nano -w /etc/conf.d/domainname
反映?
# rc-update add domainname default
ネットワーク設定
# nano -w /etc/conf.d/net
下記にした
config_eth0=( “dhcp” )
config_eth1=( “dhcp” )
config_eth2=( “dhcp” )
起動スクリプト
# cd /etc/init.d
# ln -s net.eth0 net.eth1
# rc-update add net.eth1 default
# ln -s net.eth0 net.eth2
# rc-update add net.eth2 default
rootのパスワードを設定
# passwd
command not foundという事で無理でした。
ソースにもpasswdが無かった。