揮発性のメモ2

知識をメモ書きしておく

GRUBで画像を表示する

まず 640x480、14色 というファイルを用意する。

imagemagickを使って14色のxpmを作成する

convert -colors 14 geso.png geso.xpm
/* XPM */
static char *hoge[] = {
/* columns rows colors chars-per-pixel */
"640 480 14 1",
"  c #3A0636CC71ED",
". c #444439FB727B",
"X c #48A9436B790B",
"o c #5C5862EF94F4",
"O c #971A6E938D26",
"+ c #686F8431B993",

48bitカラーになってしまっているっぽい。
これをそのまま使うとGRUB画面上で色化けの可能性がビッグ大。
(手で編集すればいける)
24bitカラーで出力する方法はよくわからなかったので、netpbmを使う。

netpbmを使って14色のxpmを作成する

pngtopnm geso.png | ppmquant 14 | ppmtoxpm > geso.xpm

ちゃんと14色になっているかどうか確認する

/* XPM */
static char *noname[] = {
/* width height ncolors chars_per_pixel */
"640 480 14 1",
/* colors */
"  c #F8EFDC",
". c #4A477D",
"X c #8FB2E1",
"o c #97A9CE",
"O c #FEFEFE",
"+ c #6388BE",

24bitカラーになってる。これなら多分大丈夫。
一旦256色まで減色してから上記処理をおこなうと良いらしい。
http://street-green.seesaa.net/article/41975250.html

/boot/grub/menu.lstを編集する

ファイルの上の方に追記する

splashimage=(hd0,0)/boot/geso.xpm.gz

IrfanViewでxpmファイル表示

プラグインをインストールするとよい
http://www.irfanview.net/

出来上がり図

こちらの絵をお借りして実験
【たこルカ】「いかイカ娘」イラスト/蔵井 [pixiv]