slitaz-boot-scripts annotate etc/init.d/bootopts.sh @ rev 6

SliTaz boot options handler script
author Christophe Lincoln <pankso@slitaz.org>
date Fri Nov 30 12:30:38 2007 +0100 (2007-11-30)
parents
children 337a083dc89f
rev   line source
pankso@6 1 #!/bin/sh
pankso@6 2 # /etc/init.d/bootopts.sh - SliTaz boot options from the cmdline.
pankso@6 3 #
pankso@6 4 . /etc/init.d/rc.functions
pankso@6 5
pankso@6 6 # Mount /home and check for user hacker home dir.
pankso@6 7 #
pankso@6 8 mount_home()
pankso@6 9 {
pankso@6 10 echo "Home has been specified to $DEVICE..."
pankso@6 11 echo -n "Sleeping 10 s to let the kernel detect the device... "
pankso@6 12 sleep 10
pankso@6 13 status
pankso@6 14 if grep -q "$DEVICE" /proc/partitions ; then
pankso@6 15 echo "Mounting /home on /dev/$DEVICE... "
pankso@6 16 mv /home/hacker /tmp/hacker-home
pankso@6 17 mount -t ext3 /dev/$DEVICE /home
pankso@6 18 else
pankso@6 19 echo "Unable to find $DEVICE in /proc/partitions... "
pankso@6 20 fi
pankso@6 21 # Move all hacker dir if needed.
pankso@6 22 if [ ! -d "/home/hacker" ] ; then
pankso@6 23 mv /tmp/hacker-home /home/hacker
pankso@6 24 chown -R hacker.hacker /home/hacker
pankso@6 25 else
pankso@6 26 rm -rf /tmp/hacker-home
pankso@6 27 fi
pankso@6 28 }
pankso@6 29
pankso@6 30 # Parse /proc/cmdline with grep.
pankso@6 31 #
pankso@6 32
pankso@6 33 echo "Parsing kernel cmdline for SliTaz live options... "
pankso@6 34
pankso@6 35 # Check for a specified home directory on cmdline (home=*).
pankso@6 36 #
pankso@6 37 if grep -q "home=usb" /proc/cmdline; then
pankso@6 38 DEVICE=sda1
pankso@6 39 mount_home
pankso@6 40 elif grep -q "home=" /proc/cmdline; then
pankso@6 41 DEVICE=`cat /proc/cmdline | sed 's/.*home=\([^ ]*\).*/\1/'`
pankso@6 42 mount_home
pankso@6 43 fi
pankso@6 44
pankso@6 45 # Active an eventual swap file in /home and on local hd.
pankso@6 46 #
pankso@6 47 if [ -f "/home/swap" ]; then
pankso@6 48 echo "Activing swap (/home/swap) memory..."
pankso@6 49 swapon /home/swap
pankso@6 50 fi
pankso@6 51 if [ "`fdisk -l | grep swap`" ]; then
pankso@6 52 for SWAP_DEV in `fdisk -l | grep swap | awk '{ print $1 }'`; do
pankso@6 53 echo "Swap memory detected on : $SWAP_DEV"
pankso@6 54 swapon $SWAP_DEV
pankso@6 55 done
pankso@6 56 fi
pankso@6 57
pankso@6 58 # Check for a specified locale (lang=*).
pankso@6 59 #
pankso@6 60 if grep -q "lang=*" /proc/cmdline; then
pankso@6 61 LANG=`cat /proc/cmdline | sed 's/.*lang=\([^ ]*\).*/\1/'`
pankso@6 62 echo -n "Setting system locale to: $LANG... "
pankso@6 63 echo "LANG=$LANG" > /etc/locale.conf
pankso@6 64 echo "LC_ALL=$LANG" >> /etc/locale.conf
pankso@6 65 status
pankso@6 66 fi
pankso@6 67
pankso@6 68 # Check for a specified keymap (kmap=*).
pankso@6 69 #
pankso@6 70 if grep -q "kmap=*" /proc/cmdline; then
pankso@6 71 KMAP=`cat /proc/cmdline | sed 's/.*kmap=\([^ ]*\).*/\1/'`
pankso@6 72 echo -n "Setting system keymap to: $KMAP..."
pankso@6 73 echo "KMAP=$KMAP.kmap" > /etc/kmap.conf
pankso@6 74 status
pankso@6 75 fi
pankso@6 76