【2019年08月版】 VirtualboxにGentooをsystemdでインストールするときの自分用簡易メモ
※ポイントだけ抜粋につき、注意。詳細はGentoo Handbookなど(1次情報とか)をどうぞ。本家の情報と見比べながらやると良い。
※実機インストールも対して変わらん気がする
デスクトップ環境はお好きなものを、とりあえずの足がかり(GUI画面で作業するため)にi3wmとかawesomeなんかが良さげ
CPU(システム):一般的なAMD64系
Mem:8GB もうちょっと少なくても余裕で動くかもだが、たくさんビルドするしなぁ……
シェル:ZSH
ログインマネージャ:lightdm
デスクトップ環境:なんでも。ここではAwesomeを選んでいる。GNOMEがよければ、gnomeかgnome-lightグループなどをインストール。
CUIエディタ:emacs-nox予定
GUIテキストエディタ:gedit予定
クリップボードマネージャ:何がいいかな?x11-misc/gpasteとか? Parcelliteでもいいか
ターミナル:シンプルな(背景透過対応の)ターミナルのterminatorを予定(またはドロップダウンターミナルのGuakeが好き)
日本語入力インプットメソッド系ibus+mozcを想定
Virtualbox
作成するときにLinux-Gentoo(x64)を指定しておく
設定開いて色々と好きなように設定する。
なおシステムはEFIを選択し、時刻はUTCは選択しなかった。
仮想化技術はできるだけ有効にしたい。
HDDイメージは多分だけど30~40GB程度あればダイジョブだとは思うけどわからん、公式の最低要件なんだっけ。
ネットと時計のセットアップとディスクパーティションフォーマットとマウントtarballの展開
ベースシステムの導入(抜粋。ディスクの準備やportageミラーの設定とPortage更新とかは端折っているのでamd64-Handbookでも見てください)
/etc/portage/make.conf
COMMON_FLAGS="-02 -pipe -march=x86-64"
MAKEOPTS="-j6"
- march=nativeでも良さそうだが仮想PCなのでnative指定は不具合が起こる可能性。そもそも、marchの指定要らないかも?
USE変数はとりあえず最小限で
ハンドブックに従って時刻関係とロケールをとりあえず設定。Systemd予定なのでその他のホスト名やらはArch Wikiのほうがわかりやすいかも
eselectでsystemdのはいったdefault/stableのプロファイルをセット
環境の更新
# env-update && source /etc/profile
ベースシステムのSystemdのための全体更新
# emerge -e @world
ほしいツールや必須のものなどをインストール
# emerge --uDN --ask app-portage/gentoolkit dhclient eix lshw pciutils nkf htop bash-completion zsh zsh-completions zsh-syntax-highlight git exfat-utils ntfs3g mlocate dosfstools ccache dhcpcd link app-shells/gentoo-bashcomp gentoo-zsh-completions app-shells/gentoo-collections
カーネルとブートローダー
カーネルビルドと設置
# emerge gentoo-sources
# ls -l /usr/src/linux
# cd /usr/src/linux && make menuconfig
# make -j6
# make modules_install
# make install
ブートローダー
# emerge grub:2 efibootmgr
loglevelは好みなので追記しなくても良い。
# nano /etc/default/grub
GRUB_CMDLINE_LINUX="loglevel=3 init=/usr/lib/systemd/systemd"
# grub-install --target=x86_64-efi --efi-directory=/boot/efi
# cp /boot/efi/EFI/boot/grubx64.efi /boot/efi/EFI/boot/bootx64.efi
# grub-mkconfig -o /boot/grub/grub.cfg
一通りベースが完成したら、再起動して、
# systemd-machine-id-setup
# hostnamectl set-hostname
# timedatectl set-ntp true && timedatectl set-timezone Asia/Tokyo
# ntpd -q -g
sudoの設定
# emerge -auDN sudo
# EDITOR=nano visudo
%wheel行のところを上1箇所だけアンコメントして保存
一般ユーザ作成
# useradd -m -g users -G wheel,video,usb,cdrom,audio [user]
デフォルトシェルの変更
$ chsh -s /bin/zsh [USER]
フレームバッファコンソール(fbtermを選択してみた。JFBTERMでもいいけど動くんかいな)
# emerge -auDN fbterm
# chmod u+s /usr/bin/fbterm
# setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm
# systemctl set-default multiuser.target(graphical.targetかもわからん)
# gpasswd -a [USER] video
# reboot
Xサーバーとか色々導入
フレームバッファコンソールで快適作業
$ fbterm
パッケージの軽量検索ツール
$ sudo eix-update
使用例
$ eix xf86-video-
/etc/portage/make.conf:XorgドライバとGUI用設定、上記の下辺りに追記しておく。
USE="${USE} X ibus dbus"
VIDEO_CARDS="vesa virtualbox"
INPUT_DEVICES="libinput"
サンプルなので、あれだがフル活用したいなら「virtualbox」は必要かも。それ以外の場合は、libinputとvesaでOKかも
実機なら入力はlibinput、VIDEOはintel amdgpu nvidia(oss=nouveau) radeon(もしくはRadeonのoss-versionのドライバ)あたりから環境にあったものを、vesa入れておいて損はないはず。グラフィックドライバの詳細や各種設定方法はGentooハンドブックなどを参照のこと
$ sudo emerge --ask --deep --update --newuse [好きな日本語対応フォント。media-fonts/mix-mplus-ipaとかRicty!]
$ sudo emerge --ask --deep --update --newuse xorg-server xinit xorg-drivers mesa mesa-progs setxkbmap libnotify xclip xsel
$ sudo eselect opengl set xorg-x11
AwesomeとターミナルとGoogleChrome
$ sudo emerge --ask -uDN awesome terminator www-client/google-chrome
$ mkdir -p ~/.config/awesome && cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
$ nano ~/.config/awesome/rc.lua
terminal="terminator"
$ awesome -k ~/.config/awesome/rc.lua
ログインマネージャ(グラフィカルディスプレイマネージャ)
# emerge --ask -uDN lightdm lightdm-gtk-greeter
# nano /etc/lightdm/lightdm.conf
[Seat:*]
greeter-session=lightdm-gtk-greeter
# systemctl set-default graphical.target
# systemctl enable lightdm.service
インプットメソッド・日本語入力設定
# emerge -auDN ibus mozc
$ nano -w ~/.xprofile
export LANG=ja_JP.UTF-8
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export XIM=ibus
ibus+mozcのバグフィックス
$ sudo nano /usr/share/ibus/component/mozc.xml
layout default layout
のところのdefaultをjpに書き換えておく
システムの日本語化
# localectl set-locale LANG=ja_JP.UTF-8
# localectl set-keymap jp106
# localectl set-x11-keymap jp
再起動とユーザーログイン(Awesomeの起動と操作)できることを確認
Virtualbox Guest Additionの導入(デフォルトは現在バージョン5系の「5.2.26」らしい。本家Virtualboxは6.0.10とかだが、GentooのPortageではマスクされてる)
# emerge --ask -uDN app-emulation/virtualbox-guest-additions libnotify
# systemctl enable virtualbox-guest-additions.service
仕方ないので、クライアントと同じバージョンのISOから導入。
# mount /mnt/cdrom && cd /mnt/cdrom
# ./VBoxLinuxAdditions.run
$ sudo gpasswd -a $USER vboxusers
$ sudo reboot
$ sudo VBoxClient-all