Linuxを日常的に使う実験ブログ

Gentoo Linuxをインストールする

 2014-08-14

 Gentoo Linux

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