]> git.pld-linux.org Git - packages/fbset.git/blob - fbset.init
- fix for devfs without compatibilty devices
[packages/fbset.git] / fbset.init
1 #!/bin/sh
2 # $Id$
3 #
4 # fbset:        Sets up fbcon video modes.
5 #
6 #
7 # chkconfig:    2345 5 95
8 # description:  fbset is a utility with which fbcons video modes can be read
9 #               and changed
10 #
11 # config:       /etc/sysconfig/fbset
12
13
14 # Source function library
15 . /etc/rc.d/init.d/functions
16
17 # Get service config
18 if [ -f /etc/sysconfig/fbset ]; then
19         . /etc/sysconfig/fbset
20 fi
21
22 # See how we were called.
23 case "$1" in
24   start)
25         # Check if service is already running?
26         if [ ! -f /var/lock/subsys/fbset ]; then
27                 # Check if we have framebuffer in kernel.
28                 if [ -f /proc/fb ]; then
29                         # /proc files show as files with size=0, this is a workaround.
30                         cat /proc/fb | grep -q "." || exit 0
31                 else
32                         # if not, then try to load specified kernel module
33                         if [ -n "${FBMODULE}" ]; then
34                             _modprobe single $FBMODULE
35                         else
36                             exit 0
37                         fi
38                 fi
39
40                 if [ -n "${FBMODE_default}" ]; then
41                         show "Setting default video mode"
42                         busy
43                         # check if devfs (workaround: -a option don't work at all)
44                         if [ -d /dev/vc ]; then
45                                 for a in `ls /dev/vc/*`; do
46                                         b=`ls $a | sed 's/\/dev\/vc\///g'`
47                                         /usr/bin/open -c $b -- /usr/sbin/fbset -fb /dev/fb/0 $FBMODE_default
48                                 done
49                         else
50                                 for a in `ls /dev/tty[0-9] && ls /dev/tty[0-9][0-9]`; do
51                                         b=`ls $a | sed 's/\/dev\/tty//g'`
52                                         /usr/bin/open -c $b -- /usr/sbin/fbset $FBMODE_default
53                                 done
54                         fi
55                         deltext
56                         ok
57                 fi
58                 touch /var/lock/subsys/fbset
59         else
60                 msg_Already_Running "fbset"
61                 exit 1
62         fi
63         ;;
64     stop)
65         rm -f /var/lock/subsys/fbset
66         ;;
67   status)
68         # Check if we have framebuffer in kernel.
69         if [ -f /proc/fb ]; then
70                 # /proc files show as files with size=0, this is a workaround.
71                 cat /proc/fb | grep -q "." || exit 0
72                 echo "Frame buffer present."
73         fi
74         ;;
75   restart|reload)
76         $0 stop
77         $0 start
78         ;;
79   *)
80         msg_Usage "$0 {start|stop|status|restart|reload}"
81         exit 1
82 esac
83
84 exit 0
This page took 0.041961 seconds and 4 git commands to generate.