ワイド画面向けにGRUBのスプラッシュ画像を作る

Linuxでよく使われるブートローダGRUBというものがあります。で、この人はブートメニューの背景画像が設定できます。

で、ちょっと本気で作ってみようかというお話。

形式とか

※以下GRUB Legacy前提です。GRUB 2ウマーな方は話が全然違ってくるのでご了承下さい。
まず使える画像ですが、これはいくつか条件があります。

  • 640x480px 14色
  • XPMをgzip圧縮した物=.xpm.gz

XPMというのはWindowsではあまり聞かない形式ですが、単純明快で面白い形式です。興味のある方はWikipediaへどうぞ。
今回はWindows上で画像を作り、Linux上で.xpm.gzに変換、配置します。

本気 その1

画像の縦横比は4:3固定ですが、これを16:9のディスプレイで表示すると見事に引き延ばされます。で、キャラクターなんかを配置したときに体型が変わってしまっては悲しいので、あらかじめ横方向に縮小することにします。映像技術で言うところのスクイーズですね。
4:3の縦横比が1.33、16:9の縦横比が1.77なので、これを元に計算します。
・・・とここまで書いて、できあがった画像を640x480に縮小すればいいことを今思い出した。

本気 その2

どうせならメニューやテキストの配置も意識してデザインしたいよね!
というわけでVirtualBoxGRUB画面をキャプチャしてIllustratorでトレース。色の変更も伸縮も自由自在だぜいえい!
・・・ほらそこオーバースペックとか言わないの。

作る

実際の作業はこんな感じに行いました。

  1. ベースの画像をPhotoshopでレタッチして853x480(16:9)にリサイズ
  2. トレースしたテンプレに画像とQB*1を乗っける
  3. レイアウト調整・文字色の調整
  4. 画像だけPhotoshopで640x480にリサイズ
  5. パスの類はIllustratorで縮小
  6. 二つを重ねたものを14色に減色してGIF書き出し
  7. convertでXPMに変換してgzipで圧縮
  8. grub.conf編集

ラスタとベクタは別々に縮小した方がいいかなーと思ってこうしたけど、たぶん無駄な努力。減色はアルゴリズムによって様々な結果になるのでいろいろ試してみるといい感じ。デザインの段階で彩度を落としたり半透明部分を減らしてみたりと、ここが腕の見せ所のような気がします。

完成

どきどきしながら再起動すると・・・

きたー♪

*1:QBかわいいよQB