mieki256's diary



2004/05/08() [n年前の日記]

#3 [linux] grub splash imageを作成

_grubを使ってみよう!
_ブートローダーにGRUBを使ってKnoppixを再構成

一応説明。grub = 高機能ブートローダ。OSが起動する前に立ち上がって、インストール済みの複数のOSやカーネルの中から、どれを使うか選択できる。Linux の場合、ブートローダとしては _LILO がメジャーだけど。最近は、設定変更が若干簡単で、LILOより高機能な、grubを導入してるケースが多くなってきた。らしい。

自分の環境も grub を使っていたり。今まで、splash image(背景画像)には、 _こちらのページ で公開されてる画像を使ってたのだけど。そろそろ違う画像にしたいと思ったので、Photoshopでちょこちょこと作成。

画像としては、640x480で、14色の画像を作成すればいいのだけど。フルカラーで作成して、 _OPTPiX で減色してみたものの、やはり14色という制限は厳しく。せめて256色あれば助かるのだけどな。

ちなみに、こんな感じの画像に。

grub splah image その1

grub splah image その2

grub splah image その3

grub splah image その4

そうさ。パクリさ。パロディさ。…結局、一番最後のを選んじゃったけど。

_Grub Splash Images(2002/07/23の項) :

検索したら辿りついた。 _こちら で、grub の splash image がいくつか公開されてるらしい。爽やか系多し。14色でも結構綺麗に出来るのだな。ありがたや。感謝しつつ早速DLさせてもらったり。

変換 :

grub で使える画像フォーマットにするには、
$ convert -colors 14 hoge.gif hoge.xpm
$ gzip hoge.xpm
とする必要があるけれど。複数の画像を変換したい場合、なんだか面倒臭い。シェルスクリプトとやらを勉強しないと。

_シェル・スクリプト - Bシェル :

_シェル2 --- Bシェルのスクリプト
_UNIXの部屋 検索結果 for
上記ページを読みながら、cygwinを使って勉強。なるほど。for を使うのだな。でも、拡張子込みのファイル名から、拡張子を取り除いた文字列を取得するのはどうやるのだろう。hoge.gif を、hoge.xpm にしたいのだけど。

_forとコマンド置換のあわせ技
sedを使うしかないのか。file2=`echo $file1 | sed 's/.bmp/_mini.bmp/'` といった具合に書くらしい。

と思ったら、前述の _『UNIXの部屋 検索結果 for』 の中で、${i%.txt}.html という記述があった。たとえば、${i%.gif}.xpm と書いてある場合、i に hoge.gif が入っていれば、出てくる文字列は hoge.xpm になる。…でも、コレ、どういう意味の指定なんだろ。%の前に記述された変数に、%以降の文字列が含まれていた場合、その文字列を消去するという認識でいいのだろうか。%って、なんだ?

_[fol] 拡張子を抜いたファイル名を取得したい
_POSIX規格 とやらが関係してるらしい。『UNIXベースのOSが備えるべき最低限の仕様のセット』=POSIX、なのか。

_変数に対するパターンマッチ
${変数%パターン}
変数の内容について、最後の部分とパターンがマッチしたら、最も短く一致する部分を取り除いた残りの部分を返す。
とあった。なるほど。そういうわけだったのか。すると、こうなるのかな?
#!/bin/sh
for file1 in *.gif
do
        file2=${file1%.gif}.xpm
        convert -colors 14 $file1 $file2
        gzip $file2
        echo "$file1 -> $file2.gz"
done
上手くいったみたいだ。

以上です。

過去ログ表示

Prev - 2004/05 - Next
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project