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

gettext needs locale definition files
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Feb 21 14:07:33 2021 +0000 (2021-02-21)
parents 7763f4f1665c
children d37d21683dd1
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).
al@393 13 XARG=''
al@393 14 for opt in $(cat /proc/cmdline); do
pankso@262 15 case $opt in
pascal@268 16 console=*)
al@393 17 sed -i "s/tty1/${opt#console=}/g;/^tty[2-9]::/d" /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 *)
pankso@262 23 continue ;;
pankso@262 24 esac
pankso@262 25 done
pankso@262 26
pankso@306 27 # Locale config
al@393 28 if [ ! -s '/etc/locale.conf' ]; then
al@439 29 # Setting system locale to: POSIX (English)
al@393 30 echo -e 'LANG=POSIX\nLC_ALL=POSIX' > /etc/locale.conf
pankso@262 31 fi
pankso@300 32 . /etc/locale.conf
al@438 33 action 'Setting system locale: %s' "$LANG"
pascal@467 34 [ -d /usr/lib/locale/${LANG%.*} ] ||
pascal@467 35 localdef -i ${LANG%.*} -c -f UTF-8 /usr/lib/locale/${LANG%.*}
pankso@306 36 export LC_ALL=$LANG
al@416 37 status
pankso@262 38
pankso@306 39 # Keymap config: Default to us in live mode if kmap= was not used.
al@393 40 if [ ! -s '/etc/keymap.conf' ]; then
al@439 41 # Setting system keymap to: us (USA)
al@393 42 echo 'us' > /etc/keymap.conf
pankso@299 43 fi
pankso@300 44 kmap=$(cat /etc/keymap.conf)
al@438 45 action 'Loading console keymap: %s' "$kmap"
pankso@306 46 /sbin/tazkeymap $kmap >/dev/null
pankso@306 47 status
pankso@262 48
al@417 49 # Timezone config: Set timezone using the keymap config
al@417 50 # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
al@393 51 if [ ! -s '/etc/TZ' ]; then
pankso@300 52 case "$kmap" in
al@417 53 dk-*) tz='Europe/Copenhagen';;
al@417 54 de-*) tz='Europe/Berlin';;
al@417 55 es) tz='Europe/Madrid';;
al@417 56 fr-*) tz='Europe/Paris';;
al@417 57 be-*) tz='Europe/Brussels';;
al@417 58 *_CH-*) tz='Europe/Zurich';;
al@417 59 cf) tz='America/Toronto';;
al@417 60 *) tz='UTC';;
pankso@262 61 esac
al@417 62 echo "$tz" > /etc/TZ
pankso@262 63 fi
pankso@262 64
pankso@302 65 # Activate an eventual swap file or partition
psychomaniak@420 66 if ! grep -q 'noswap' /proc/cmdline; then
mojo@391 67 if [ "$(blkid | grep 'TYPE="swap"')" ]; then
mojo@391 68 for swd in $(blkid | sed '/TYPE="swap"/!d;s/:.*//'); do
mojo@391 69 if ! grep -q "$swd " /etc/fstab; then
mojo@391 70 echo "Swap memory detected on: $swd"
mojo@391 71 cat >> /etc/fstab <<EOT
mojo@391 72 $swd swap swap defaults 0 0
mojo@391 73 EOT
mojo@391 74 fi
mojo@391 75 done
mojo@391 76 fi
pankso@302 77 if grep -q swap /etc/fstab; then
al@416 78 action 'Activating swap memory...'
al@416 79 swapon -a
al@416 80 status
pankso@302 81 fi
psychomaniak@420 82 fi
pankso@302 83
pankso@302 84 # Start TazPanel
pankso@302 85 [ -x /usr/bin/tazpanel ] && tazpanel start
pankso@364 86
pankso@364 87 # Kernel polling for automount
pankso@364 88 echo 5000 > /sys/module/block/parameters/events_dfl_poll_msecs 2>/dev/null
pankso@377 89
pankso@377 90 # Sound configuration stuff. First check if sound=no and remove all
pankso@377 91 # sound Kernel modules.
pankso@377 92 if [ -n "$DRIVER" ]; then
pankso@377 93 case "$DRIVER" in
pankso@377 94 no)
al@416 95 action 'Removing all sound kernel modules...'
pankso@377 96 rm -rf /lib/modules/$(uname -r)/kernel/sound
pankso@377 97 status
al@416 98 action 'Removing all sound packages...'
pankso@377 99 for i in $(grep -l '^DEPENDS=.*alsa-lib' /var/lib/tazpkg/installed/*/receipt) ; do
pankso@377 100 pkg=${i#/var/lib/tazpkg/installed/}
al@417 101 yes y | tazpkg remove ${pkg%/*} >/dev/null
pankso@377 102 done
pankso@377 103 for i in alsa-lib mhwaveedit asunder libcddb ; do
al@417 104 yes y | tazpkg remove $i >/dev/null
pankso@377 105 done
pankso@377 106 status ;;
pankso@377 107 noconf)
al@393 108 echo 'Sound configuration was disabled from cmdline...' ;;
pankso@377 109 *)
pankso@377 110 if [ -x /usr/sbin/soundconf ]; then
pankso@377 111 echo "Using sound kernel module $DRIVER..."
pankso@377 112 /usr/sbin/soundconf -M $DRIVER
pankso@377 113 fi ;;
pankso@377 114 esac
pankso@377 115 # Sound card may already be detected by kernel/udev
pankso@377 116 elif [ -d /proc/asound ]; then
pankso@377 117 if [ -s /var/lib/alsa/asound.state ]; then
pankso@377 118 # Restore sound config for installed system
al@393 119 echo 'Restoring last alsa configuration...'
pankso@377 120 (sleep 2; alsactl restore) &
pankso@377 121 else
pankso@377 122 # Initialize sound card
pankso@377 123 alsactl init
pankso@377 124 fi
pankso@377 125 else
al@393 126 echo 'WARNING: Unable to configure sound card'
pankso@377 127 fi