Gentoo Linux インストールメモ

HOME | メモ一覧 | LastUpdate: 2004-11-28

説明

Gentoo Linux (日本語サイト:gentoo.gr.jp)は、自動的な最適化やカスタマイズ性が特徴の Linux ディストリビューションで、portage という独自のパッケージ管理システムを採用しています。

Gentoo Linux のインストールは、インストーラが付属している RedHat Linux などと違い、手動で行うため、インストールでは多くのコマンドを実行し、設定を行う必要があります。Gentoo Linux をインストールした時に実行したコマンドなどをメモしてみました。

初めてインストールしたときのメモですので、何か問題や、間違いなどもあるかもしれません。問題などがありましたら、メールで指摘をお願いします。

(2004.11.28 追記)

この文書は Gentoo Linux 1.4 が公開されていた時期に書いたメモで、現在では Gentoo Linux 2004.3 が公開されています。このメモを書いた後、インストール手順にも変更があると思われますので、参考にならない部分が多くなっている可能性があります。インストールについては、Gentoo Linux 2004.3 x86 ハンドブック1. Gentooをインストールするがありますので、そちらを参考にしてください。


目次

Gentoo Linux のインストールメモ 目次

  1. 説明
  2. 環境
  3. CD ブートとネットワーク設定
  4. HDD のパーティション設定とファイルシステムの作成
  5. インストール作業
    1. Stage 1 ブートストラッピング
    2. Stage 2 残りのシステムをインストール
    3. Stage 3 カーネル構築とシステムの設定
  6. GRUB のインストール
  7. 再起動
  8. 更新履歴

環境

Gentoo Linux をインストールした PC の環境は以下の通りです。

CPU        : Pentium III 600MHz
Mem        : 256MB
Video Card : Millenium
LAN Card   : Intel EtherExpress PRO 100+

IP Adress  : 192.168.0.23
Gateway    : 192.168.0.254
DNS Server : 192.168.0.254

HDD の第一パーティションには、Windows 2000 がインストールされていましたので、第二パーティション以降に Gentoo Linux をインストールして、デュアルブートを行うように設定しました。

インストールは、Gentoo Linux 1.4 インストール手引書を参考に行いました。Gentoo Linux の CD イメージは、Gentoo Linux Mirrors のページから、ダウンロードするのに都合の良いサイトを選択するといいと思います。

ダウンロードできる CD イメージやパッケージは多いのですが、今回のインストールでは "basic" の CD イメージをダウンロードして、CD-R を作成し、Stage 1 から構築することにしました。

▲ 目次へ戻る


CD ブートとネットワーク設定

まず、CD からブートして、コマンドの入力ができる状態になるまで待ちます。起動したら、背景に Gentoo Linux のロゴが入った画面になり、コマンド入力が行えるようになります。高速な PC であれば問題ないのですが、あまりマシンパワーに余裕がない場合は、ALT + F2 を押して、背景のない画面にしておくと、少しは処理が速くなります。Stage 1 や 2 からインストールを行うと、大量にコンパイルを行う必要がありますので、画面を切り替えておいた方が良いと思います。

コマンドが入力できる状態になりましたら、ネットワークの設定を行います。起動した状態で、必要なモジュールなどが読み込まれていましたので、modprobe で、その他のモジュールを読み込む必要はありませんでした。DHCP などは使用していませんでしたので、ifconfigroute コマンドで、ネットワーク設定を行いました。

# ifconfig eth0 192.168.0.23 broadcast 192.168.0.255 netmask 255.255.255.0
# /sbin/route add -net default gw 192.168.0.254

次に、/etc/resolv.conf を編集して、外部の名前解決ができるように設定します。ここでは、DNS サーバを 192.168.0.254 のみにしていますが、ISP の DNS サーバなどもあれば、下に追加しても良いと思います。

nameserver 192.168.0.254

ネットワーク設定の IP アドレス、ゲートウェイ、DNS の設定は、以下のコマンドを実行して、表示に従って入力することで設定を行うこともできます。

# net-setup eth0

▲ 目次へ戻る


HDD のパーティション設定とファイルシステムの作成

HDD のパーティションを設定します。

# fdisk /dev/hda

以下のように設定しました。fdisk の使い方については、Gentoo Linux 1.4 インストール手引書の、6. ファイルシステム、パーティション、そしてブロックデバイスの項に説明が載っていますので、そちらを参照してください。

/dev/hda1 : Windows 2000 (ブート可能)
/dev/hda2 : /boot        (ブート可能)
/dev/hda3 : 予備         (ブート可能)
/dev/hda4 : 拡張領域
/dev/hda5 : /
/dev/hda6 : スワップ領域

次に、ファイルシステムの作成を行います。Gentoo Linux はいくつかのファイルシステムをサポートしており、好みのファイルシステムを使用すれば良いのですが、互換性なども考えて、一般的に使用されている ext3 形式にしました。

# mke2fs -j /dev/hda2
# mke2fs -j /dev/hda5

次に、スワップ領域の初期化も行い、スワップ領域を有効にします。

# mkswap /dev/hda6
# swapon /dev/hda6

▲ 目次へ戻る


インストール作業

HDD の初期化が終了したら、インストール作業を行います。まず、先ほど初期化したパーティションの内、ルートパーティション(/)として使用する /dev/hda5 を /mnt/gentoo にマウントし、/mnt/gentoo/boot を作成した後、ブートパーティション(/boot)として使用する /dev/hda2 を /mnt/gentoo/boot にマウントします。

# mount /dev/hda5 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda2 /mnt/gentoo/boot

マウントが終了したら、ステージ圧縮ファイルの展開を行います。ここでは、Stage 1 から行うことにしていますので、Stage 1 のファイルを CD-R から展開します。

# cd /mnt/gentoo
# tar jxvfp /mnt/cdrom/stages/stage1-x86-1.4-20030806.tar.bz2

インストールを行うために、chroot を実行する必要がありますので、その前に、proc ファイルシステムを /mnt/gentoo/proc にマウントして、resolv.conf をコピーします。

# mount -t proc proc /mnt/gentoo/proc
# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

chroot を実行し、環境を整えるためのコマンドを実行します。

# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile

最適化オプションの設定を行います。vi などは見つかりませんので、nano というエディタを使用して設定します。または、Alt + F3Alt + F4 などを押して、別のターミナルから設定ファイルを編集すれば、vi も使用できます。

# nano -w /etc/make.conf

ここで、CHOSTCFLAGSCXXFLAGS の設定を行いました。CHOST を設定して、CFLAGSCXXFLAGS のコメントアウトを外し、環境に合わせて、以下のように設定しました。

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O3 -pipe"
CXXFLAGS="${CFLAGS}"
SYNC="rsync://rsync.jp.gentoo.org/gentoo-portage"

SYNC の行に日本のミラーサイトを指定しておくと、少しは Portage ツリーの取得が早くなると思います。

最新の Portage ツリーを取得します。おそらく、数十分から1時間くらいは掛かると思います。

# emerge sync

a. Stage 1 ブートストラッピング

「ブートストラップ」プロセスを開始します。参考として、Gentoo Linux のインストール手引書では、AMD Athlon 1200MHz で約 2時間掛かったとされていますが、今回の環境である、Pentium III 600MHz では、4時間以上掛かりました。

# cd /usr/portage
# scripts/bootstrap.sh

Stage 1 では、ビルド中に /var/tmp を数百メガバイト使用することがあるようですので、/var を別パーティションに分けている場合、容量が足りなくなる可能性があります。そのような時は、テンポラリディレクトリを別のディレクトリに設定することができるようです。

# export PORTAGE_TMPDIR="/otherdir/tmp"

章の最初へ | 目次へ

b. Stage 2 残りのシステムをインストール

Stage 1 で作成したコンパイラで、残りのベースのシステムを構築します。まず、-p オプションをつけて emerge コマンドを実行し、インストールされるパッケージを確認してから、システムの構築を実行します。参考までに、今回の環境では、この作業に 3時間と少しくらい時間が掛かりました。

# emerge -p system
# emerge system

Stage2 からインストールする場合は、-u を付けておくと、自動的に最新のシステムに更新されるようです。

# emerge -u system

これ以降では、テキストの編集が多くなります。vi を使った編集に慣れている場合は、以下のコマンドを実行して、Vim をインストールすると良いと思います。

# emerge vim

章の最初へ | 目次へ

c. Stage 3 カーネル構築とシステムの設定

まず、タイムゾーンの設定を行います。/usr/share/zoneinfo の中からタイムゾーンを選んでシンボリックリンクを作成します。日本に住んでいますので、以下のように設定しました。

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

または、以下の方が良いかもしれません。

# ln -sf /usr/share/zoneinfo/Japan /etc/localtime

次にカーネルソースの取得を行います。Gentoo Linux では、カーネルソースに多くの種類が用意されているようですが、とりあえず、普通に gentoo-sources を選びました。また、カーネルを構築するツールである、genkernel もインストールします。

# emerge sys-kernel/gentoo-sources
# emerge genkernel

カーネルの構築を行います。デフォルトの設定のままカーネル構築を行うと、不要な機能まで作成することになってしまいますので、設定を変更するために、以下のように --config を付けて実行しました。

genkernel --config

途中に、カーネル設定の画面(通常のカーネル構築での --menuconfig の画面と同じ)が表示されますので、使用しない機能を外してからカーネル構築を行います。機能を削ったので、あまり参考にならないかもしれませんが、カーネル構築に、35分くらい掛かりました。

次に、多くのハードウェアを自動検出する hotplug とその他、必要なモジュール類をインストールします。また、rc-update を使用して、hotplug が起動時に実行されるように設定します。

# emerge hotplug
# rc-update add hotplug default

必要なハードウェアモジュールのインストールが終了したら、システムロガーのインストールを行います。Gentoo Linux では、システムロガーもいくつかの中から選択できるようですが、インストール手引書で勧められていた metalog をインストールしました。インストール後、起動時に実行されるように rc-update で登録しておきます。

# emerge app-admin/metalog
# rc-update add metalog default

次に、cron をインストールします。これも、インストール手引書で勧められていた vcron をインストールしました。これも、起動時に実行されるように設定します。

# emerge sys-apps/vcron
# rc-update add vcron default

/etc/fstab を編集して、起動時のパーティションを設定します。以下のように設定しました。

/dev/hda2               /boot           ext3            noauto,noatime          1 2
/dev/hda5               /               ext3            noatime                 0 1
/dev/hda6               none            swap            sw                      0 0
/dev/cdroms/cdrom0      /mnt/cdrom      iso9660         noauto,ro               0 0
none                    /proc           proc            defaults                0 0

次に、root パスワードとユーザの追加を行います。wheel グループに入っていないユーザでは、su コマンドを使用して root にはなれませんので、wheel グループに所属するユーザを一人は作成した方が良いと思います。

# passwd
# useradd <user> -m -G users,wheel -s /bin/bash
# passwd <user>

後は、ホスト名や、/etc/hosts の設定、ネットワーク設定を行います。ホスト名は適当に、「gentoo」という名前に設定し、/etc/modules.autoload には、LAN カードのモジュールを自動的に読み込むように、使用している LAN カードのモジュール名を追加しました。

# echo gentoo > /etc/hostname
# nano -w /etc/hosts
# echo eepro100 >> /etc/modules.autoload

再起動後も、ネットワークの設定が行われるように必要な設定を行います。

# nano -w /etc/conf.d/net
iface_eth0="192.168.0.23 broadcast 192.168.0.255 netmask 255.255.255.0"
gateway="eth0/192.168.0.254"
# rc-update add net.eth0 default

CLOCK とキーマップの設定を行います。

# nano -w /etc/rc.conf

個人的に使用しているのは英語キーボードなので、"us" になっていますが、キーマップは日本語キーボードを使用している場合は、"jp106" とすれば良いと思います。

CLOCK="local"
KEYMAP="us"

章の最初へ | 目次へ

▲ 目次へ戻る


GRUB のインストール

最後に、ブートローダを組み込みます。Gentoo Linux では、ブートローダに、Lilo と GRUB を選択できますが、扱いが簡単なGRUB を使用することにしました。以下のようにインストールを行い、grub を実行します。

# emerge grub
# grub

以下のように GRUB を設定しました。

grub> root (hd0,1) // ブートパーティション(/dev/hda2 に /boot をインストールしたため)
grub> setup (hd0)  // ブートレコードがインストールされている場所。ここでは MBR。
grub> quit

起動時に読み込まれる /boot/grub/grub.conf を作成します。/boot/grub/grub.conf.sample を参考に、第一パーティションにインストールされている Windows 2000 も起動できるように設定しました。

# Boot automatically after 30 secs.
timeout 30

# By default, boot the first entry.
default 0

# Fallback to the second entry.
fallback 1

# Splash Image
splashimage=(hd0,1)/boot/grub/splash.xpm.gz

# Gentoo Linux
title  Gentoo Linux
root (hd0,1)
kernel (hd0,1)/boot/kernel-2.4.20-gentoo-r7 root=/dev/hda5
initrd (hd0,1)/boot/initrd-2.4.20-gentoo-r7

# For booting Windows 2000
title Windows 2000 boot menu
rootnoverify (hd0,0)
makeactive
chainloader  +1

念のため、GRUB のブートディスクを作成しておきます。フロッピーディスクを入れてから実行してください。

# cd /usr/share/grub/i386-pc/
# cat stage1 stage2 > /dev/fd0

▲ 目次へ戻る


再起動

etc-update を実行して、設定ファイルの変更を処理した後、chroot の環境を抜けます。

# etc-update
# exit 

最後に、後処理をして、インストールを終了し、再起動します。

# cd / 
# umount /mnt/gentoo/boot
# umount /mnt/gentoo/proc
# umount /mnt/gentoo
# reboot

これで再起動後に GRUB によるブートローダが起動しますので、Gentoo Linux を選択して起動すればインストールは終了です。

▲ 目次へ戻る


更新履歴

( 2004.11.28 )

この文書が古いものであることを追記

( 2003.11.03 )

全体的に誤字、脱字の修正。設定部分にいろいろと追記。

( 2003.10.13 )

初版作成。公開。

▲ 目次へ戻る

LastUpdate: 2004-11-28 | メモ一覧 | HOME