tazpanel annotate boot.cgi @ rev 222
tazpanel default config for loopback only (again)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Mon Jan 23 15:55:24 2012 +0100 (2012-01-23) |
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 & 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&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 |