tazpanel annotate boot.cgi @ rev 130

boot.cgi: show boot logs
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Apr 16 13:22:34 2011 +0200 (2011-04-16)
parents 20b80d61e7c7
children 67fa759f1357
rev   line source
pankso@50 1 #!/bin/sh
pankso@50 2 #
paul@82 3 # Boot CGI script - All what happens before login (grub, rcS, slim)
pankso@50 4 #
pankso@112 5 # Copyright (C) 2011 SliTaz GNU/Linux - BSD License
pankso@50 6 #
pankso@50 7
pankso@50 8 # Common functions from libtazpanel and source main boot config file.
pankso@50 9 . lib/libtazpanel
pankso@50 10 . /etc/rcS.conf
pascal@81 11 header
pankso@50 12 get_config
pankso@50 13
pankso@109 14 TITLE="- Boot"
pankso@50 15
pankso@50 16 #
pankso@50 17 # Commands
pankso@50 18 #
pankso@50 19
pascal@81 20 case " $(GET) " in
pascal@130 21 *\ log\ *)
pascal@130 22 xhtml_header
pascal@130 23
pascal@130 24 cat << EOT
pascal@130 25 <div id="wrapper">
pascal@130 26 <h2>`gettext "Boot log files"`</h2>
pascal@130 27 </div>
pascal@130 28 <h3>`gettext "kernel messages"`</h3>
pascal@130 29 <pre>
pascal@130 30 $(cat /var/log/dmesg.log)
pascal@130 31 </pre>
pascal@130 32 <h3>`gettext "boot scripts"`</h3>
pascal@130 33 <pre>
pascal@130 34 $(sed 's/\[^Gm]*.//g' < /var/log/boot.log)
pascal@130 35 </pre>
pascal@130 36 EOT
pascal@130 37 ;;
pascal@81 38 *\ daemons\ *)
pankso@51 39 #
pankso@51 40 # Everything until user login
pankso@51 41 #
paul@52 42 # Start and stop a daemon. I think we dont need restart since 2
paul@52 43 # clicks and you are done
pascal@81 44 daemon=$(GET daemons)
pascal@81 45 case "$daemon" in
pascal@81 46 start=*)
pankso@51 47 sleep 1
pascal@81 48 /etc/init.d/${daemon#start=} start | log ;;
pascal@81 49 stop=*)
pascal@81 50 /etc/init.d/${daemon#stop=} stop | log ;;
pankso@51 51 esac
pankso@51 52 . /etc/rcS.conf
pankso@51 53 xhtml_header
pankso@67 54
pankso@51 55 cat << EOT
pankso@51 56 <div id="wrapper">
paul@52 57 <h2>`gettext "Manage daemons"`</h2>
pankso@51 58 <p>
paul@52 59 `gettext "Check, start and stop daemons on SliTaz"`
pankso@51 60 </p>
pankso@51 61 </div>
pankso@51 62 EOT
pankso@51 63 # Demon list
pankso@51 64 table_start
pankso@51 65 cat << EOT
pankso@51 66 <thead>
pankso@51 67 <tr>
pankso@51 68 <td>`gettext "Name"`</td>
pankso@51 69 <td>`gettext "Description"`</td>
pankso@51 70 <td>`gettext "Status"`</td>
pankso@51 71 <td>`gettext "Action"`</td>
pankso@51 72 <td>`gettext "PID"`</td>
pankso@51 73 </tr>
pankso@51 74 </thead>
pankso@51 75 EOT
pankso@51 76 cd /etc/init.d
pankso@51 77 list="`ls | sed -e /.sh/d -e /rc./d -e /RE/d -e /daemon/d \
pankso@51 78 -e /firewall/d`"
pankso@51 79 for name in $list
pankso@51 80 do
pankso@51 81 pkg=""
pankso@51 82 pid=""
pankso@51 83 status=""
pankso@51 84 SHORT_DESC=""
pankso@51 85 echo '<tr>'
pankso@51 86 # Name
pankso@51 87 echo "<td>$name</td>"
paul@52 88 # First check if daemon is started at bootime
pankso@51 89 [ echo "RUN_DAEMONS" | fgrep $name ] && boot="on boot"
paul@52 90 # Standard SliTaz busybox daemons and firewall
pankso@51 91 case "$name" in
pankso@51 92 firewall)
pankso@51 93 gettext "<td>SliTaz Firewall with iptable rules</td>" ;;
pankso@51 94 httpd)
pankso@51 95 gettext "<td>Small and fast web server with CGI support</td>" ;;
pankso@51 96 ntpd)
paul@52 97 gettext "<td>Network time protocol daemon</td>" ;;
pankso@51 98 ftpd)
pankso@51 99 gettext "<td>Anonymous FTP server</td>" ;;
pankso@51 100 udhcpd)
pankso@51 101 gettext "<td>Busybox DHCP server</td>" ;;
pankso@51 102 syslogd|klogd)
pankso@51 103 gettext "<td>Linux Kernel log daemon</td>" ;;
pankso@76 104 crond)
pankso@76 105 gettext "<td>Execute scheduled commands</td>" ;;
pankso@76 106 dnsd)
pankso@76 107 gettext "<td>Small static DNS server daemon</td>" ;;
pankso@76 108 tftpd)
pankso@76 109 gettext "<td>Transfer a file on tftp request</td>" ;;
pankso@76 110 inetd)
pankso@76 111 gettext "<td>Listen for network connections and launch programs</td>" ;;
pankso@76 112 zcip)
pankso@76 113 gettext "<td>Manage a ZeroConf IPv4 link-local address</td>" ;;
pankso@51 114 *)
pankso@51 115 # Descrition from receipt
pankso@51 116 [ -d "$LOCALSTATE/installed/$name" ] && pkg=$name
pankso@51 117 [ -d "$LOCALSTATE/installed/${name%d}" ] && pkg=${name%d}
pankso@51 118 [ -d "$LOCALSTATE/installed/${name}-pam" ] && pkg=${name}-pam
pankso@51 119 if [ "$pkg" ]; then
pankso@51 120 . $LOCALSTATE/installed/$pkg/receipt
pankso@51 121 echo "<td>$SHORT_DESC</td>"
pankso@51 122 else
pankso@51 123 echo "<td>----</td>"
pankso@51 124 fi ;;
pankso@51 125 esac
pankso@51 126 # Attemp to get daemon status
pankso@51 127 pidfile=`find /var/run -name *$name*.pid`
pankso@51 128 [ "$pidfile" ] && pid=`cat $pidfile`
pankso@51 129 # dbus
pankso@51 130 [ -f /var/run/${name}/pid ] && pid=`cat /var/run/${name}/pid`
pankso@51 131 # apache
pankso@51 132 [ "$name" = "apache" ] && pid=`cat /var/run/$name/httpd.pid`
pankso@51 133 # Pidof works for many daemon
pankso@51 134 [ "$pid" ] || pid=`pidof $name`
pankso@51 135 if [ "$pid" ]; then
pankso@51 136 echo "<td><img src='$IMAGES/started.png' /></td>"
pankso@51 137 echo "<td><a href='$SCRIPT_NAME?daemons=stop=$name'>
pankso@51 138 <img src='$IMAGES/stop.png' /></a></td>"
pankso@51 139 echo "<td>$pid</td>"
pankso@51 140 else
pankso@51 141 echo "<td>-</td>"
pankso@51 142 echo "<td><a href='$SCRIPT_NAME?daemons=start=$name'>
pankso@51 143 <img src='$IMAGES/start.png' /></a></td>"
pankso@51 144 echo "<td>-----</td>"
pankso@51 145 fi
pankso@51 146 echo '</tr>'
pankso@51 147 done
pankso@51 148 table_end ;;
pankso@50 149 *)
pankso@50 150 #
pankso@51 151 # Default content with summary
pankso@50 152 #
pankso@50 153 . /etc/rcS.conf
pankso@50 154 xhtml_header
pankso@67 155
pankso@50 156 cat << EOT
pankso@50 157 <div id="wrapper">
pankso@51 158 <h2>`gettext "Boot &amp; Start services"`</h2>
pankso@50 159 <p>
paul@82 160 `gettext "Everything that happens before user login"`
pankso@50 161 </p>
pankso@50 162 </div>
pankso@51 163 <div>
pascal@130 164 <a class="button" href="$SCRIPT_NAME?log">
pascal@130 165 <img src="$IMAGES/edit.png" />`gettext "Boot logs"`</a>
pascal@124 166 <a class="button" href="$SCRIPT_NAME?daemons">
pascal@124 167 <img src="$IMAGES/recharge.png" />`gettext "Manage daemons"`</a>
pankso@51 168 </div>
pankso@51 169
pankso@57 170 <h3>`gettext "Configuration files"`</h3>
pankso@57 171 <ul>
pankso@57 172 <li>`gettext "Main configuration file:"`
pankso@57 173 <a href="index.cgi?file=/etc/rcS.conf">rcS.conf</a></li>
pankso@57 174 <li>`gettext "Grub menu:"`
pankso@57 175 <a href="index.cgi?file=/boot/grub/menu.lst">menu.lst</a></li>
pankso@57 176 <li>`gettext "Login manager settings:"`
pankso@57 177 <a href="index.cgi?file=/etc/slim.conf">slim.conf</a></li>
pankso@73 178 </ul>
pankso@57 179
pankso@50 180 <h3>`gettext "Kernel cmdline"`</h3>
pankso@50 181 <pre>
pankso@50 182 `cat /proc/cmdline`
pankso@50 183 </pre>
pankso@50 184 <h3>`gettext "Local startup commands"`</h3>
pankso@50 185 <pre>
pankso@75 186 $(cat /etc/init.d/local.sh | syntax_highlighter sh)
pankso@50 187 </pre>
pankso@105 188 <a class="button" href="index.cgi?file=/etc/init.d/local.sh&amp;action=edit">
pankso@105 189 <img src="$IMAGES/edit.png" />$(gettext "Edit script")</a>
pankso@50 190 EOT
pankso@50 191 ;;
pankso@50 192 esac
pankso@50 193
pankso@50 194 xhtml_footer
pankso@50 195 exit 0