blog.sorah.jp

新マシン環境構築 (3) Gentoo を入れる

新マシンの Windows をある程度設定した ということで Gentoo を入れます.

ただ,窓から Windows 投げ捨てたりはしませんが.

パーティションを切る

特に何も考えず,ブートフラグをいじらずに /dev/sda3 に ext4, /dev/sda4 に swap を作る.

Windows 7 はブート用に1つパーティションを作るのが注意点ですね.

普通にインストールを進めます

ハードウェア情報

Prime Galleria SH + ブルーレイ のハードウェア情報

lspci

livecd ~ # lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b5)
00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b5)
00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation H67 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 VGA compatible controller: nVidia Corporation GF116 [GeForce GTX 550 Ti] (rev a1)
01:00.1 Audio device: nVidia Corporation GF116 High Definition Audio Controller (rev a1)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
04:00.0 USB controller: Etron Technology, Inc. EJ168 USB 3.0 Host Controller (rev 01)
05:00.0 USB controller: Etron Technology, Inc. EJ168 USB 3.0 Host Controller (rev 01)

lsusb

ただし バッファローのWi-Fiドングル, HHKB, Logitech Unifying レシーバ, Logitech QuickCam Pro 9000 込

livecd / # lsusb
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 006: ID 0853:0100 Topre Corporation HHKB Professional
Bus 002 Device 005: ID 046d:0990 Logitech, Inc. QuickCam Pro 9000
Bus 002 Device 004: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 002 Device 003: ID 0411:0158 MelCo., Inc. Buffalo WLI-UC-GNHP Wireless LAN Adapter
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

カーネルコンフィグ

USB 3.0 サポートをいれてみる.たぶんこれでいいはず...

Device Driver --->
    USB Support --->
        <M> xHCI HCD (USB 3.0) support (EXPERIMENTAL)

USB WebCam とそのマイクのサポート

Device Driver --->
    <*> Multimedia Support --->
        <M> Video For Linux
    <*> Sound card support -->
        <*> Advanced Linux Sound Architecture -->
            [*] USB sound devices -->
                <M> USB Audio/MIDI driver

今回の場合,Ethernet も何もしなかったら後で eth0 なんてねーよ^^ って言われるのでちゃんと選びましょう. これを怠って起動した時にエラーがぼーんしました.

Device Driver --->
    Network Device Support --->
        Ethernet Driver Support --->
            [*] Realtek Devices -->
            [*]    Realtek 8168 gigabit ethernet support

バッファローの WLI-UC-GNHP 無線 LAN アダプタは,特に Vendor/Device ID パッチやサードパーティの物を使わなくともカーネルの以下のオプションを有効で大丈夫. ただし後でファームウェアを入れる必要がある.

Device Driver --->
    Network Device Support --->
        Wireless LAN --->
            <*> Ralink driver support  --->
                <*> Ralink rt27xx/rt28xx/rt30xx (USB) support
                [ ]   rt2800usb - Include support for rt33xx devices
                [ ]   rt2800usb - Include support for rt35xx devices (EXPERIMENTAL)
                [ ]   rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)
                [ ]   rt2800usb - Include support for unknown (USB) devices

ファームウェアは sudo emerge linux-firmware すればいい.

KVM サポートもいれる

Virtualization -->
    <M> Kernel-based Virtual Machine (KVM) support
    <M>   KVM for Intel processors support

で,適当に /etc/conf.d/modules にこれを設定する

modules="udf kvm kvm-intel videodev v4l2-common xhci-hcd snd-usb-audio"

GRUB

他に GRUB の設定については,スプラッシュを設定すると HDMI 出力の所為か出力先の所為かうまく選択画面が出現しないので,splash は設定しない方が良い感じ.

とりあえずこれでハンドブック通り再起.

その他

  • make.conf には MAKEOPTS="-j9" を設定したりしました
  • インストール後 emerge sudo, visudo で wheel グループに sudo を許可する
  • gentwoo を入れて設定

X 設定

今回のこのマシンは Nvidia のグラボを積んでいるので emerge -av nvidia-drivers して, /etc/conf.d/modulesnvidia を追加, sudo modprobe nvidia しておく.

しかし白 MacBook でかかった nvidia-driversemerge が 4 時間に対して 1 時間半くらいの Core i7-2600 はやっぱりはやいなあ ("-j9").

そんで GNOME をとりあえずセットアップします.そのうちawesomeとか使おうかな.

/etc/make.conf に USE フラグ 3 つを追加

USE="mmx sse sse2 bluray networkmanager vim-syntax"

で,

$ sudo emerge -av gnome

この時 NetworkManager を入れてるが,後々リモートアクセスだとめんどい感があったので,Wi-Fi の設定だけして NetworkManager を自動起動から外して無効化する.

X 自体の設定については Xorg -configure 等より nvidia-xconfig を使う.

今回例の安価テレビに HDMI 出力していていろいろとおかしい感じ.nvidia ロゴとか X 叩いても表示されないしポインタとかも最初は表示されてない. でも gnome を設定して gnome を立ち上げてみると普通に動くので,後から nvidia の X 設定アプリを設定メニューから起動して,そこで 1360x768 を指定,保存する.

1366x768 にはできないのかなあ.

Gentoo Linux Documentation -- The GNOME Configuration HOWTO

をみつつ設定

NetworkManager も gentoo wiki を見つつ設定するが,前述の通りあとで外して net.wlan0 を自動起動にいれる.

これである程度の Gentoo 側セットアップは終了. あとは普通にどのPOSIXみたいなマシンでやる環境構築をやります.

共通な環境構築

$ sudo emerge -av vim app-misc/screen zsh

適切にフラグを見なおしてから emerge

$ sudo emerge nautilus-dropbox

適当に Dropbox を設定

$ ln -s $HOME/Dropbox/.../git ~/git
$ cd git/config
$ ln -s `pwd`/zsh/dot.zshrc ~/.zshrc
...
$ ln -s `pwd`/vim/dot.vimrc ~/.vimrc
$ ln -s `pwd`/vim/dot.vim ~/.vim

Dropbox からレポジトリをまとめて引っ張ってきてdotfiles のシンボリックリンクを貼る

Dropbox で git のディレクトリをまとめて同期しているので,開発した途中結果を外出時MBAなどからもいじれるという便利ハック.

NeoBundle.vim を使っているので,プラグインをインストールしてvimprocをビルド

$ vim
:NeoBundleInstall
:q
$ cd ~/.bundle/vimproc
$ make -f make_gcc.mak

で,zshに切り替える前にrubyをインストールしておかないと残念な事になる(zshrcがruby1.9系列に依存している)ので,ruby-1.9.3_p0 をemergeしておく

$ sudo emerge --autounmask-write "=dev-lang/ruby-1.9.3_p0"
$ sudo dispatch-conf
$ sudo emerge -av "=dev-lang/ruby-1.9.3_p0"

前はこれだけじゃ 1.9 系インストールできなかったのに,最近はこの3行で 1.9 系が merge できます.便利ですね.

これで最後に

$ chsh

/bin/zsh に切り替えてログアウトしてもう一度ログイン,シェルを開けばいつもの環境です.

Backfilled at , Published at