slitaz-boot-scripts annotate etc/init.d/system.sh @ rev 391

system.sh: revert commit 378 restores swap activation
author Richard Dunbar <mojo@slitaz.org>
date Sat Feb 07 15:49:16 2015 -0500 (2015-02-07)
parents 0e9e08cd6665
children 6c2d6362887d
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@306 29 # Locale config
pankso@262 30 if [ ! -s "/etc/locale.conf" ]; then
pankso@300 31 echo "Setting system locale to: POSIX (English)"
pankso@299 32 echo -e "LANG=POSIX\nLC_ALL=POSIX" > /etc/locale.conf
pankso@262 33 fi
pankso@300 34 . /etc/locale.conf
pankso@306 35 echo -n "Setting system locale: $LANG"
pankso@306 36 export LC_ALL=$LANG
pankso@300 37 . /lib/libtaz.sh && status
pankso@262 38
pankso@306 39 # Keymap config: Default to us in live mode if kmap= was not used.
pankso@299 40 if [ ! -s "/etc/keymap.conf" ]; then
pankso@306 41 echo "Setting system keymap to: us (USA)"
pankso@299 42 echo "us" > /etc/keymap.conf
pankso@299 43 fi
pankso@300 44 kmap=$(cat /etc/keymap.conf)
pankso@306 45 echo -n "Loading console keymap: $kmap"
pankso@306 46 /sbin/tazkeymap $kmap >/dev/null
pankso@306 47 status
pankso@262 48
pankso@306 49 # Timezone config: Set timezone using the keymap config for fr, be, fr_CH
pankso@262 50 # and ca with Montreal.
pankso@262 51 if [ ! -s "/etc/TZ" ]; then
pankso@300 52 case "$kmap" in
pankso@262 53 fr-latin1|be-latin1)
pankso@262 54 echo "Europe/Paris" > /etc/TZ ;;
pankso@262 55 fr_CH-latin1|de_CH-latin1)
pankso@262 56 echo "Europe/Zurich" > /etc/TZ ;;
pankso@302 57 cf) echo "America/Montreal" > /etc/TZ ;;
pankso@302 58 *) echo "UTC" > /etc/TZ ;;
pankso@262 59 esac
pankso@262 60 fi
pankso@262 61
pankso@302 62 # Activate an eventual swap file or partition
mojo@391 63 if [ "$(blkid | grep 'TYPE="swap"')" ]; then
mojo@391 64 for swd in $(blkid | sed '/TYPE="swap"/!d;s/:.*//'); do
mojo@391 65 if ! grep -q "$swd " /etc/fstab; then
mojo@391 66 echo "Swap memory detected on: $swd"
mojo@391 67 cat >> /etc/fstab <<EOT
mojo@391 68 $swd swap swap defaults 0 0
mojo@391 69 EOT
mojo@391 70 fi
mojo@391 71 done
mojo@391 72 fi
pankso@302 73 if grep -q swap /etc/fstab; then
pankso@302 74 echo -n "Activating swap memory..."
pankso@302 75 swapon -a && status
pankso@302 76 fi
pankso@302 77
pankso@302 78 # Start TazPanel
pankso@302 79 [ -x /usr/bin/tazpanel ] && tazpanel start
pankso@364 80
pankso@364 81 # Kernel polling for automount
pankso@364 82 echo 5000 > /sys/module/block/parameters/events_dfl_poll_msecs 2>/dev/null
pankso@377 83
pankso@377 84 # Sound configuration stuff. First check if sound=no and remove all
pankso@377 85 # sound Kernel modules.
pankso@377 86 if [ -n "$DRIVER" ]; then
pankso@377 87 case "$DRIVER" in
pankso@377 88 no)
pankso@377 89 echo -n "Removing all sound kernel modules..."
pankso@377 90 rm -rf /lib/modules/$(uname -r)/kernel/sound
pankso@377 91 status
pankso@377 92 echo -n "Removing all sound packages..."
pankso@377 93 for i in $(grep -l '^DEPENDS=.*alsa-lib' /var/lib/tazpkg/installed/*/receipt) ; do
pankso@377 94 pkg=${i#/var/lib/tazpkg/installed/}
pankso@377 95 echo 'y' | tazpkg remove ${pkg%/*} > /dev/null
pankso@377 96 done
pankso@377 97 for i in alsa-lib mhwaveedit asunder libcddb ; do
pankso@377 98 echo 'y' | tazpkg remove $i > /dev/null
pankso@377 99 done
pankso@377 100 status ;;
pankso@377 101 noconf)
pankso@377 102 echo "Sound configuration was disabled from cmdline..." ;;
pankso@377 103 *)
pankso@377 104 if [ -x /usr/sbin/soundconf ]; then
pankso@377 105 echo "Using sound kernel module $DRIVER..."
pankso@377 106 /usr/sbin/soundconf -M $DRIVER
pankso@377 107 fi ;;
pankso@377 108 esac
pankso@377 109 # Sound card may already be detected by kernel/udev
pankso@377 110 elif [ -d /proc/asound ]; then
pankso@377 111 if [ -s /var/lib/alsa/asound.state ]; then
pankso@377 112 # Restore sound config for installed system
pankso@377 113 echo "Restoring last alsa configuration..."
pankso@377 114 (sleep 2; alsactl restore) &
pankso@377 115 else
pankso@377 116 # Initialize sound card
pankso@377 117 alsactl init
pankso@377 118 fi
pankso@377 119 else
pankso@377 120 echo "WARNING: Unable to configure sound card"
pankso@377 121 fi