slitaz-boot-scripts annotate etc/init.d/system.sh @ rev 264
system.sh: in frugal we slim start to quickly...
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Mon May 16 11:40:35 2011 +0200 (2011-05-16) |
parents | 8b16caf41633 |
children | 7cae07b36655 |
rev | line source |
---|---|
pankso@262 | 1 #!/bin/sh |
pankso@262 | 2 # /etc/init.d/system.sh - SliTaz hardware configuration. |
pankso@262 | 3 # |
pankso@262 | 4 # This script configures the sound card and screen. Tazhw is used earlier |
pankso@262 | 5 # at boot time to autoconfigure PCI and USB devices. It also configure |
pankso@262 | 6 # system language, keyboarf and TZ in live mode. |
pankso@262 | 7 # |
pankso@262 | 8 . /etc/init.d/rc.functions |
pankso@262 | 9 |
pankso@262 | 10 # Parse cmdline args for boot options (See also rcS and bootopts.sh). |
pankso@262 | 11 XARG="" |
pankso@262 | 12 for opt in $(cat /proc/cmdline) |
pankso@262 | 13 do |
pankso@262 | 14 case $opt in |
pankso@262 | 15 sound=*) |
pankso@262 | 16 DRIVER=${opt#sound=} ;; |
pankso@262 | 17 xarg=*) |
pankso@262 | 18 XARG="$XARG ${opt#xarg=}" ;; |
pankso@262 | 19 screen=text) |
pankso@262 | 20 SCREEN=text |
pankso@262 | 21 # Disable X. |
pankso@262 | 22 echo -n "Disabling X login manager: slim..." |
pankso@262 | 23 . /etc/rcS.conf |
pankso@262 | 24 RUN_DAEMONS=$(echo $RUN_DAEMONS | sed s/' slim'/''/) |
pankso@262 | 25 sed -i s/"RUN_DAEMONS.*"/"RUN_DAEMONS=\"$RUN_DAEMONS\"/" /etc/rcS.conf |
pankso@262 | 26 status ;; |
pankso@262 | 27 screen=*) |
pankso@262 | 28 SCREEN=${opt#screen=} ;; |
pankso@262 | 29 *) |
pankso@262 | 30 continue ;; |
pankso@262 | 31 esac |
pankso@262 | 32 done |
pankso@262 | 33 |
pankso@262 | 34 # Sound configuration stuff. First check if sound=no and remove all |
pankso@262 | 35 # sound Kernel modules. |
pankso@262 | 36 if [ -n "$DRIVER" ]; then |
pankso@262 | 37 case "$DRIVER" in |
pankso@262 | 38 no) |
pankso@262 | 39 echo -n "Removing all sound kernel modules..." |
pankso@262 | 40 rm -rf /lib/modules/`uname -r`/kernel/sound |
pankso@262 | 41 status |
pankso@262 | 42 echo -n "Removing all sound packages..." |
pankso@262 | 43 for i in $(grep -l '^DEPENDS=.*alsa-lib' /var/lib/tazpkg/installed/*/receipt) ; do |
pankso@262 | 44 pkg=${i#/var/lib/tazpkg/installed/} |
pankso@262 | 45 echo 'y' | tazpkg remove ${pkg%/*} > /dev/null |
pankso@262 | 46 done |
pankso@262 | 47 for i in alsa-lib mhwaveedit asunder libcddb ; do |
pankso@262 | 48 echo 'y' | tazpkg remove $i > /dev/null |
pankso@262 | 49 done |
pankso@262 | 50 status ;; |
pankso@262 | 51 noconf) |
pankso@262 | 52 echo "Sound configuration was disabled from cmdline..." ;; |
pankso@262 | 53 *) |
pankso@262 | 54 if [ -x /usr/sbin/soundconf ]; then |
pankso@262 | 55 echo "Using sound kernel module $DRIVER..." |
pankso@262 | 56 /usr/sbin/soundconf -M $DRIVER |
pankso@262 | 57 fi ;; |
pankso@262 | 58 esac |
pankso@262 | 59 # Sound card may already be detected by PCI-detect. |
pankso@262 | 60 elif [ -d /proc/asound ]; then |
pankso@262 | 61 # Restore sound config for installed system. |
pankso@262 | 62 if [ -s /etc/asound.state ]; then |
pankso@262 | 63 echo -n "Restoring last alsa configuration..." |
pankso@262 | 64 alsactl restore |
pankso@262 | 65 status |
pankso@262 | 66 else |
pankso@262 | 67 /usr/sbin/setmixer |
pankso@262 | 68 fi |
pankso@262 | 69 # Start soundconf to config driver and load module for Live mode |
pankso@262 | 70 # if not yet detected. |
pankso@262 | 71 /usr/bin/amixer >/dev/null || /usr/sbin/soundconf |
pankso@262 | 72 else |
pankso@262 | 73 echo "Unable to configure sound card." |
pankso@262 | 74 fi |
pankso@262 | 75 |
pankso@262 | 76 # Start TazPanel |
pankso@262 | 77 [ -x /usr/bin/tazpanel ] && tazpanel start |
pankso@262 | 78 |
pankso@262 | 79 # Auto recharge packages list (after network connection of course) |
pankso@262 | 80 [ "$RECHARGE_PACKAGES_LIST" == "yes" ] && tazpkg recharge & |
pankso@262 | 81 |
pankso@262 | 82 # Locale config. Do a gui config for both lang/keymap. |
pankso@262 | 83 echo "Checking if /etc/locale.conf exists... " |
pankso@262 | 84 if [ ! -s "/etc/locale.conf" ]; then |
pankso@262 | 85 if [ "$SCREEN" != "text" ] && [ -x /usr/bin/Xorg ]; then |
pankso@263 | 86 echo "Starting TazBox configuration..." |
pankso@262 | 87 DISPLAY=:1 tazbox boot |
pankso@262 | 88 else |
pankso@262 | 89 tazlocale |
pankso@262 | 90 fi |
pankso@262 | 91 else |
pankso@262 | 92 echo -n "Locale configuration: $(cat /etc/locale.conf)" && status |
pankso@262 | 93 fi |
pankso@262 | 94 |
pankso@262 | 95 # Keymap config. |
pankso@262 | 96 if [ -s "/etc/keymap.conf" ]; then |
pankso@262 | 97 KEYMAP=$(cat /etc/keymap.conf) |
pankso@262 | 98 echo "Keymap configuration: $KEYMAP" |
pankso@262 | 99 if [ -x /bin/loadkeys ]; then |
pankso@262 | 100 loadkeys $KEYMAP |
pankso@262 | 101 else |
pankso@262 | 102 loadkmap < /usr/share/kmap/$KEYMAP.kmap |
pankso@262 | 103 fi |
pankso@262 | 104 else |
pankso@262 | 105 tazkeymap |
pankso@262 | 106 fi |
pankso@262 | 107 |
pankso@262 | 108 # Timezone config. Set timezone using the keymap config for fr, be, fr_CH |
pankso@262 | 109 # and ca with Montreal. |
pankso@262 | 110 if [ ! -s "/etc/TZ" ]; then |
pankso@262 | 111 map=$(cat /etc/keymap.conf) |
pankso@262 | 112 case "$map" in |
pankso@262 | 113 fr-latin1|be-latin1) |
pankso@262 | 114 echo "Europe/Paris" > /etc/TZ ;; |
pankso@262 | 115 fr_CH-latin1|de_CH-latin1) |
pankso@262 | 116 echo "Europe/Zurich" > /etc/TZ ;; |
pankso@262 | 117 cf) |
pankso@262 | 118 echo "America/Montreal" > /etc/TZ ;; |
pankso@262 | 119 *) |
pankso@262 | 120 echo "UTC" > /etc/TZ ;; |
pankso@262 | 121 esac |
pankso@262 | 122 fi |
pankso@262 | 123 |
pankso@262 | 124 # Xorg auto configuration. |
pankso@262 | 125 if [ "$SCREEN" != "text" -a ! -s /etc/X11/xorg.conf -a -x /usr/bin/Xorg ]; then |
pankso@262 | 126 echo "Configuring Xorg..." |
pankso@262 | 127 # $HOME is not yet set. |
pankso@262 | 128 HOME=/root |
pankso@262 | 129 sed -i 's|/usr/bin/Xvesa|/usr/bin/Xorg|' /etc/slim.conf |
pankso@262 | 130 sed -i s/"^xserver_arguments"/'\#xserver_arguments'/ /etc/slim.conf |
pankso@262 | 131 tazx config-xorg 2>/var/log/xorg.configure.log |
pankso@262 | 132 fi |
pankso@262 | 133 |
pankso@262 | 134 # Start X sesssion as soon as possible in Live/frugal mode. HD install |
pankso@262 | 135 # can use FAST_BOOT_X wich start X even before. In live mode we need |
pankso@262 | 136 # keymap config for Xorg configuration and a working Xorg config. |
pankso@264 | 137 #if [ "$SCREEN" != "text" ] && [ -x /usr/bin/slim ]; then |
pankso@264 | 138 #if fgrep -q root=/dev/null /proc/cmdline; then |
pankso@264 | 139 #/etc/init.d/slim start |
pankso@264 | 140 #fi |
pankso@264 | 141 #fi |
pankso@262 | 142 |
pankso@262 | 143 # Firefox hack to get the right locale. |
pankso@262 | 144 if fgrep -q "fr_" /etc/locale.conf; then |
pankso@262 | 145 # But is the fox installed ? |
pankso@262 | 146 if [ -f "/var/lib/tazpkg/installed/firefox/receipt" ]; then |
pankso@262 | 147 . /var/lib/tazpkg/installed/firefox/receipt |
pankso@262 | 148 sed -i 's/en-US/fr/' /etc/firefox/pref/firefox-l10n.js |
pankso@262 | 149 fi |
pankso@262 | 150 fi |