Gentoo Linuxをインストールする

こんにちは。今回のテーマはGentoo Linuxのインストールです。Gentooはインストールの方法や自分で好きなように環境構築できる点がArch Linuxと似ているディストロです。一般的に難しいというイメージを持たれがちですが、実際使ってみると噂ほどではありません。(極めるのは難しいでしょうが)ただ、Gentooはビルドをインストールの基本とするため時間がかかります。時間の余裕のある時にチャレンジしてみてください。インストールは基本的には公式ハンドブックを見ながら行いました。しかし、やや古くなっている部分もあるので注意が必要です。
※2015年8月20日:現在のハンドブックに合わせて一部修正しました。
【関連記事】
Gentoo LinuxをUEFI + GPT環境にインストールする



【目次】
インストール環境と構築するシステム
Minimal CDの準備
ネットワークの準備
ディスクの準備
インストールファイルのインストール
Gentooベースシステムの設定
カーネルの設定
システムの設定とローカライズ
ブートローダの設定
システムの再起動

インストール環境と構築するシステム

<インストール環境>

マシン:SONY VAIO VGC-LB91S
CUP:Intel Core 2 Duo
HDD:90 GB
RAM:2 GB
PCファームウェア:BIOS
ネットワーク:有線/無線

<構築する予定のシステム>

アーキテクチャ:i686(32bit)
initシステム:OpenRC
ブートローダー:Grub2
日本語入力:Fcitx
デスクトップ環境:Fvwm-crystal

Minimal CDの準備と起動

Minimal CDの入手
http://www.gentoo.org/main/en/where.xmlにアクセスし、目的のインストールメディアを入手します。今回はinstall-x86-minimal-.isoを用いました。
Minimal CDの起動
作成したCD(またはDVD)を入れてマシンを起動します。待っているとboot:gentooで起動します。
突然キーレイアウトを聞かれますので「22」と打って日本語キーレイアウトにします。
(USキーボードの方は不要、その他の言語キーボードの方は表示を見て対応してください)

ネットワークの準備

インストールは有線LANで行うことをオススメします。無線LANの構築はシステム構築後にトライするのが賢明かと思います。これより先は有線LANを前提に進めます。

ネットワーク接続確認

多くの場合はLive DVDのシステムが自動でネットワークデバイスを読み込み自動でネットワーク接続を行います。以下コマンドで接続有無を確認します。

ping -c 3 www.google.com
ping: unknown host 

のエラーが出たら接続が確立されていません。
コチラを見ながら設定作業をしてください。

ディスクの準備

Arch Linuxのインストールでも書きましたが、パーティショニング作業はGUIツールを使うのが初心者の方にはオススメです。何がなんでもCUIツールで行う必要は無いと思います。

パーティションの完成図

Gentooの注意点はbootバーティションを別途用意することが推奨される点です。(必ずしも必須ではないですが)公式ハンドブックに沿ってインストールをする場合にはbootバーティションを作っておいたほうが良いです。

また、UEFIマシンの場合はGentoo LinuxをUEFI + GPT環境にインストールするをご覧ください。
筆者のパーティショニングは以下のとおりです。

sda        8:0    0  93.2G  0 disk 
├─sda1   8:1    0    32M  0 part /boot 
├─sda2   8:2    0     4G  0 [swap]  
└─sda3   8:3    0  89.1G  0 part /  

MBRパーティーテーブルの場合:fdiskを使用

Biosシステムで特段の理由がなければMBRパーティションで良いと思います。この場合はfdiskというツールを使っていきます。以下コマンドでfdiskを起動しパーティショニングを開始します。

# fdisk /dev/sda 

fdiskは”m”を押すとヘルプを読むことができます。迷った時には役立ちます。また、”w”を押して確定するまでは修正が可能なので安心して作業してください。
以下にfdiskでのbootパーティション作成例を示します。
<パーティションテーブルを作成>

Command (m for help): o と入力して Enter を押す

<パーティションを作成>

Command (m for help): n と入力して Enter を押す
Partition type: Select (default p): Enter を押す
Partition number (1-4, default 1): Enter を押す
First sector (2048-209715199, default 2048): Enter を押す
Last sector, +sectors or +size{K,M,G} (2048-209715199....., 
default 209715199): +80G (作りたい容量を指定) と入力して Enter を押す

<作成したパーティションの確認>

Command (m for help): p と入力して Enter を押す

<変更をディスクに書き込み>

Command (m for help): w と入力して Enter を押す

GPTの場合:partedを使用

UEFIシステムの方はGPTでパーティショニングをしてください。その場合fdiskは使えませんのでpartedというツールを使用してください。詳細はコチラをご覧ください。

ファイルシステムの作成

以下コマンドを実行し、sda1をext2,sda2をswap,sda3をext4のフォーマットにしました。

# mkfs.ext2 /dev/sda1
# mkfs.ext4 /dev/sda3
# mkswap /dev/sda2
# swapon /dev/sda2

ディスクのマウント

以下コマンドを実行しディスクをマウントする。

# mount /dev/sda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda1 /mnt/gentoo/boot

インストールファイルのインストール

日時の修正

まず日付を正確に合わせます。
<日時の確認>

# date 

<日時の設定>

# date [MMDDhhmmYYYY] 

stagetarballのダウンロードとインストール

# cd /mnt/gentoo
# links http://www.gentoo.org/main/en/mirrors.xml

国内のミラーリンクを選択し
releases/x86/autobuilds/ディレクトリに移動しstage3-i686-.tar.bz2をダウンロードします。ダウンロードは”d”を押せばOKです。
以下コマンドで展開します。

# tar -xvjpf stage3-i686-.tar.bz2

※オプション”p”はパーミッションの付加に必要なので省略しないこと
porgageのスナップショットをこの段階でダウンロードしても構いません。詳細はportageのインストールの部分で触れます。

コンパイルオプションの変更

以下コマンドでmake.confを編集
※make.confはハンドブックと異なるため要注意

# nano -w /mnt/gentoo/etc/portage/make.conf

筆者の場合はデフォルトの設定に以下を追加しました。

MAKEOPTS="-j3"
LINGUAS="en ja"

Gentooベースシステムの設定

公式ハンドブックではミラーリンクの設定をするようになっていますが、mirrorselectコマンドがうまく働かず、設定ファイルに反映されませんでしたので無視して勧めます。

chrootする

<DNS情報のコピー>

# cp -L /etc/resolv.conf /mnt/gentoo/etc/

</procと/devファイルシステムのマウント>

# mount -t proc proc /mnt/gentoo/proc
# mount --rbind /dev /mnt/gentoo/dev
# mount --rbind /sys /mnt/gentoo/sys

もしsystemdを導入する場合は以下のコマンドも実行しておいて下さい。今回はOpen-RCのため割愛します。

# mount --make-rslave /mnt/gentoo/sys
# mount --make-rslave /mnt/gentoo/dev

<新環境へのchroot>

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

portageのインストール

CASE 1:emerge-webrsyncを使う
こちらの方が公式ページで紹介されている方法であり、より簡単にportageを導入できるようになっています。以下コマンドを実行するだけです。

# emerge-webrsync

CASE 2:手動によるインストール
※CASE 1でemerge-webrsyncを実行した場合は不要です。
従来通り手動でportageのスナップショットをインストールする場合は以下の操作を行って下さい。

# cd /
# links http://www.gentoo.org/main/en/mirrors.xml

国内のミラーリンクのsnapshots/ディレクトリに移動してportage-latest.tar.bz2をダウンロードします。
では展開しましょう。

# tar xvjf portage-latest.tar.bz2 -C /usr

portageシステムの設定

<portageツリーの更新>

# emerge --sync

<profileの設定>
以下コマンドで使用可能なprofile一覧が現れる

# eselect profile list

以下コマンドでprofileを変更する。

# eselect profile set [番号]

筆者は以下の設定にしました。

default-linux/x86/10.0/desktop *

<USEフラグの設定>
利用可能なUSEフラグは以下コマンドで確認

# less /usr/portage/profiles/use.desc

以下コマンドでmake.confを修正

# nano -w /etc/make.conf

筆者の設定は以下のとおり(かなり適当です)
後にいくらでも修正可能なので気負わなくて大丈夫です。

USE "bindist x acpi alsa dbs dvd flac gimp git gtk gzip mp3 ogg wifi networkmanager cdr -gnome"

カーネルの設定

今回はマニュアルでコンフィギュレーションしました。
以下コマンドでカーネルをインストールしコンフィギュレーションメニューを開く

# emerge gentoo-sources
# cd /usr/src/linux
# make menuconfig

コンフィギュレーションについて具体的なことは書けないのですが、何回でもやり直せますのでハードの情報をよく調べて挑戦してください。デバイスに関する情報はlspciコマンドで得られます。特に注意すべき点はCPUの種類、ファイルシステム、USBサポート、ネットワークデバイスサポートぐらいでしょうか。納得のいく設定ができたらカーネルをビルドしてインストールします。

# make && make modules_install
# make install

システムの設定とローカライズ

fstabの作成

以下コマンドでfstabを編集します。

# nano /etc/fstab

“boot”,”root”,”swap”の部分をそれぞれ”sda1,”sda3″,”sda2″に置き換えればOK。

各種必要なパッケージのインストール

必要と思われるパッケージをインストールします。私の場合はdhcpcdは必須です。

# emerge dhcpcd

vimmerな方はここでvimをインストールしても良いのではないでしょうか。

# emerge vim

ネットワークの設定

ネットワークがシステム起動時に起動するように設定しておきましょう。
ネットワーク名はeth0とかenp0s3などが当てられていると思います。ifconfigで確認し、設定しましょう。

設定例

# cd /etc/init.d
# ln -s net.lo net.enp0s3
# rc-update add net.enp0s3 default

Rootパスの設定

以下コマンドでルートパスを設定します。

# passwd
New password : ********

ローカライズ

コンソール環境のローカライズをしておきます。
<タイムゾーン>
日本国内に住んでる場合

# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

<キーボードレイアウト>

# nano /etc/conf.d/keymap

以下のように修正

KEYMAP="jp106"

<言語>
/etc/locale-genの編集

# nano /etc/locale-gen

以下のように修正、あるいはコメントアウトを外す

en_US.UTF-8
ja_JP.UTF-8

以下コマンドを実行

# locale-gen

ブートローダの設定

Grub2のインストール

以下コマンドでGrub2をインストールします。

# emerge sys-boot/grub
# grub2-install /dev/sda
# grub2-mkconfig -o /boot/grub/grub.cfg

カーネルのビルドがトラブルなく終わっていればここでカーネルが検出されるはずです。一つも検出されない場合は/bootディレクトリでlsで確認してください。

システムの再起動

以下コマンドを実行し、マウント解除と再起動を実行する。再起動時はMinimal CDを抜くのを忘れずに。

# exit
cdimage ~# cd
cdimage ~# umount -l /mnt/gentoo/dev{/shm,/pts,}
cdimage ~# umount -l /mnt/gentoo{/boot,/proc,}
cdimage ~# reboot

ひとまず、ここまでとします。お疲れ様でした。次回以降でGentoo LinuxにGUI環境と日本語環境の構築について書ければと思います。

Sponsored Link


5件のコメント

  • クロさん
    こんにちはっ Habitat です

    すごいなぁ~ Arch に続き Gentoo とは・・・
    私は全く手が出ませんww(いつかやってみたいけどね)

    Gentoo はマイナー好きな私にとってはすごく魅力的なディストリビューションですが、敷居が高そうなので敬遠していますが、どっかのタイミングで Itary の Sabayon Linux はやろうかと思ってます(Arch に対する Manjaro みたいなもんですね)

    • Habitatさん

      こんにちは。
      最小環境から自分なりに環境を構築できるという点ではArchもGentooも
      とても面白いディストロだと思います。
      (この手のディストロはLSFとかSlackwareとかまだまだありますが・・・)

      Gentooはインストール中にカーネルコンパイルがあるので少々ハードル高めですが
      ハンドブックも親切なので遭難はしないと思いますよ。

      Sabayonも有名ですね。
      Gentooほどピーキーな調整じゃなく普段使いのマシンには丁度良いかなと想像してます。
      機会があれば使ってみたいです。

  • mirrorselectは必要なミラーをスペースで選択してから保存すれば可能です。
    もしかしたらリダイレクトでファイルに書き出すようにしないといけないかも?
    よく覚えていませんが…

  • 何点か疑問点あります。

    項目:portageシステムの設定>USEフラグの設定
    nano -w /etc/make.conf ではなく nano -w /etc/portage/make.conf ではないでしょか

    項目:ローカライズ>キーボードレイアウト
    nano /etc/conf.d/keymap はnano /etc/conf.d/keymapsではないでしょうか

    項目:ローカライズ>言語
    nano /etc/locale-gen ではなく nano /etc/locale.genではないでしょうか

    • ななしっくす さん

      いろいろと不備がありまして申し訳ありません。
      ご指摘ありがとうございます。

      > nano -w /etc/make.conf ではなく nano -w /etc/portage/make.conf ではないでしょか
      おっしゃるとおり、現在は/etc/portage/make.confになりました。
      古いまま放置しておりました。

      > nano /etc/conf.d/keymap はnano /etc/conf.d/keymapsではないでしょうか
      タイプミスです。修正しておきます。

      > nano /etc/locale-gen ではなく nano /etc/locale.genではないでしょうか
      タイプミスです。修正しておきます。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です