tazpanel annotate boot.cgi @ rev 205

Tiny edits
author Paul Issott <paul@slitaz.org>
date Sun Aug 14 10:49:10 2011 +0100 (2011-08-14)
parents 2b919224c683
children d86789453cb7
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 cat << EOT
pascal@130 24 <div id="wrapper">
pascal@130 25 <h2>`gettext "Boot log files"`</h2>
pascal@130 26 </div>
pascal@137 27 <div>
pascal@137 28 <a class="button" href="#kernel">
pankso@149 29 <img src="$IMAGES/tux.png" />$(gettext "Kernel messages")</a>
pankso@149 30 <a class="button" href="#boot">$(gettext "Boot scripts")</a>
pankso@149 31 <a class="button" href="#slim">$(gettext "X server")</a>
pascal@137 32 </div>
pascal@137 33 <a name="kernel"></a>
pankso@149 34 <h3>$(gettext "Kernel messages")</h3>
pascal@130 35 <pre>
pascal@130 36 $(cat /var/log/dmesg.log)
pascal@130 37 </pre>
pascal@137 38 <a name="boot"></a>
pankso@149 39 <h3>$(gettext "Boot scripts")</h3>
pascal@130 40 <pre>
pankso@149 41 $(cat /var/log/boot.log | filter_taztools_msgs)
pascal@130 42 </pre>
pascal@137 43 <a name="slim"></a>
pankso@149 44 <h3>$(gettext "X server")</h3>
pascal@137 45 <pre>
pankso@149 46 $(tail -n 40 /var/log/slim.log)
pascal@137 47 </pre>
pascal@130 48 EOT
pascal@130 49 ;;
pascal@81 50 *\ daemons\ *)
pankso@51 51 #
pankso@51 52 # Everything until user login
pankso@51 53 #
paul@205 54 # Start and stop a daemon. I think we don't need a restart since 2
paul@52 55 # clicks and you are done
pankso@51 56 . /etc/rcS.conf
pankso@51 57 xhtml_header
pankso@67 58
pankso@51 59 cat << EOT
pankso@51 60 <div id="wrapper">
paul@52 61 <h2>`gettext "Manage daemons"`</h2>
pankso@51 62 <p>
paul@52 63 `gettext "Check, start and stop daemons on SliTaz"`
pankso@51 64 </p>
pankso@51 65 </div>
pankso@51 66 EOT
pascal@143 67 daemon=$(GET daemons)
pascal@143 68 case "$daemon" in
pascal@143 69 start=*)
pascal@143 70 sleep 1
pascal@143 71 /etc/init.d/${daemon#start=} start | log ;;
pascal@143 72 stop=*)
pascal@143 73 /etc/init.d/${daemon#stop=} stop | log ;;
pascal@143 74 pid=*)
pascal@143 75 echo "<pre>"
pascal@143 76 ps ww | sed "1p;/^ *${daemon#pid=} /!d"
pascal@143 77 echo "</pre>" ;;
pascal@143 78 esac
paul@205 79 # Daemon list
pankso@51 80 table_start
pankso@51 81 cat << EOT
pankso@51 82 <thead>
pankso@51 83 <tr>
pankso@51 84 <td>`gettext "Name"`</td>
pankso@51 85 <td>`gettext "Description"`</td>
pankso@51 86 <td>`gettext "Status"`</td>
pankso@51 87 <td>`gettext "Action"`</td>
pankso@51 88 <td>`gettext "PID"`</td>
pankso@51 89 </tr>
pankso@51 90 </thead>
pankso@51 91 EOT
pankso@51 92 cd /etc/init.d
pankso@51 93 list="`ls | sed -e /.sh/d -e /rc./d -e /RE/d -e /daemon/d \
pankso@51 94 -e /firewall/d`"
pankso@51 95 for name in $list
pankso@51 96 do
pankso@51 97 pkg=""
pankso@51 98 pid=""
pankso@51 99 status=""
pankso@51 100 SHORT_DESC=""
pankso@51 101 echo '<tr>'
pankso@51 102 # Name
pankso@51 103 echo "<td>$name</td>"
paul@52 104 # First check if daemon is started at bootime
pankso@51 105 [ echo "RUN_DAEMONS" | fgrep $name ] && boot="on boot"
paul@52 106 # Standard SliTaz busybox daemons and firewall
pankso@51 107 case "$name" in
pankso@51 108 firewall)
pankso@51 109 gettext "<td>SliTaz Firewall with iptable rules</td>" ;;
pankso@51 110 httpd)
pankso@51 111 gettext "<td>Small and fast web server with CGI support</td>" ;;
pankso@51 112 ntpd)
paul@52 113 gettext "<td>Network time protocol daemon</td>" ;;
pankso@51 114 ftpd)
pankso@51 115 gettext "<td>Anonymous FTP server</td>" ;;
pankso@51 116 udhcpd)
pankso@51 117 gettext "<td>Busybox DHCP server</td>" ;;
pankso@51 118 syslogd|klogd)
pankso@51 119 gettext "<td>Linux Kernel log daemon</td>" ;;
pankso@76 120 crond)
pankso@76 121 gettext "<td>Execute scheduled commands</td>" ;;
pankso@76 122 dnsd)
pankso@76 123 gettext "<td>Small static DNS server daemon</td>" ;;
pankso@76 124 tftpd)
pankso@76 125 gettext "<td>Transfer a file on tftp request</td>" ;;
pankso@76 126 inetd)
pankso@76 127 gettext "<td>Listen for network connections and launch programs</td>" ;;
pankso@76 128 zcip)
pankso@76 129 gettext "<td>Manage a ZeroConf IPv4 link-local address</td>" ;;
pankso@51 130 *)
paul@205 131 # Description from receipt
pankso@51 132 [ -d "$LOCALSTATE/installed/$name" ] && pkg=$name
pankso@51 133 [ -d "$LOCALSTATE/installed/${name%d}" ] && pkg=${name%d}
pankso@51 134 [ -d "$LOCALSTATE/installed/${name}-pam" ] && pkg=${name}-pam
pankso@51 135 if [ "$pkg" ]; then
pankso@51 136 . $LOCALSTATE/installed/$pkg/receipt
pankso@51 137 echo "<td>$SHORT_DESC</td>"
pankso@51 138 else
pankso@51 139 echo "<td>----</td>"
pankso@51 140 fi ;;
pankso@51 141 esac
paul@205 142 # Attempt to get daemon status
pankso@51 143 pidfile=`find /var/run -name *$name*.pid`
pankso@51 144 [ "$pidfile" ] && pid=`cat $pidfile`
pankso@51 145 # dbus
pankso@51 146 [ -f /var/run/${name}/pid ] && pid=`cat /var/run/${name}/pid`
pankso@51 147 # apache
pankso@51 148 [ "$name" = "apache" ] && pid=`cat /var/run/$name/httpd.pid`
paul@205 149 # Pidof works for many daemons
pankso@51 150 [ "$pid" ] || pid=`pidof $name`
pankso@51 151 if [ "$pid" ]; then
pascal@143 152 cat << EOT
pascal@143 153 <td><img src="$IMAGES/started.png" /></td>
pascal@143 154 <td><a href="$SCRIPT_NAME?daemons=stop=$name">
pascal@143 155 <img src="$IMAGES/stop.png" /></a></td>
pascal@143 156 <td>
pascal@143 157 EOT
pascal@143 158 for i in $pid; do
pascal@143 159 cat << EOT
pascal@143 160 <a href="$SCRIPT_NAME?daemons=pid=$i">$i</a>
pascal@143 161 EOT
pascal@143 162 done
pankso@51 163 else
pascal@143 164 cat << EOT
pascal@143 165 <td>-</td>
pascal@143 166 <td><a href="$SCRIPT_NAME?daemons=start=$name">
pascal@143 167 <img src="$IMAGES/start.png" /></a></td>
pascal@143 168 <td>-----
pascal@143 169 EOT
pankso@51 170 fi
pascal@143 171 echo '</td></tr>'
pankso@51 172 done
pankso@51 173 table_end ;;
pankso@151 174 *\ grub\ *)
pankso@151 175 if [ "$(GET splash)" ]; then
pankso@151 176 default=$(GET default)
pankso@151 177 timeout=$(GET timeout)
pankso@151 178 splash=$(GET splash)
pankso@151 179 sed -i \
pankso@151 180 -e s"/default .*/default $default/" \
pankso@151 181 -e s"/timeout .*/timeout $timeout/" \
pankso@151 182 -e s"#splashimage=.*#splashimage=$splash#" \
pankso@151 183 /boot/grub/menu.lst
pankso@151 184 fi
pankso@151 185 default=$(cat /boot/grub/menu.lst | grep ^default | cut -d " " -f 2)
pankso@151 186 timeout=$(cat /boot/grub/menu.lst | grep ^timeout | cut -d " " -f 2)
pankso@151 187 splash=$(cat /boot/grub/menu.lst | grep ^splashimage | cut -d "=" -f 2)
pankso@151 188 xhtml_header
pankso@151 189 cat << EOT
pankso@151 190 <div id="wrapper">
pankso@151 191 <h2>$(gettext "GRUB Boot loader")</h2>
pankso@151 192 <p>
paul@157 193 $(gettext "The first application started when the computer powers on")
pankso@151 194 </p>
pankso@151 195 </div>
pankso@151 196
pankso@151 197 <form method="get" action="$SCRIPT_NAME">
pankso@151 198 <input type="hidden" name="grub" />
pankso@151 199 <pre>
pankso@151 200 Default entry : <input type="text" name="default" value="$default" />
pankso@151 201
pankso@151 202 Timeout : <input type="text" name="timeout" value="$timeout" />
pankso@151 203
pankso@151 204 Splash image : <input type="text" name="splash" value="$splash" size="40" />
pankso@151 205 </pre>
pankso@151 206 <input type="submit" value="$(gettext "Change")" />
pankso@151 207 <a class="button" href="index.cgi?file=/boot/grub/menu.lst">
pankso@151 208 <img src="$IMAGES/text.png" />View or edit menu.lst</a>
pankso@151 209 </form>
pankso@151 210
pankso@151 211 <h3>$(gettext "Boot entries")</h3>
pankso@151 212 EOT
pankso@151 213 entry='-1'
pankso@151 214 grep ^title /boot/grub/menu.lst | while read title
pankso@151 215 do
pankso@151 216 entry=$(($entry + 1))
pankso@151 217 echo "<strong>$(gettext "Entry") $entry</strong>"
pankso@151 218 echo '<pre>'
pankso@151 219 grep -A 2 "$title" /boot/grub/menu.lst
pankso@151 220 echo '</pre>'
pankso@151 221 done
pankso@151 222 # Here we could check if an entry for gpxe is present if not
pankso@151 223 # display a form to add it.
pankso@151 224 [ -f "/boot/gpxe" ] && echo "<h3>gPXE</h3>" && \
pankso@151 225 gettext "Web boot is avalaible with gPXE"
pankso@151 226 ;;
pankso@50 227 *)
pankso@50 228 #
pankso@51 229 # Default content with summary
pankso@50 230 #
pankso@50 231 . /etc/rcS.conf
pankso@50 232 xhtml_header
pankso@50 233 cat << EOT
pankso@50 234 <div id="wrapper">
pankso@151 235 <h2>$(gettext "Boot &amp; Start services")</h2>
pankso@50 236 <p>
pankso@151 237 $(gettext "Everything that happens before user login")
pankso@50 238 </p>
pankso@50 239 </div>
pankso@51 240 <div>
pascal@130 241 <a class="button" href="$SCRIPT_NAME?log">
pankso@151 242 <img src="$IMAGES/text.png" />$(gettext "Boot logs")</a>
pascal@124 243 <a class="button" href="$SCRIPT_NAME?daemons">
pankso@151 244 <img src="$IMAGES/recharge.png" />$(gettext "Manage daemons")</a>
pankso@151 245 <a class="button" href="$SCRIPT_NAME?grub">$(gettext "Boot loader")</a>
pankso@51 246 </div>
pankso@51 247
pankso@57 248 <h3>`gettext "Configuration files"`</h3>
pankso@57 249 <ul>
pankso@57 250 <li>`gettext "Main configuration file:"`
pankso@57 251 <a href="index.cgi?file=/etc/rcS.conf">rcS.conf</a></li>
pankso@57 252 <li>`gettext "Login manager settings:"`
pankso@57 253 <a href="index.cgi?file=/etc/slim.conf">slim.conf</a></li>
pankso@73 254 </ul>
pankso@57 255
pankso@50 256 <h3>`gettext "Kernel cmdline"`</h3>
pankso@50 257 <pre>
pankso@50 258 `cat /proc/cmdline`
pankso@50 259 </pre>
pankso@50 260 <h3>`gettext "Local startup commands"`</h3>
pankso@50 261 <pre>
pankso@75 262 $(cat /etc/init.d/local.sh | syntax_highlighter sh)
pankso@50 263 </pre>
pankso@105 264 <a class="button" href="index.cgi?file=/etc/init.d/local.sh&amp;action=edit">
pankso@105 265 <img src="$IMAGES/edit.png" />$(gettext "Edit script")</a>
pankso@50 266 EOT
pankso@50 267 ;;
pankso@50 268 esac
pankso@50 269
pankso@50 270 xhtml_footer
pankso@50 271 exit 0