Magellan Linux

Contents of /mcore-src/trunk/mcore-tools/daemon/client/include/boot.client.class

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1918 - (show annotations) (download)
Wed Nov 9 13:32:46 2011 UTC (12 years, 5 months ago) by niro
File size: 2580 byte(s)
-added boot and splash classes
1 # $Id$
2
3 provide basic-boot
4
5 helper_boot_rebuild_bootconfig()
6 {
7 local grubconf="/boot/grub/grub.cfg"
8
9 mount /boot &> /dev/null
10 grub-mkconfig -o ${grubconf}
11 umount /boot &> /dev/null
12 }
13
14 help_boot_splash()
15 {
16 mecho "get boot.splash"
17 mecho " Shows the state of bootsplash"
18 mecho
19 mecho "set boot.splash [action]"
20 mecho " Enables or disables a fancy splashscreen at boot time."
21 mecho " Available actions:"
22 mecho " enable - enables bootsplash"
23 mecho " disable - disables bootsplash"
24 }
25
26 get_boot_splash()
27 {
28 local var
29 var=$(grep "^export GRUB_CMDLINE_BOOTSPLASH=" /etc/conf.d/grub | sed "s:.*splash=\(.*\),.*:\1:")
30
31 case "${var}" in
32 silent|"") mecho "bootsplash currently enabled"; rvecho "1" ;;
33 verbose) mecho "bootsplash currently disabled"; rvecho "0" ;;
34 *) eecho "unkown state" ;;
35 esac
36 }
37
38 set_boot_splash()
39 {
40 local action="$1"
41 [[ -z ${action} ]] && help_boot_splash && return 1
42
43 case "${action}" in
44 enable)
45 sed -i "s:^\(export GRUB_CMDLINE_BOOTSPLASH=\).*:\1\"splash=silent,theme=default\"" /etc/conf.d/grub.conf
46 helper_boot_rebuild_bootconfig
47 mecho "bootsplash enabled"
48 ;;
49 disable)
50 sed -i "s:^\(export GRUB_CMDLINE_BOOTSPLASH=\).*:\1\"splash=verbose,theme=default\"" /etc/conf.d/grub.conf
51 helper_boot_rebuild_bootconfig
52 mecho "bootsplash disabled"
53 ;;
54 *) help_system_autologon && return 1 ;;
55 esac
56 }
57
58 help_boot_theme()
59 {
60 mecho "get boot.theme [action]"
61 mecho " Shows current selected or system-wide available bootsplash themes."
62 mecho " Available actions:"
63 mecho " system - shows available themes on the system"
64 mecho " current - shows the currently used theme of bootsplash"
65 mecho
66 mecho "set boot.theme [theme]"
67 mecho " Selects the theme which will be used on system startup by bootsplash."
68 }
69
70 get_boot_theme()
71 {
72 local action="$1"
73 local themedir="/etc/splash/themes"
74 local theme
75 local i
76
77 case "${action}" in
78 current)
79 if [[ -L ${themedir}/default ]]
80 then
81 theme=$(readlink ${themedir}/default)
82 rvecho "${theme}"
83 else
84 rvecho "none"
85 fi
86 ;;
87 system)
88 for i in $(find /etc/splash/themes -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | sort)
89 do
90 theme="${theme}"
91 done
92 rvecho "${theme}"
93 ;;
94 *)
95 help_boot_theme
96 return 1
97 ;;
98 esac
99 }
100
101 set_boot_theme()
102 {
103 local theme="$1"
104 local themedir="/etc/splash/themes"
105 [[ -z ${theme} ]] && help_boot_theme && return 1
106
107 if [[ -d ${themedir}/${theme} ]]
108 then
109 ln -snf ${theme} ${themedir}/default
110 mecho "Selected theme '${theme}'."
111 else
112 eecho "Theme '${theme}' not available on this system. Aborted!"
113 fi
114 }