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 |