Geek-Side

このエントリーをはてなブックマークに追加  

2004/08/20

Gentoo Linux のインストール

このページはGentoo Linux をインストールした時のメモです。
Gentoo Linuxのインストールは、一般的なディストリビューションのようにインストールCDを 起動して、後は指示に従うだけと言うものでは無く,大変自由度があるものです
私の環境では以下のような方法でインストールを行いました。

  • KNOPPIXを用いてマシンを起動する。
  • stageファイルをネットワークから取得する。
  • インストールはstage1から行う。

このページの解説は、KNOPPIXを用いてインストールを行ったと言う点で 若干イレギュラーな部分もありますので、参考になればと思います。

※Gentoo LinuxのドキュメントとしてはGentoo Linuxハンドブックと呼ばれる大変詳しいドキュメントを、 有志の方が作成、翻訳して下さっています。

マシンスペック

今回インストールを行うマシンのスペックは次の通りです。
マシン名SONY VAIO PCG N505A
CPUCeleron 366MHz
メモリー64MB
HD6G
LANUSB LAN BUFFALO LUA-KTX
CDドライブSONY PCGA-CD51

KNOPPIXの利用

Gentoo Linuxのインストールには、手元にあるGentoo Linux 1.4のCDから行いましたが、 正常にインストールCDが起動しませんでした。
そこで、KNOPPIXからマシンを起動し、Gentooをインストールする方法をとりました。

今回使用したのはKNOPPIX 3.2です。KNOPPIXではデフォルトではKDEが起動しますが、
今回はKDEは必要ないので、コンソールログインを行います。
'boot'とプロンプトが現れたら、

boot:vaio nopcmcia=knoppix 2
と入力すると、正常に起動しました。

環境の設定

Rootパスワードの設定を行います
# passwd

設定するパスワードを2度入力するように求められます。
同じパスワードを2度入力してください。

IPアドレスの設定を行います。例ではIPアドレスを 192.168.1.1 に設定しています。
# ifconfig eth0 192.168.1.1

ゲートウェイの設定を行います。
例ではゲートウェイとして、192.168.1.2を指定しています。
# route add default gw 192.168.1.2

DNSを設定するために、/etc/resolv.confを以下のように編集します。
例ではDNSサーバーとして、192.168.1.3を指定しています。
nameserver 192.168.1.3

必要のない人もいるでしょうが、私はデスクトップマシンからリモートで作業したいので、 SSHを立ち上げます。
	      #  /etc/init.d/ssh start
	    

SSH起動後、SSHクライアントソフトを用いて、リモートログインします。
デフォルトの設定ではrootアカウント/パスワードでログインできます。
先ほど設定したパスワードで入力します。

インストールの準備

fdiskを用いてパーティションの作成を行います。
# fdisk /dev/hda

パーティションの作成については、ハードディスクの容量や用途等で千差万別だと思います。
今回の場合は以下の様にパーティションを作成しました。
Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1          14      112423+  83  Linux
/dev/hda2              15         527     4120672+  83  Linux
/dev/hda3             528         730     1630597+  83  Linux
/dev/hda1・・・Bootパーティション
/dev/hda2・・・Swapパーティション
/dev/hda3・・・/ パーティション
	    
ファイルシステムとしてはext3を採用しました。ext3パーティションを作成します。
# mkfs.ext3 /dev/hda1
# mkfs.ext3 /dev/hda3

スワップパーティションを作成します。
# mkswap /dev/hda2

スワップを有効にします。
# swapon /dev/hda2

各パーティションをマウントするためのディレクトリ作成し、マウントします。
# mkdir /mnt/gentoo
# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot

インストール

ステージ圧縮ファイルのダウンロードを行います。
lynxを用いて、ステージ圧縮ファイルをダウンロードします。
なお、Stage1からはじめる事とします。
http://gentoo.osuosl.org/releases/x86/2004.2/stages/x86/
にアクセスし、stage1-x86-2004.2.tar.bz2 をダウンロードし /mnt/gentoo に保存します。
保存した圧縮ファイルを展開します。
# cd /mnt/gentoo
# tar -xvjpf /mnt/gentoo/stage1-x86-2004.2.tar.bz2

chroot環境の準備のために、マウントとDNSの設定を行います。
# mount -t proc proc /mnt/gentoo/proc
# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

chroot環境に入ります。
# chroot /mnt/gentoo /bin/bash
# env-update
>>> Regenerating /etc/ld.so.cache...
# source /etc/profile

最新のPortage ツリーを取得を取得します。
# emerge sync

コンパイルオプション変更のため、/etc/make.confの編集をします。
編集にはGentoo Linuxに標準で付属の nano と言うエディタを用います。
# nano -w /etc/make.conf

今回のシステムはCerelon 366Mhzのマシンです。
/etc/make.confは以下のようになりました。
CFLAGS="-march=pentium2 -O3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"

ブートストラップを実行します。
# cd /usr/portage
# scripts/bootstrap.sh
今回のような貧弱なマシンでは結構時間がかかります。気長に待ちましょう。
ブートストラップを実行完了後,残りのシステムをインストールします。 まずはインストールされるパッケージを確認後にインストールを実行します。
# emerge -p system
# emerge system

私は viエディターが好きなので、viエディターをインストールします。
# emerge app-editors/vim

タイムゾーン設定を行います。
# ln -sf /usr/share/zoneinfo/Japan /etc/localtime

/etc/fstab を編集し、マウントするパーティションを設定します。
# vi /etc/fstab
/dev/hda1               /boot           ext3            noauto,noatime  1 1
/dev/hda3               /               ext3            noatime         0 0
/dev/hda2               none            swap            sw              0 0
none                    /proc           proc            default         0 0
	    

Gentoo Linuxではさまざまなカーネルが用意されていますが、オーソドックスなgentoo-sources をインストールしました。
# emerge gentoo-sources

カーネルの構築を行います。
# cd /usr/src/linux
# make menuconfig

以下のオプションを確認します。
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers"

File systems --->
<*> Ext3 journalling file system support
[*] Virtual memory file system support (former shm fs)
[*] /proc file system support
[*] /dev file system support (EXPERIMENTAL)
[*]   Automatically mount at boot
[ ] /dev/pts file system for Unix98 PTYs

USB support  ---> 
<*>   USB Realtek RTL8150 based ethernet device support (EXPERIMENTAL│ 
(LUA-KTX用)
	    

カーネルをコンパイルします。
# make dep && make clean bzImage modules modules_install

ブートイメージをコピーします。
# cp /usr/src/linux/arch/i386/boot/bzImage /boot

syslogとcronをインストールし、デフォルトランレベルに設定します。
# emerge sysklogd
# rc-update add sysklogd default
# emerge dcron
# crontab /etc/crontab
# rc-update add dcron default

ネットワークの設定をします。起動時にネットワークデバイスも起動するようにします。
# rc-update add net.eth0 default

ネットワーク起動時のIPアドレス、Gatewayを設定するために
起動オプションを編集します。編集するファイルは /etc/conf.d/net です。
iface_eth0="192.168.1.1 broadcast 192.168.1.255 netmask 255.255.255.0"
gateway="eth0/192.168.1.2"

普段作業するためのユーザーを作成し,パスワードを設定します。 またユーザーが su できるようにwheelグループへ所属させています。
# useradd hoge -m -G users,wheel -s /bin/bash
# passwd hoge
-m ホームディレクトリが存在しない場合作成される。
-G ユーザーが所属するグループのリスト
-s ログインシェルの名前

ホスト名を gside.org に設定します。

# echo gside.org > /etc/hostname

キーマップの設定のために /etc/rc.conf を修正します
KEYMAP="jp106" CLOCK="local"

GRUBのインストール

BOOTローダーGRUBをインストールします。
# emerge -pv grub
# emerge grub
GRUBを実行します。
# grub

grub>とプロンプトが現れるので、以下のコマンドでインストールします。 ここでは、GRUBをMBR(マスターブートレコード)にインストールするものとします。
grub> root (hd0,0)
grub> setup (hd0)

/boot/grub/grub.confを編集します。今回のマシンでは以下の様になりました。

# OS選択画面での停止時間(秒)を指定します。
# この時間を過ぎると、デフォルトのOSが起動されます。
timeout 5

# デフォルトで選択されるOSを指定します。
# 1番目のOSをデフォルトにするには 0 を指定します。
default 0

# GRUBの画面イメージの場所を指定します。
splashimage=(hd1,0)/boot/grub/splash.xpm.gz

## Linux 起動用の設定--------------------------------
# OS選択画面で表示されるタイトル
title Gentoo Linux
# GRUBが格納されているパーティション
root (hd0,0)
# カーネルイメージのパスとカーネル起動時のオプション
kernel (hd0,0)/boot/bzImage root=/dev/hda3

以上でインストールは完了です。マシンをrebootします。
# chroot環境から抜けます。
# exit
# cd /

# マウントを解除します。
# umount /mnt/gentoo/boot
# umount /mnt/gentoo/proc
# umount /mnt/gentoo

# システムを再起動します。
# reboot

Index
Gentoo Linuxのインストール
Hardened Gentoo のインストール
Gentoo Linux のセキュリティアップデート

このエントリーをはてなブックマークに追加   ツイート