備忘録 blog

Docker/Machine Learning/Linux

Gentoo Linuxをインストールする

パーティション設定

* sda2 128M part /boot ext2
* sda3 論理パーティション
    * sda5 8G swap
    * sda6 96.8G part / btrfs

メモリを2GBしか積んでいないので、コンパイル時にSwap領域を使うかと思って8GBぐらい確保しておいた。 btrfsが死なないことを祈る。

インストールの流れ

  • 予め他のlivecdでgpartedなどを使ってパーティションを切っておく。
  • Livecdで起動し、hddをマウントしてchrootする。(手元にあったArchbootを使ったが問題なし。)
  • sshdを立てて、ssh接続でインストールした。wikiをみながら作業するとよいと思う。
  • locale等の諸設定をして、カーネルの設定をしてカーネルmakeする。何度やってもよい。
  • grubの設定をして(重要)、再起動してhddから起動するようにBIOSを設定する。
  • 起動したらインストール自体は成功。うまくいっていない場合はchrootからやり直し。

はまったこと

  • ネットワークのドライバが入っていないために、有線LANにつながらない。
  • startxすると怒られる。RADEONのドライバを認識してくれない。
  • 何度もライブcdからchrootし直すはめになる。
  • コンパイル中は暇。

対策

カーネルの設定時に忘れずにネットワークカードを選択する。

lspci -k | grep driver

をlivecdでした際の結果と、gentoo内でした結果を比較して、足りないドライバーをカーネルコンパイルオプションで追加する。 カーネルビルトインではなくモジュールで追加するようにすると、動かすものを明示的に指定できるためうまくいくことがある。

d.hatena.ne.jp

RADEON系のグラボを使っている場合、xf86-video-atiを使うことになるが、その際はカーネルでbinファイルを指定しなければならない。

startxしたときのエラーメッセージに、Device(s) detected, but none match those in the config fileとかいう文が入っていたら、ドライバが正しく動いていないことがある。

fglrx - Gentoo Wiki

amdのドライバはプロプライエタリなもの(Fglrx)とオープンソースのものがあるが、上をみるとRADEONの古いバージョンだと新しいxorgを入れられないということがわかったので、オープンソースのドライバを選択することにした。

radeon - Gentoo Wiki

これを読んで、カーネルの設定で正しくradeon/<YOUR-MODEL>.binを指定しなければならない。ドライバが認識されると、コンソールの解像度が適切なものになる(はず)

何度でもchrootし直すはめになる

mkdir /mnt/gentoo 
mount /dev/sda6 /mnt/gentoo
mount /dev/sda2 /mnt/gentoo/boot
mount -t proc proc /mnt/gentoo/proc
mount --rbind /dev /mnt/gentoo/dev
mount --rbind /sys /mnt/gentoo/sys
chroot /mnt/gentoo /bin/bash

source /etc/profile

その都度livecdから入り直し、上のコマンドをコピペして対応した。

うどんワールドする

ソフトウェアの更新をする際に。

# emerge -uDN @world

これで依存関係と新しいUSEフラグを含めて、アプリケーションをすべて更新できる。俗に言う「うどんワールド」である。

参考ページ

http://syusui.tumblr.com/post/17262231474/gentoo-linux-インストール-メモ
syusui.tumblr.com

Gentoo Linuxをインストールする

ハンドブック:AMD64 - Gentoo Wiki

ビギナーズガイド - ArchWiki

なんだかんだarchwikiは頼りになる。