Gentooのインストール方法
Webサーバが欲しくなったので, 余っているマシンにGentooをインストールします.
カーネルはマニュアルコンフィグレーションで, その手順を備忘録として残します.
設定については吟味していません.
使用するコマンドの意味までは言及しないので, 調べ理解した上で先に進んで欲しいです.
なお, 以下の手順でインストールした際のいかなる損害やトラブルの責任は一切負いかねるので, パソコンから火が出て爆発したり, 宇宙線の影響でデータが破損しても知りません.
1. Gentooインストールの準備
まず, GentooミラーサイトからMinimalCDイメージをダウンロードします.
releases/各自のアーキテクチャ/autobuilds/current-isoに最新版のisoが置いてあります.
以下, amd64を選択したものとしてインストールを行います.
CDに書き込み出来たらさっそくインストールCDをブートします.
boot: gentoo
と入力してしばらく待つと, キーボード選択画面になるので好きな番号を押します.
日本語のキーボードが良い人は22と入力します.
livecd ~ #
とrootでログインが出来たはずです.
ネットワークが設定されていない場合, 以下のツールで簡単に設定出来ます.
# net-setup enp2s0
次に, カーネル構築を簡単にするために以下のコマンドを実行し, 赤字部分をメモしておきます.
# lspci -k |grep driver Kernel driver in use: pcieport Kernel driver in use: uhci_hcd Kernel driver in use: echci-pci Kernel driver in use: snd_hda_intel Kernel driver in use: e1000e Kernel driver in use: ahci Kernel driver in use: pata_jmicron # lspci -k |grep modules Kernel modules: uhci_hcd Kernel modules: ata_piix, pata_acpi, ata_generic Kernel modules: snd_hda_intel Kernel modules: e1000e Kernel modules: ahci Kernel modules: pata_jmicron, pata_acpi, ata_generic
2. パーティションの作成
パーティションの作成にはfdiskを使います.
# fdisk /dev/sda
用途や環境に応じて分割の基準は変わるので, 今回行った構成を例として載せておきます.
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x99089908 Device Boot Start End Blocks Id System /dev/sda1 * 2048 20973567 10485760 83 Linux /dev/sda2 20973568 54527999 16777216 82 Linux swap / Solaris /dev/sda3 54528000 222300159 83886080 83 Linux /dev/sda4 222300160 1953525167 865612504 5 Extended /dev/sda5 222302208 327159807 52428800 83 Linux /dev/sda6 327161856 1953525167 813181656 83 Linux
3. ファイルシステムの作成
各パーティションに, 今回はext4ファイルシステムを適用します.
(btrfsではないです)
# mkfs.ext4 /dev/sda1 (bootパーティションへの適用) # mkswap /dev/sda2 (swapパーティションの初期化) # swapon /dev/sda2 (swapパーティションの有効化) # mkfs.ext4 /dev/sda3 (rootパーティションへの適用) # mkfs.ext4 /dev/sda5 (homeパーティションへの適用) # mkfs.ext4 /dev/sda6 ( varパーティションへの適用)
4. パーティションのマウント
# mount /dev/sda3 /mnt/gentoo (rootパーティションのマウント) # mkdir /mnt/gentoo/boot (boot用のディレクトリ作成) # mount /dev/sda1 /mnt/gentoo/boot (bootパーティションのマウント)
5. 日時の確認
# date もしズレていたら, 以下のように設定. # date MMDDhhmmYYYY M(月), D(日), h(時), m(分), Y(年)
6. 各種ダウンロードとインストール
インストール先のマウントポイントへ移動し, stageとportageのダウンロード.
# cd /mnt/gentoo # links http://www.gentoo.org/main/en/mirrors.xml releases/amd64/autobuilds/current-stage3-amd64/stage3-amd64-.tar.bz2 snapshots/portage-latest.tar.bz2
stageとportageのインストール.
# tar xvjpf stage3-*.tar.bz2 # tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
7. chrootで新しい環境へ入る
chrootの準備として, 各種設定を行います.
ミラーサイトとSYNC変数の設定.
# mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf # mirrorselect -i -r -o >> /mnt/gentoo/etc/portage/make.conf
DNS情報のコピー.
# cp -L /etc/resolv.conf /mnt/gentoo/etc/
/proc, /devファイルシステムのマウント.
# mount -t proc none /mnt/gentoo/proc # mount --rbind /dev /mnt/gentoo/dev
新しい環境へのchroot.
# chroot /mnt/gentoo /bin/bash # env-update # source /etc/profile # export PS1="(chroot) $PS1"
8. portageシステムの設定
chrootで新しい環境へ入ったので, portageツリーを更新します.
# emerge --sync --quiet
自分にあったprofileの選択をします.
# eselect profile list # eselect profile set 設定したい番号
9. コンパイルオプションとUSEフラグの設定
コンパイルオプションの設定をします.
# gcc -v -xc -march=native /dev/null 2>&1|grep cc1 >> /etc/portage/make.conf # nano -w /etc/portage/make.conf
make.confに次のような行が追記されます.
/usr/libexec/gcc/x86_64-pc-linux-gnu/4.7.3/cc1 -quiet -v /dev/null -march=core2...
-marchから-quietまでをCFLAGSの-pipe以下に貼り付けます.
USEフラグは, make.confのUSEよりあとに記述します.
用途や環境に応じて変わるので, 必要だと思うものを設定してください.
10. glibcのロケール設定
必要なロケールを指定します. 今回は私の例を載せておきます.
# nano -w /etc/locale.gen en_US ISO-8859-1 en_US.UTF-8 UTF-8 ja_JP.EUC-JP EUC-JP ja_JP.UTF-8 UTF-8 ja_JP EUC-JP # locale-gen
11. カーネルのマニュアルコンフィグレーション
いよいよお待ちかねのカーネルのマニュアルコンフィグレーションです.
ソースをインストールします.
# emerge gentoo-sources
シンボリックリンクの確認をします.
# ls -l /usr/src/linux lrwxrwxrwx 1 root root 20 Feb 25 00:00 /usr/src/linux -> linux-3.10.25-gentoo
カーネルのマニュアル設定を行います.
# cd /usr/src/linux # make menuconfig
まず, "/"キーを押してSearch Configuration Parameterを開きます.
ここで, 1章にてメモしたドライバとモジュールを検索し設定します.
残りは, 環境によって違うので簡単な流れだけ載せておきます.
・Processor familyをマシン構成に併せて設定.
・要らないドライバやモジュールを削る.
・nVidiaカードを使っている人はnouveauにチェックを入れ以下を行う.
/etc/portage/make.confにVIDEO_CARDS="nouveau"と追記. emerge -1 xorg-driversを行う.
構成が完璧に出来たと思ったら, コンパイルとインストールをします.
実際には出来ていない事が多いですが, とりあえず先に進みます.
(ext4やdevtmpfsは最近だとチェック済みなので死ぬことは少ないと思います)
# make && make modules_install && make install
12. Gentooのシステム設定
fstabを作成しファイル情報を記入します.
以下は私の設定例です.
# nano -w /etc/fstab /dev/sda1 /boot ext4 noauto,noatime 0 2 /dev/sda2 none swap sw 0 0 /dev/sda3 / ext4 noatime 0 1 /dev/sda4 none ext4 noatime 0 2 /dev/sda5 /home ext4 noatime 0 2 /dev/sda6 /var ext4 noatime 0 2 /dev/cdrom /mnt/cdrom auto noauto,ro 0 0
ホストネームの設定
# nano -w /etc/conf.d/hostname hostname="お好みで"
ネットワークの恒久設定(DHCPの場合)
# nano -w /etc/conf.d/net config_enp2s0="dhcp" # cd /etc/init.d # ln -s net.lo net.enp2s0 # rc-update add net.enp2s0 default # emerge dhcpcd
13. ブートローダの設定
今回はgrub2を使った設定例を載せておきます.
# mount /boot # emerge grub # grub2-install /dev/sda # nano -w /boot/grub/grub.cfg default 0 timeout 2 menuentry 'Gentoo Linux 3.10.25' { root=hd0,1 linux /boot/vmlinuz-3.10.25-gentoo root=/dev/sda3 } menuentry 'Gentoo Linux 3.10.25 (rescue)' { root=hd0,1 linux /boot/vmlinuz-3.10.25-gentoo root=/dev/sda3 init=/bin/bb } # grub2-mkconfig -o /boot/grub/grub.cfg
この後, /etc/default/grubに色々できるので次からそちらを変更してください.
エラーがなければrootのパスワードを設定した後, rebootしてください.
もし, カーネルパニックが起きた場合, 再度マウントしてchrootし調整してください.
無事にGentoo/Linuxが起動できれば成功です.
この後は, LM(SLiM)やWM(Awesome)を入れGUI環境を整えたり, 細かい設定を行い自分好みのマシンに仕上げていきましょう.
参考文献
Gentoo Linux -- Gentoo Linux News
nouveau - Gentoo Wiki
GRUB2 Quick Start - Gentoo Wiki