slitaz-boot-scripts annotate etc/init.d/system.sh @ rev 367
Fis sound card config initialization on first boot
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Mon May 05 22:08:51 2014 +0200 (2014-05-05) |
parents | 27c455a9f7ac |
children | 95da8328cbb5 |
rev | line source |
---|---|
pankso@262 | 1 #!/bin/sh |
pankso@302 | 2 # |
pankso@302 | 3 # /etc/init.d/system.sh : SliTaz hardware configuration |
pankso@262 | 4 # |
pankso@262 | 5 # This script configures the sound card and screen. Tazhw is used earlier |
paul@265 | 6 # at boot time to autoconfigure PCI and USB devices. It also configures |
pankso@302 | 7 # system language, keyboard and TZ in live mode and start X. |
pankso@262 | 8 # |
pankso@262 | 9 . /etc/init.d/rc.functions |
pankso@302 | 10 . /etc/rcS.conf |
pankso@262 | 11 |
pankso@262 | 12 # Parse cmdline args for boot options (See also rcS and bootopts.sh). |
pankso@262 | 13 XARG="" |
pankso@262 | 14 for opt in $(cat /proc/cmdline) |
pankso@262 | 15 do |
pankso@262 | 16 case $opt in |
pascal@268 | 17 console=*) |
pascal@268 | 18 sed -i "s/tty1/${opt#console=}/g;/^tty[2-9]::/d" \ |
pascal@268 | 19 /etc/inittab ;; |
pankso@262 | 20 sound=*) |
pankso@262 | 21 DRIVER=${opt#sound=} ;; |
pankso@262 | 22 xarg=*) |
pankso@262 | 23 XARG="$XARG ${opt#xarg=}" ;; |
pankso@262 | 24 *) |
pankso@262 | 25 continue ;; |
pankso@262 | 26 esac |
pankso@262 | 27 done |
pankso@262 | 28 |
pankso@262 | 29 # Sound configuration stuff. First check if sound=no and remove all |
pankso@262 | 30 # sound Kernel modules. |
pankso@262 | 31 if [ -n "$DRIVER" ]; then |
pankso@262 | 32 case "$DRIVER" in |
pankso@302 | 33 no) |
pankso@302 | 34 echo -n "Removing all sound kernel modules..." |
pankso@302 | 35 rm -rf /lib/modules/$(uname -r)/kernel/sound |
pankso@302 | 36 status |
pankso@302 | 37 echo -n "Removing all sound packages..." |
pankso@302 | 38 for i in $(grep -l '^DEPENDS=.*alsa-lib' /var/lib/tazpkg/installed/*/receipt) ; do |
pankso@302 | 39 pkg=${i#/var/lib/tazpkg/installed/} |
pankso@302 | 40 echo 'y' | tazpkg remove ${pkg%/*} > /dev/null |
pankso@302 | 41 done |
pankso@302 | 42 for i in alsa-lib mhwaveedit asunder libcddb ; do |
pankso@302 | 43 echo 'y' | tazpkg remove $i > /dev/null |
pankso@302 | 44 done |
pankso@302 | 45 status ;; |
pankso@302 | 46 noconf) |
pankso@302 | 47 echo "Sound configuration was disabled from cmdline..." ;; |
pankso@302 | 48 *) |
pankso@302 | 49 if [ -x /usr/sbin/soundconf ]; then |
pankso@302 | 50 echo "Using sound kernel module $DRIVER..." |
pankso@302 | 51 /usr/sbin/soundconf -M $DRIVER |
pankso@302 | 52 fi ;; |
pankso@262 | 53 esac |
pankso@367 | 54 # Sound card may already be detected by kernel/udev |
pankso@262 | 55 elif [ -d /proc/asound ]; then |
pankso@367 | 56 # Restore sound config for installed system |
pankso@280 | 57 if [ -s /var/lib/alsa/asound.state ]; then |
pankso@262 | 58 echo -n "Restoring last alsa configuration..." |
pankso@262 | 59 alsactl restore |
pankso@262 | 60 status |
pankso@262 | 61 else |
pankso@367 | 62 # Initialize sound card |
pankso@367 | 63 alsactl init |
pankso@262 | 64 fi |
pankso@262 | 65 else |
pankso@262 | 66 echo "Unable to configure sound card." |
pankso@262 | 67 fi |
pankso@262 | 68 |
pankso@306 | 69 # Locale config |
pankso@262 | 70 if [ ! -s "/etc/locale.conf" ]; then |
pankso@300 | 71 echo "Setting system locale to: POSIX (English)" |
pankso@299 | 72 echo -e "LANG=POSIX\nLC_ALL=POSIX" > /etc/locale.conf |
pankso@262 | 73 fi |
pankso@300 | 74 . /etc/locale.conf |
pankso@306 | 75 echo -n "Setting system locale: $LANG" |
pankso@306 | 76 export LC_ALL=$LANG |
pankso@300 | 77 . /lib/libtaz.sh && status |
pankso@262 | 78 |
pankso@306 | 79 # Keymap config: Default to us in live mode if kmap= was not used. |
pankso@299 | 80 if [ ! -s "/etc/keymap.conf" ]; then |
pankso@306 | 81 echo "Setting system keymap to: us (USA)" |
pankso@299 | 82 echo "us" > /etc/keymap.conf |
pankso@299 | 83 fi |
pankso@300 | 84 kmap=$(cat /etc/keymap.conf) |
pankso@306 | 85 echo -n "Loading console keymap: $kmap" |
pankso@306 | 86 /sbin/tazkeymap $kmap >/dev/null |
pankso@306 | 87 status |
pankso@262 | 88 |
pankso@306 | 89 # Timezone config: Set timezone using the keymap config for fr, be, fr_CH |
pankso@262 | 90 # and ca with Montreal. |
pankso@262 | 91 if [ ! -s "/etc/TZ" ]; then |
pankso@300 | 92 case "$kmap" in |
pankso@262 | 93 fr-latin1|be-latin1) |
pankso@262 | 94 echo "Europe/Paris" > /etc/TZ ;; |
pankso@262 | 95 fr_CH-latin1|de_CH-latin1) |
pankso@262 | 96 echo "Europe/Zurich" > /etc/TZ ;; |
pankso@302 | 97 cf) echo "America/Montreal" > /etc/TZ ;; |
pankso@302 | 98 *) echo "UTC" > /etc/TZ ;; |
pankso@262 | 99 esac |
pankso@262 | 100 fi |
pankso@262 | 101 |
pankso@302 | 102 # Activate an eventual swap file or partition |
pascal@320 | 103 if [ "$(blkid | grep 'TYPE="swap"')" ]; then |
pascal@320 | 104 for swd in $(blkid | sed '/TYPE="swap"/!d;s/:.*//'); do |
pankso@302 | 105 if ! grep -q "$swd " /etc/fstab; then |
pankso@302 | 106 echo "Swap memory detected on: $swd" |
pankso@302 | 107 cat >> /etc/fstab <<EOT |
pascal@319 | 108 $swd swap swap defaults 0 0 |
pankso@302 | 109 EOT |
pankso@302 | 110 fi |
pankso@302 | 111 done |
pankso@302 | 112 fi |
pankso@302 | 113 if grep -q swap /etc/fstab; then |
pankso@302 | 114 echo -n "Activating swap memory..." |
pankso@302 | 115 swapon -a && status |
pankso@302 | 116 fi |
pankso@302 | 117 |
pankso@302 | 118 # Start TazPanel |
pankso@302 | 119 [ -x /usr/bin/tazpanel ] && tazpanel start |
pankso@364 | 120 |
pankso@364 | 121 # Kernel polling for automount |
pankso@364 | 122 echo 5000 > /sys/module/block/parameters/events_dfl_poll_msecs 2>/dev/null |