マルチブート環境で Fedora 29 をインストールする
そろそろ頃合いかなということで手元の Linux 開発環境も、先日組んだ自作 PC に移行することにした。
すでに Windows がインストールされているマシンなので、恒例のマルチブート構成(EFI ブート)で Fedora 29 を追加でインストールした。
ビデオカードのドライバー設定などは毎回はまるので、作業の覚書きとして、詰まりそうな箇所のみ将来のために特筆しておく。
Fedora 29 のパーティションをカスタマイズする
Fedora 29 Workstation の Live メディアを USB メモリとして作っておき、それでブート後にインストールしていく。インストールは画面に従って進めていけばいいが、パーティションのレイアウトだけは自分で決めたかったので以下のようにカスタマイズした(もちろんパーティションのレイアウトは自動で生成することもできる)。
インストールするディスクが sdb だったので、パーティションは指定した順に /dev/sdb1 〜 /dev/sdb2 になっている。
デバイス マウントポイント サイズ タイプ /dev/sdb1 /boot/efi 200MiB EFI パーティション /dev/sdb2 swap 2GiB swap /dev/sdb3 / 109.6G ext4近年の流れにのって EFI でブートするようにするため、200 MiB の
/boot/efi
パーティションを忘れずに先頭に置いておく。メモリは 16 GB 積んでいるので
swap
パーティションを作る必要があるのか迷ったが、今までずっと作ってきたので今回もなんとなく作っておいた。残りの容量はすべて何も考えずに
/
に割り当てた。個人の開発環境なのでこれくらいがちょうどいいかなと。NVIDIA のビデオカードのドライバーをインストールする
毎回 Linux 環境を作る際に苦労するのがこの NVIDIA のビデオカード用ドライバーのインストールになる。せっかくいいビデオカードを積んでいるので綺麗な GUI でマルチディスプレイ環境を使えるようにしたいのだが、NVIDIA のドライバーは別途インストールしなければならないこともあり、面倒くさい。Fedora 29 をアップデートする
まずは Fedora 29 自体をアップデートしておく。# dnf update特に
plymouth
を最低でも 0.9.4-1 に上げておかないと、NVIDIA のビデオカードドライバーをインストールしても、GUI ログイン後に画面がブラックアウトする不具合にひっかかってしまう。昨日の夜かなりこれに悩まされていて、今朝起きたら修正版が stable リポジトリに push されていた。アップデートによってカーネルも 4.19.6-300 まで上がったので、一度再起動して 4.19.6-300 のカーネルでこのあとの作業を進めていくとよい。
# reboot
NVIDIA のドライバーをダウンロードする
nvidia の Linux ドライバーのページから搭載しているビデオカードのドライバーをダウンロードする。積んでいるビデオカードは GeForce GTX 1070 Ti で、ダウンロードしたのは
NVIDIA-Linux-x86_64-410.78.run
だった。過去に公開されていたバージョン 304.134 や 304.135 あたりのドライバーにはパッチを当てる必要があるらしいが、ダウンロードしたバージョンでは修正されているのでそのままインストールしてよい。
ダウンロードしたドライバーは runlevel 3 の CLI から実行することになるので、ホームディレクトリ直下などに移動しておくこと。実行時のファイルパスに日本語名のディレクトリ(ダウンロード等)が含まれているとうまく動いてくれなかった。
依存するツールと GRUB2 の準備
NVIDIA のビデオカードドライバーをインストールするために、依存するビルド用ツールとdkms
をインストールしておく。# dnf groupinstall "Development Tools" # dnf install dkms "kernel-devel-uname-r == $(uname -r)"
dkms
はオプションらしいのだが、念のため。また、NVIDIA のビデオカードドライバーと競合する
nouveau
を無効にしておく。GRUB2 の設定ファイル
/etc/default/grub
を開き、GRUB_CMDLINE_LINUX
値の起動パラメーター末尾に nouveau.modeset=0
を指定する。... GRUB_CMDLINE_LINUX="resume=UUID=xxxxxxxx-8d2f-4a44-a70b-61e06d371041 rhgb quiet nouveau.modeset=0" ...
/etc/default/grub
は編集後に /boot/efi/EFI/fedora/grub.cfg
に反映させておく必要があるため、grub2-mkconfig
を叩いておく。# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfgちなみに EFI ブートを利用するので
/boot/efi/EFI/fedora/grub.cfg
に出力しているが、EFI ブートを利用しない場合は出力先は /boot/grub2/grub.cfg
となる。NVIDIA ドライバーをインストールする
NVIDIA ドライバーは X サーバー(GUI)が動いているとインストールできないので、再起動して runlevel 3(CUI)にしておく必要がある。GUI が動いているうちに CUI で起動するよう設定してもよいが、GRUB2 で起動する際にも一時的に起動パラメーターを書き換えられるのでそう進めることにした。
GRUB2 でブートする OS を選択する際に e キーを押すと起動パラメーター(
GRUB_CMDLINE_LINUX
値)を編集できるので、末尾にスペースと 3
を書き加え、Ctrl + x で起動する。なお、GeForce GTX 1070 Ti では NVIDIA のビデオカードドライバーをインストールするまではマルチディスプレイの動作は不安定なので、ディスプレイは 1 枚だけ繋いでおくようにした。
runlevel 3 で起動したら、そのまま CUI でログインして先程ダウンロードしたビデオカードドライバーを実行する。
# sh NVIDIA-Linux-x86_64-410.78.runインストール時にはいくつか質問されるので以下の選択肢を選んだ。
・
dkms
カーネルモジュールのソースをインストールするか? > Yes・32 bit 互換のライブラリをインストールするか? > Yes
・すでに存在する
libglvnd
ライブラリを上書きするか? > Install and overwrite existing files・X サーバーの設定ファイルを更新するか? > Yes
3 つめの
libglvnd
に関する質問は libglvnd
のインストールが不完全な場合に表示されるらしいが、上書きの選択で問題なく動いた。インストール後には再度システムを再起動すると、NVIDIA のビデオカードドライバーが適用される。
やっぱりディスプレイが 2 枚使えるととても快適に感じられる。GNOME3 のリッチな GUI です感もいい感じ。
日本語入力の設定
日本語入力では ibus-mozc を利用する。まずは dnf で ibus-mozc をインストールし、システムを再起動する。
# dnf install ibus-mozc # reboot
再起動後に、設定 > Region & Language から、入力ソースとして日本語 > 日本語(Mozc) を選んで追加する。
これでタスクバー右上の入力選択のプルダウンから日本語(Mozc)を選べば Mozc で日本語入力できるようになる。
GRUB2 をカスタマイズする
完全に個人的な好みになるが、マルチブート構成にしてあるのでデフォルトで起動する OS と、GRUB2 の起動 OS 選択画面でのタイムアウト値を変更しておく。先ほどの設定ファイル
/etc/default/grub
を開き、デフォルトで起動する OS は GRUB_DEFAULT
値に指定する。指定する値は以下のコマンドの結果から選ぶとよい。
# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2-efi.cfg Fedora (4.19.6-300.fc29.x86_64) 29 (Workstation Edition) Fedora (4.18.16-300.fc29.x86_64) 29 (Workstation Edition) Fedora (0-rescue-xxxxx2e70723423c97d2ea9e43784e5f) 29 (Workstation Edition) Windows Boot Manager (on /dev/sda2) System setup上記リスト内の Windows を指定する場合は以下のようになる。
... GRUB_DEFAULT='Windows Boot Manager (on /dev/sda2)' ...
また、起動 OS 選択画面でのタイムアウト値は
GRUB_TIMEOUT
値に秒数として設定する。/etc/default/grub
設定後は grub2-mkconfig
コマンドで反映しておくこと。古いカーネルを削除する
Fedora 29 の更新でカーネルのバージョンがあがったので、古いカーネルは削除する。以下のように
dnf
コマンドを実行し、--latest-limit
オプションに -1 を指定することで、最新版のカーネルのみ残して他のカーネルを削除することができる。# dnf remove $(dnf repoquery --installonly --latest-limit=-1 -q)これを実行することで、GRUB2 の起動 OS 選択画面からもエントリーが消えてくれる。
Linux コメント (0) 2018/12/09 13:28:15