Adding upstream version 3.0~a30.
[live-boot-grml.git] / scripts / boot / swapon.sh
1 #!/bin/sh
2
3 #set -e
4
5 Swapon ()
6 {
7         _DEVICES="/dev/sd* /dev/vd*"
8
9         if [ -e /run ]
10         then
11                 # wheezy
12                 _FSTAB="/root/etc/fstab.d/swap"
13         else
14                 # squeeze
15                 _FSTAB="/root/etc/fstab"
16         fi
17
18         for _DEVICE in ${_DEVICES}
19         do
20                 if [ ! -b "${_DEVICE}" ]
21                 then
22                         continue
23                 fi
24
25                 blkid -o udev -p ${_DEVICE%%[0-9]*} | grep -q "^ID_FS_USAGE=raid" && continue
26
27                 _MAGIC="$(/bin/dd if=${_DEVICE} bs=4086 skip=1 count=1 2>/dev/null | /bin/dd bs=10 count=1 2>/dev/null)" || continue
28
29                 case "${_MAGIC}" in
30                         SWAPSPACE2|SWAP-SPACE)
31                                 _SWAP_DEVICES="${_SWAP_DEVICES} ${_DEVICE}"
32                                 ;;
33                 esac
34         done
35
36         # Remove all auto swap entries
37         if grep -qs "swap swap" "${_FSTAB}"
38         then
39                 grep -v "swap swap" "${_FSTAB}" > "${_FSTAB}".tmp
40                 mv "${_FSTAB}".tmp "${_FSTAB}"
41         fi
42
43         # Add new swap entries
44         for _DEVICE in _SWAP_DEVICES
45         do
46                 echo "${_DEVICE} swap swap defaults 0 0" >> "${_FSTAB}"
47         done
48 }