2014年1月6日月曜日

ubuntu 13.10のブート画面を美しく

ブート画面のOS選択画面をburgにして、更にブートスプラッシュをきれいにしたのでその話をしたい。
なおブートOS選択画面とは



























のことで、ブートスプラッシュとは

























のこと

まずOS選択画面



























から、手をつける。
この画面を出しているアプリをGrubというが、これを編集するってことで
よくあるのが背景を入れますって話なんだが、今回はそれではなくGrubをやめてBurgにする。
それで



このような メニューの並びも変えたイケてるブート画面になる。
ubuntu 13.04の時まではSuperBootManagerというburgとブートスプラッシュ両方一気に変えるソフトがあったが13.10に未対応なので手動によって一個ずつ変えるしかない。
それかバージョンをごまかして SuperBootManagerを入れるか

まずBurgに変えてみる。13.10でppa:n-muench/burgのレポジトリが使えるから
$ sudo add-apt-repository ppa:n-muench/burg
$ sudo apt-get update
$ sudo apt-get install burg burg-themes
でインストールできる
で設定は
$ sudo burg-emu 
でできる。もしくは実際にブートしている時にもF2,F3を押して変えられる
ただし上の絵のブートローダはこの選択肢にはなくて
ここから
をダウンロードして 
/src/burg-theme-gogo-noge-hot-legs/boot/burg/themes/gogo-noge-hot-legs

/boot/burg/themes/gogo-noge-hot-legs
にフォルダごとコピーする
これで選べるようになる


次にブートスプラッシュだが、これも曲者で、少なくとも私の環境ではフレームバッファを有効にしないと見ることはできない。一般的にnvidiaとかのプロプライエタリなドライバならほとんどそうらしいが、どこにもそんなことかいてないぞ。

とりあえず今回はこのスプラッシュにした。
このデータ自体は
http://gnome-look.org/content/show.php?content=139216
にあり
 ファイルをダウンロードして、READMEにあるように
sudo cp -R linux-is-sexy/ /lib/plymouth/themes/
sudo update-alternatives --install /lib/plymouth/themes/default.plymouth default.plymouth /lib/plymouth/themes/linux-is-sexy/linsex.plymouth 100
sudo update-alternatives --config default.plymouth  #here, choose the number of the theme you want to use then hit enter
sudo update-initramfs -u

をいくらしても表示されない。
結論から言うとここでフレームバッファが必要だった
https://forums.ubuntulinux.jp/viewtopic.php?pid=44052
にあるようにすれば良い。ただしgrubをburgに読み替える必要あり。

1. /etc/initramfs-tools/modules を編集

コード:
sudo vi /etc/initramfs-tools/module

uvesafb と fbcon を書き足します。
このような形になると思います。

modulesファイル:
# List of modules that you want to include in your initramfs.
 ~略~
 # sd_mod
uvesafb
fbcon

2. /etc/modprobe.d/uvesafb.conf 作成
コード:
sudo vi /etc/modprobe.d/uvesafb.conf
設定を1行含んだファイルを作ります。
以下は1024x768、32bitカラーの例です。
uvesafb.confファイル:
options uvesafb mode_option=1024x768-32

 ※解像度の数値が違うと表示されない(framebufferでOKな解像度でないとだめらしい)
options uvesafb mode_option=1024x768-32
の解像度の選択に注意してください。解像度によっては表示が出ません。
xrandr
sudo hwinfo --framebuffer
で解像度の一覧は取得可能

3. /etc/default/burg 編集
コード:
sudo vi /etc/default/burg
GRUB_CMDLINE_LINUX_DEFAULT の項目に video=uvesafb の設定を足します。
このような形です。
コード:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=uvesafb"

4. v86d をインストール
コード:
sudo apt-get install v86d

4-2. initramfs 再生成
※ただしv86d をインストールする際に自動的に initramfs 再生成は行われるはず。
コード:
sudo update-initramfs -u

5. burg 設定アップデート
コード:
sudo update-burg