第3回インストール大会結果報告

VMwareGentooを入れてみよう、という試行*1のログ。
はや3回目を迎えてみたが、今回の結果はいかに?

  • ハードウェア構成

/dev/hda 3.0GB
/dev/hdb 0.5GB
/dev/hdc CD-ROM
eth0 NAT
eth1 ブリッジ
USB x2
サウンド Creative SoundBluster PCI128
メモリ 300MB
Intel 82371 PCI Bus Master IDEコントローラ
AMD PCNET Family Ethernetアダプタ(PCI-ISA)
Sound Blaster 16互換サウンドカード

/dev/hda1 /boot ext3 64MB Bootable
/dev/hda2 / ext3 残り
/dev/hdb1 /dos VFAT 全部

  • ブート

BIOSFDDとかシリアルパラレルを切り捨てて、CDブート。
# gentoo dokeymap noraid nofb acpi
と、キーボードを日本語化、フレームバッファをOFF、RAIDを明示的にOFFとした。
ついでに、ACPIをONにする。# 試験実行

スクリーン関係でキャラクタ数を聞かれる。80x30にする。
キーボードマッピングは日本語、22番を選択。

  • コンソールに入った

あとは自動認識である程度のハードが認識され、コンソールに入れる。
# passwd
まず、他のコンソールに入れるようにパスワードを設定。
デフォルトで、パスワードなし、だったような気もするが、気休め程度で。
次には、ネットワークが自動で認識されているかをテスト。
# ping www.microsoft.com -c 3
とりあえず、どのNICでもいいから、ちゃんと外につながることを確認しておく。

前述のように、ぶった切る。
# fdisk /dev/hda
# fdisk /dev/hdb
# mkfs.ext3 /dev/hda1
# mkfs.ext3 /dev/hda2
# mkfs.vfat -F 32 -n "DOS" /dev/hdb1
# mount /dev/hda2 /mnt/gentoo [ -t ext3 ]
# mkdir /mnt/gentoo/boot
# mkdir /mnt/gentoo/dos
# mount /dev/hda1 /mnt/gentoo/boot [ -t ext3 ]
# mount /dev/hdb1 /mnt/gentoo/dos [ -t vfat ]

# cd /mnt/gentoo
# tar xfjp /mnt/cdrom/gentoo/stage*.bz2 [TAB補完]
# mount -t proc proc /mnt/gentoo/proc
# cp /etc/resolv.conf ./etc/
$ cp ./dos/make.conf ./etc/ # 既にmake.confを書いてある場合
# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile

  • Gentooシステムの最適化オプションを設定する(make.conf)

# nano -w /etc/make.conf
(CHOST, CFLAGS, CXXFLAGSとUSEフラグ、プロキシ設定を編集する)


<>
USE="aalib acpi arts avi canna cjk crypt cups dvd esd gif gpm gtk2 imlib \
java jpeg kde libg++ mmx mozilla mpeg mysql ncurses nls oggvorbis opengl \
oss pam pdflib perl png python qt quicktime ruby samba sdl sse ssl tcltk \
tcpd tiff truetype usb wmf X xml2 xmms xv zlib x86 \
encode ungif nptl mad pic \
# alsa cdr emacs gnome icc kerberos krb4 ldap mpi mule kdelibs \
"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -Os -O3 -pipe -ffast-math -falign-functions=4"
CXXFLAGS="${CFLAGS}"
ACCEPT_KEYWORDS="x86 ~x86"
GENTOO_MIRRORS=" \
http://mirror.gentoo.gr.jp \
ftp://ftp.jaist.ac.jp/os/linux/tmp/www.ibiblio.org/pub/Linux/distributions/gentoo \
http://gentoo.gnukorea.org \
http://gentoo.oregonstate.edu \
http://ibiblio.org/pub/Linux/distributions/gentoo \
"
SYNC="rsync://rsync.jp.gentoo.org/gentoo-portage rsync://rsync.gentoo.or.kr/gentoo-portage"

  • 最新のPortage Treeを取得する

# emerge sync
ファイヤーウォールでこける場合は、次のコマンドで代用できる。だが、現在の状況とかいう情報をまったく流さないので理解しにくい困ったちゃんでもある*2
$ emerge-webrsync

  • STAGE1 ブートストラップの構築

# cd /usr/portage
# scripts/bootstrap.sh
「最適化こそがGentoo Linuxの本質です。昨晩はお楽しみでしたね?*3

  • STAGE2 システムのインストール

# emerge system
上のSTAGE1と併合して、
$ scripts/bootstrap.sh && emerge system
と、長期放置するのもあり。

# emerge sys-kernel/usermode[gentoo,vanilla,etc...]-sources
# cd /usr/src/linux # このディレクトリはシンボリックリンクになっている
# make menuconfig
// cat /proc/config > .config && make oldconfig
# make dep && make clean bzImage modules modules_install
# cp /usr/src/linux/arch/i386/boot/bzImage /boot
// bzImageが/bootに無い〜?と数十分悩んだが、コピーしていなかったことに気づく。細かいことを見落としてしまう仕様。

  • SystemLogger,CRONなどのインストール

ログ採取は、syslog-ng
定時実行は、vcron
を使用しよう。
# emerge app-admin/syslog-ng && rc-update add syslog-ng default
# emerge sys-apps/vcron && rc-update add vcron default

  • その他の必要なパッケージのインストール

今回は特に無い・・・かな?
ファイルシステム、PPPOE、PCMCIAは、このGentooには必要ないようですし。
必要ならオフィシャル見て参考にね?*4

  • /etc/fstabを書き換える

/dev/hda1 /boot ext3 noauto,noatime 1 2
/dev/hda2 / ext3 noatime 0 1
/dev/hdb1 /dos vfat noatime,noexec 0 2
#/dev/null none swap defaults 0 0
#/dev/hdc /mnt/cdrom iso9660 noauto,user,ro 0 0
proc /proc proc defaults 0 0

  • その他の設定

一般ユーザの登録・・・はご自由に。
ホスト名関係の登録
/etc/hostname // ホスト名
# echo hoge > /etc/hostname
/etc/hosts // ホスト名
127.0.0.1 localhost
# 次の行にはローカルLANのIPとマシン名を記述します
192.168.0.100 hoge

  • ネットワークカードの起動時の設定

# nano -w /etc/conf.d/net
# cd /etc/init.d
# cp net.eth0 net.eth1
# rc-update add net.eth0 default
# rc-update add net.eth1 default
// NAT@eth0と、Bridge@eth1をブート時に読む?

  • 基本設定@rc.conf(Keymapなど)&時刻設定。

# ln -sf /usr/share/zoneinfo/Japan /etc/localtime
# date // 確認
# nano -w /etc/rc.conf
KEYMAP="jp106"
基本設定を行うには、ファイル内の指示に従ってください。 CLOCKが望みどおりに設定されているか確認しましょう。
またKEYMAP変数が合っているか見てください。 設定できるキーマップを見つけるには/usr/share/keymapsの中を探してください。

# emerge gurb && gurb
grub> root (hd0,0) // ブートパーティション
grub> setup (hd0) // ブートレコードがインストールされている場所。この例ではMBR
grub> quit
# nano -w /boot/grub/grub.conf // GRUBブートメニューの設定
default 0
timeout 10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux
root (hd0,0)
kernel (hd0,0)/boot/bzImage root=/dev/hda2<>
# ln -s /boot/grub/grub.conf /boot/grub/menu.lst // GRUBの下位互換性を保つ

  • インストール完了->再起動

# etc-update
# exit
(chrootされたshellを終了する。^Dとタイプしても良い。)
# cd /
# umount /mnt/gentoo/boot
# umount /mnt/gentoo/dos
# umount /mnt/gentoo/proc
# umount /mnt/gentoo
# reboot

以上で、インストール自体は完了する。
結果、再起動後に、見事Gentooが起動。3回目にして初勝利はうれしきかな。

さて、実機でやってみようかな?というのは早計か。

*1:嗜好?

*2:でも、無くてはならない存在

*3:ラダトームの街の宿屋、参照

*4:それを言ったら、この日記の価値は無くなってしまう