Gentooをインストールしたことがなかったので, Gentooハンドブック通りにやってみる. 日本語版が更新されてないのがよく分かった.

環境

  • uname -a: Linux debian 3.13-1-amd64 #1 SMP Debian 3.13.7-1 (2014-03-25)x86_64 GNU/Linux
  • Virtualbox 4.3.6

1. Gentoo Linuxのインストールについて

  • シンプル,先進的なメタディストリビューション
  • システム全体をスクラッチからでも,コンパイル済みからでも,
  • 半分だけでもおk

2. 適切なインストールメディアの選択

  • http://mirrors.stuhome.net/gentoo/releases/x86/autobuilds/current-iso/install-x86-minimal-20140401.isoを使った
  • GentooインストールCDは独立したGentoo環境を含むブート可能CD
  • install-x86-minimal-<release>.iso
    • ディスク容量が104MBしか使わない
    • 必ずネットワーク上環境が必要
  • stage3 tarball
    • 本マニュアルの対象
    • 現在でもstage1, stage2は配布している
    • ドキュメントもある
  • 書き込んでブートする
  • パラメータを指定する
    • 例えばgentooカーネルにカーネルパラメータdopcmciaを指定するなら,
    • boot: gentoo dopcmciaみたいにする
    • 普通に boot: gentooってやった
  • すぐにキーボードを変更する.
    • 22 JPにする

3. ネットワーク設定

  • 勝手につながってたので飛ばす
  • proxyの設定はこのタイミングで
  • net-setup, pppoe-setup, pptpを使う
    • net-setupが一般的
  • もし,カーネルモジュール(ドライバ)に不足があれば
  • 手動でやる
    • ls /lib/modules3.12.13-gentoo/kernel/drivers/net/
    • から見つけて modprode pcnet32とする
  • 無線の場合はiwconfigでチェック
    • iwconfig eth0 essid hogehogeman
    • iwconfig eth0 key 1234hoehogeman

4. ディスクの準備

  • ブロックデバイス
    • SCASI,SATAは/dev/sd*みたいに
  • パーティション
    • MBRなら
    • 4つの基本パーティション
    • それ以上なら論理パーティションとして
  • partedでパーティション作り
    • パーティションIDは指定するが,
    • ファイルシステム自体は次で作成する
    • parted /dev/sda
    • (parted) print
    • (parted) mklabel gpt # パーティションテーブルをGPTに
    • (parted) rm 2 # いらんパーティションがあれば消す
    • (parted) mkpart primary ext2 0 32mb # /boot
    • (parted) mkpart primary linux-swap 32mb 544mb # swap
    • (parted) mkpart primary btrfs 544mb -1s # /
    • パーティションにbtrfs、ext*、ocfs2またはxfsファイル・システムを作成する場合は、ext4??
  • ファイルシステム作成
    • mkfs.ext2 /dev/sda1
    • mkfs.btrfs /dev/sda3
    • mkswap /dev/sda2
    • swapon /dev/sda2
  • マウント
    • mkdir /mnt/gentoo
    • mount /dev/sda3 /mnt/gentoo
    • mkdir /mnt/gentoo/boot
    • mount /dev/sda3 /mnt/gentoo/boot

5. Gentooインストールファイルをインストールする

  • stage3-i686-20140401.tar.bz2を保存,解凍
  • portageのインストール(/snapshotから)
  • portageのコンパイル設定
    • /mnt/gentoo/usr/share/portage/config/make.conf.exampleを参考に
    • /mnt/gentoo/etc/make.confを設定

6. Gentooベースシステムのインストール

  • DNS情報のコピー
    • cp /etc/resolv.conf /mnt/gentoo/etc
  • chrootで新しい方に潜る
  • 潜ったら
    • env-update #環境変数の変更??
    • source /etc/profile
    • export PS1=”(chroot) $PS1”
  • portage更新
    • emerge –sync
  • profileの確認??
    • eselect profile list
  • USE変数の確認??
    • 第二部に詳細あり

7. カーネル設定

  • emerge gentoo-sources
    • 別ttyでtail -f /mnt/gentoo/var/log/emerge-fetch.logとか
    • usr/src/内に保存
  • emerge pciutilsして,lspciか
  • chroot外で,lspciか
  • lsmodをパクるか
  • make menuconfig
    • Processor type and features –> Processor family
    • Device Drivers –> Generic Driver Options –> Maintain a devtmpfs filesystem to mount as /dev
    • File systems –> Btrfs filesystem support
    • File systems –> Partition Types
    • Enable the block layer
    • あたり注意
  • make -j3
    • CPU you selected does not support x86-64だったので,
    • 64bit kernelを諦める
  • make modules_install
    • /lib/modulesあたりにインストール
  • カーネルイメージを移動
    • cp arch/i386/boot/bzImage /boot/kernel-3.12.13-gentoo-r1
    • /etc/conf.d/modulesあたりでオートロードなモジュールを設定

8. システム設定

  • /etc/fstabを設定していく
    • ここらでvimが欲しくなったので,emerge vim
  • /etc/conf.d/hostname
  • /etc/conf.d/net

9. システムログツール

  • emerge syslog-ng; rc-update add syslog-ng default
    • まあいいや
  • emerge btrfs-progs
    • もう,いらないか...

10. ブートローダを設定する

  • もうgrub2だから英語の方を参考にする
  • emerge sys-boot/grub
  • grub2-install /dev/sda
    • パーティションにbios_grubフラグがないとダメみたい
    • this GPT partition label contains no BIOS boot partition;とか怒られる.
    • (parted) set 1 bios_grub onでおk
    • http://wiki.gentoo.org/wiki/GRUB2
  • grub2-mkconfig -o /boot/grub/grub.cfg
    • /etc/default/grubか/etc/grub.dに書いてもいいけど
    • 書かなくても勝手に探してくれる
    • ファイルシステムを特定できないみたい
    • grub2-probe / => btrfs
    • grub2-probe /boot => unknown filesystem
      • ext2が認識できないのはまずい
      • 恐らくgrub2-installとかでやっちゃったんだと思う

ハマる

  • ここでBIOS boot partitionとBoot Partitionが必要なことに気づく…
  • /bootだけフォーマットしなおす
    • できた
  • マウントしなおして潜る
    • mount /dev/sda3 /mnt/gentoo/
    • mkfs.ext2 /dev/sda4
    • mount /dev/sda4 /mnt/gentoo/boot
    • mount –rbind /dev /mnt/gentoo/dev
    • mount -t proc none /mnt/gentoo/proc
    • mount –rbind /sys /mnt/gentoo/sys
    • chroot /mnt/gentoo /bin/bash * /etc/fstabを治す,カーネルをコピーしてくる * grub2をもっかいインストール
  • grubからgentooを起動する
    • rootのパスワードを設定忘れる
    • 潜ってpasswd root