slitaz-boot-scripts annotate etc/init.d/system.sh @ rev 299
No more locale/keymap config at boot! Use syslinux menu. and fix opt wm=
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Tue Apr 17 15:56:40 2012 +0200 (2012-04-17) |
parents | 23be5da0f57c |
children | 1dbfd813e21e |
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 |
paul@265 | 5 # at boot time to autoconfigure PCI and USB devices. It also configures |
paul@265 | 6 # system language, keyboard 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 |
pascal@268 | 15 console=*) |
pascal@268 | 16 sed -i "s/tty1/${opt#console=}/g;/^tty[2-9]::/d" \ |
pascal@268 | 17 /etc/inittab ;; |
pankso@262 | 18 sound=*) |
pankso@262 | 19 DRIVER=${opt#sound=} ;; |
pankso@262 | 20 xarg=*) |
pankso@262 | 21 XARG="$XARG ${opt#xarg=}" ;; |
pankso@262 | 22 screen=text) |
pankso@262 | 23 SCREEN=text |
pankso@262 | 24 # Disable X. |
pankso@262 | 25 echo -n "Disabling X login manager: slim..." |
pankso@262 | 26 . /etc/rcS.conf |
pankso@262 | 27 RUN_DAEMONS=$(echo $RUN_DAEMONS | sed s/' slim'/''/) |
pankso@262 | 28 sed -i s/"RUN_DAEMONS.*"/"RUN_DAEMONS=\"$RUN_DAEMONS\"/" /etc/rcS.conf |
pankso@262 | 29 status ;; |
pankso@262 | 30 screen=*) |
pankso@262 | 31 SCREEN=${opt#screen=} ;; |
pankso@262 | 32 *) |
pankso@262 | 33 continue ;; |
pankso@262 | 34 esac |
pankso@262 | 35 done |
pankso@262 | 36 |
pankso@262 | 37 # Sound configuration stuff. First check if sound=no and remove all |
pankso@262 | 38 # sound Kernel modules. |
pankso@262 | 39 if [ -n "$DRIVER" ]; then |
pankso@262 | 40 case "$DRIVER" in |
pankso@262 | 41 no) |
pankso@262 | 42 echo -n "Removing all sound kernel modules..." |
pankso@262 | 43 rm -rf /lib/modules/`uname -r`/kernel/sound |
pankso@262 | 44 status |
pankso@262 | 45 echo -n "Removing all sound packages..." |
pankso@262 | 46 for i in $(grep -l '^DEPENDS=.*alsa-lib' /var/lib/tazpkg/installed/*/receipt) ; do |
pankso@262 | 47 pkg=${i#/var/lib/tazpkg/installed/} |
pankso@262 | 48 echo 'y' | tazpkg remove ${pkg%/*} > /dev/null |
pankso@262 | 49 done |
pankso@262 | 50 for i in alsa-lib mhwaveedit asunder libcddb ; do |
pankso@262 | 51 echo 'y' | tazpkg remove $i > /dev/null |
pankso@262 | 52 done |
pankso@262 | 53 status ;; |
pankso@262 | 54 noconf) |
pankso@262 | 55 echo "Sound configuration was disabled from cmdline..." ;; |
pankso@262 | 56 *) |
pankso@262 | 57 if [ -x /usr/sbin/soundconf ]; then |
pankso@262 | 58 echo "Using sound kernel module $DRIVER..." |
pankso@262 | 59 /usr/sbin/soundconf -M $DRIVER |
pankso@262 | 60 fi ;; |
pankso@262 | 61 esac |
pankso@262 | 62 # Sound card may already be detected by PCI-detect. |
pankso@262 | 63 elif [ -d /proc/asound ]; then |
pankso@262 | 64 # Restore sound config for installed system. |
pankso@280 | 65 if [ -s /var/lib/alsa/asound.state ]; then |
pankso@262 | 66 echo -n "Restoring last alsa configuration..." |
pankso@262 | 67 alsactl restore |
pankso@262 | 68 status |
pankso@262 | 69 else |
pankso@262 | 70 /usr/sbin/setmixer |
pankso@262 | 71 fi |
pankso@262 | 72 # Start soundconf to config driver and load module for Live mode |
pankso@262 | 73 # if not yet detected. |
pankso@262 | 74 /usr/bin/amixer >/dev/null || /usr/sbin/soundconf |
pankso@262 | 75 else |
pankso@262 | 76 echo "Unable to configure sound card." |
pankso@262 | 77 fi |
pankso@262 | 78 |
pankso@262 | 79 # Start TazPanel |
pankso@262 | 80 [ -x /usr/bin/tazpanel ] && tazpanel start |
pankso@262 | 81 |
pankso@262 | 82 # Auto recharge packages list (after network connection of course) |
pankso@262 | 83 [ "$RECHARGE_PACKAGES_LIST" == "yes" ] && tazpkg recharge & |
pankso@262 | 84 |
pankso@262 | 85 # Locale config. Do a gui config for both lang/keymap. |
pankso@262 | 86 echo "Checking if /etc/locale.conf exists... " |
pankso@262 | 87 if [ ! -s "/etc/locale.conf" ]; then |
pankso@299 | 88 echo "Setting system locale to: C (English)" |
pankso@299 | 89 echo -e "LANG=POSIX\nLC_ALL=POSIX" > /etc/locale.conf |
pankso@262 | 90 fi |
pankso@299 | 91 echo -n "Locale configuration: $LANG" |
pankso@299 | 92 . /etc/locale.conf |
pankso@299 | 93 export LANG LC_ALL |
pankso@299 | 94 status |
pankso@262 | 95 |
pankso@262 | 96 # Keymap config. |
pankso@299 | 97 if [ ! -s "/etc/keymap.conf" ]; then |
pankso@299 | 98 echo "us" > /etc/keymap.conf |
pankso@299 | 99 fi |
pankso@299 | 100 KEYMAP=$(cat /etc/keymap.conf) |
pankso@299 | 101 echo "Keymap configuration: $KEYMAP" |
pankso@299 | 102 if [ -x /bin/loadkeys ]; then |
pankso@299 | 103 loadkeys $KEYMAP |
pankso@262 | 104 else |
pankso@299 | 105 loadkmap < /usr/share/kmap/$KEYMAP.kmap |
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 |
paul@265 | 135 # can use FAST_BOOT_X which starts X beforehand. 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 |