Closed habuka036 closed 9 years ago
そもそも CentOS って splashutils 使ってるのかしら?
使ってると思います。 grubインストールすると、splash.xxxが配置されてるので、恐らく。
CentOS が使ってるのは plymouth でした (RHEL、Fedora、Ubuntu も同じらしい)。 で、こいつのイケてないのが、起動時のプログレスバーの色がハードコーディングという罠。 以下のパッチを書いて plymouth の rpm をビルドすることで変更可能。
--- a/src/plugins/splash/text/plugin.c.orig 2010-03-22 10:25:11.000000000 +0900
+++ b/src/plugins/splash/text/plugin.c 2014-12-26 09:53:28.454037791 +0900
@@ -184,10 +184,10 @@ view_start_animation (view_t *view)
0xffffff);
ply_terminal_set_color_hex_value (terminal,
PLY_TERMINAL_COLOR_BLUE,
- 0x0073B3);
+ 0x00B373);
ply_terminal_set_color_hex_value (terminal,
PLY_TERMINAL_COLOR_BROWN,
- 0x00457E);
+ 0x007E45);
ply_text_display_set_background_color (view->display,
PLY_TERMINAL_COLOR_BLACK);
この rpm は %packages セクションで本家の plymouth パッケージと別に指定できるか不明なため、%post --nochroot セクションに以下を追記して上書きインストールすることにした。
/usr/sbin/chroot ${INSTALL_ROOT}/ /bin/rpm -Uvh --nodeps --force /tmp/rpms/plymouth-0.8.3-27.el6.1.x86_64.rpm /tmp/rpms/plymouth-core-libs-0.8.3-27.el6.1.x86_64.rpm
しかし、plymouth のパッケージをインストールしても、既に LiveDVD の isolinux/initrdX.img は生成済みであり、CentOS 本家の plymouth による /usr/lib64/plymouth/text.so が使用されてしまっている。
で、LiveDVD の isolinux/initrdX.img は %packages セクションが終わると生成されるようなので、 %post --nochroot セクションに以下を追記して対処。
target=\`ls ${INSTALL_ROOT}/boot/|grep initramfs\`
target_count=0
for i in \$target; do
target_version=\`echo \$i | sed -e "s|^initramfs-\\(.*\\).img$|\\1|"\`
/usr/sbin/chroot ${INSTALL_ROOT}/ /sbin/dracut -f /boot/\$i \$target_version
cp ${INSTALL_ROOT}/boot/\$i ${INSTALL_ROOT}/../iso-*/isolinux/initrd\${target_count}.img
target_count=\$(( \$target_count + 1 ))
done
無理矢理感たっぷりだが、他に良い対処方法を思いついたら再考する。
優先度が低いが、CentOSの。スプラッシュスクリーンをやめてWakame-VDC的なものを用意する。(そもそも CentOS って splashutils 使ってるのかしら?)