Скрипт swapinit.sh


Этот скрипт инициализирует область подкачки на разделе. Код, отвечающий за определение сигнатуры, повторяется 6 раз, так как сигнатура иногда правильно определяется со второго или третьего раза. (Основано на скрипте, приведенном в Swap-Space-HOWTO автора H. Peter Anvin)

#!/bin/sh # # swapinit.sh - активизируем раздел подкачки (activate the swap partition) # # автор Rahul U. Joshi, перевод Станислав Рогин # Проверяем и инициализируем область подкачки (Verify and initialize swap space) #

echo -n 'Проверка области подкачки (Verifying swap space...)'

loopcount=0

# Флаг, указывающий, активизирован ли раздел # flag to indicate whether the partition has been activated or not) activated=0

# Проверяем сигнатуру до 6 раз # check for signatures 6 times before giving up while [ $loopcount -lt 6 ] do

if [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=10 skip=4086`" = 'SWAP-SPACE' ]; then echo "Сигнатура Linux обнаружена с $loopcount раза" echo "Активация раздела подкачки" echo "Linux signature found, iteration $loopcount" echo "Activating swap partitions" swapon /dev/winswap activated=1 break

elif [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=11 skip=43`" = 'SWAP SPACE ' ]; then echo "Сигнатура DOS обнаружена с $loopcount раза" echo "Подготовка раздела подкачки" echo "DOS signature found, iteration $loopcount" echo "Making swap partition" mkswap /dev/winswap YYYYY echo "Активация раздела подкачки" echo "Activating swap partitions" swapon /dev/winswap activated=1 break

else let loopcount=loopcount+1 fi

done

if [ $activated -ne 1 ] ; then echo "Сигнатура не найдена после $loopcount попыток" echo "Разделы подкачки не активизированы" echo "Swap signature not found after $loopcount tries" echo "No swapping partitions activated" exit 1 fi



Содержание раздела