VirtualBoxにGentooをインストール
なんかインストールばっかりやってる気がしますけどw
今使っているマシンがサーバ PC よりよっぽど速いのでクロスコンパイル用の環境を仮想マシン上に構築することにした。実は以前のメインマシンでも作ったからそのディスクイメージを持ってくれば済むだけの話なんだけど、あいにくディスクごと喪失! てことで作りなおします。
事前作業
ホスト PC 上に VirtualBox がインストールされている必要しておきます。
それから VirtualBox を起動し、新規仮想マシンをつくります。仮想マシンのアーキテクチャを x86 (i686) と amd64 とどっちにするか迷ったのですが、今回も amd64 にしときます。
今回使っている virtualbox は、バージョン 3.14 です。
マニュアル
基本的にコレに従えば OK。
ただし、『7.d. もう一つの選択: genkernelを使う』にある coldplug は要らない。
インストールメディア
最低限の環境があればいいので、ミラーから install-amd64-minimal-${VERSION}.iso をインストールしてきます。今回は IIJ から install-amd64-minimal-20100311.iso をダウンロードしてきました。
コレを iso イメージのまま、先程つくった仮想マシンに読み込ませて CD から起動させます。
/etc/make.conf
/etc/make.conf に困るところなのですが、とりあえずこんな感じにしときます。
CFLAGS="-march=native -O2 -pipe" CXXFLAGS="${CFLAGS}" MAKEOPTS="-j5" CHOST="x86_64-pc-linux-gnu" USE="-X -gnome -kde bash-completion"
X とかその手のは今回使うつもりがないので外してみます。 fbterm さえあればいい。とりあえずクロスコンパイル用の最低限必要な環境を目指します。これだけじゃ多分足らないので、適宜更新するつもり。
CFLAGS はクロスコンパイルを行う際に問題になるかもしれないけど、今はこのまま。
(追記)
USE フラグには cjk nls の多言語対応フラグと、個人的に寂しいので alsa flac も追加しときます。
忘れそうな設定ファイルの設定
忘れそうなので、先に日本語109キーボードとタイムゾーンだけ設定しておきます。
/etc/conf.d/keymaps
KEYMAP="jp106" SET_WINDOWKEYS="yes"
/etc/conf.d/clock
CLOCK="local" TIMEZONE="Asia/Tokyo"
/etc/localtime
# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ユーザーの追加
基本的には root で作業するわけじゃないので一般ユーザを追加しときます。
# useradd -m -G users ${ユーザ名}
# passwd ${ユーザ名}
さっきのユーザが root になれるように wheel グループにいれときます。
# gpasswd -a ${ユーザ名} wheel
もちろん、ユーザを追加したときにこんな感じで書いてしまってもいいんだけどね。
# useradd -m -G users,wheel ${ユーザ名}
必要なツールのインストール
マニュアルにもあるけど、一応書き出しておく。
sys-kernel/gentoo-sources
どーせいつも /usr/src/linux にシンボリックリンクを張るので、いっそ USE フラグに立ててしまう。
# nano -w /etc/portage/package.use sys-kernel/gentoo-sources symlink ←この1行追加 # emerge -v gentoo-sources
sys-kernel/genkernel
普通にマージする。
# emerge -v genkernel
その後、どーせいつも --menuconfig とかをつけて使うので、設定ファイルでデフォルトで有効にしてしまう。
# nano -w /etc/genkernel.conf MENUCONFIG="yes" DISKLABEL="yes"
そうすると、いじっていない状態のコレと一緒になる。
# genkernel --menuconfig --disklabel all
その他
- app-admin/metalog
- sys-process/vixie-cron
- sys-apps/slocate
- net-misc/dhcpcd
個人的にあると便利というかほぼ必須なものを入れる
個人的にないと困るものを入れておきます。
- app-admin/sudo
- sudo するのに必須
- net-misc/ntp
- 時刻合わせに必須
- net-dns/bind-tools
- これがないと nslookup すらできない
- net-fs/nfs-utils
- nfs をマウントするのに必須
- app-portage/eix
- portage の検索に個人的に必須
- app-portage/portage-utils
- portage の操作に必須
- app-portage/gentoolkit
- revdep-rebuild
- net-fs/mount-cifs
- samba マウントにあると便利
- net-ftp/ftp
- あると便利
- sys-fs/ntfsprogs
- NTFS の領域をいじるのにあると便利
- app-portage/splat
- ebuild にかかった時間を見るのに便利
- sys-apps/pciutils
- lspci するのに必須
- sys-apps/usbutils
- lsusb するのに必須
その後
distcc とかいろいろ設定しますが、とりあえず再起動。