как делается саспенд в оперативу я уже описал здесь
чем лучше хибернейт? он не чувствителен к потере питания. а отключение питания при обычном саспенде приведет к потере всех данных находившихся в оперативы. здесь и плюсы - надежность, и минусы - намного медленнее, ведь надо сохранить оперативу на веник, +время загрузки ядра.
что для этого надо:
1) ядро 2.6
2) опции ядра:
Power management options → <*>Power management support (CONFIG_PM)
Power management options → <*>Software Suspend (CONFIG_SOFTWARE_SUSPEND)
Power management options → [/dev/resume_partition]Default resume partition (CONFIG_PM_STD_PARTITION)
здесь надо указать раздел свопа - именно на него будет сохранятся содержимое оперативы
3) настроить граб, например так:
timeout 5
#выбор по умолчанию с помощью симлинка
default saved
#основная система
title Gentoo
root (hd0,0)
kernel /vmlinuz panic=5 root=/dev/sda2
savedefault
#для просыпания после хибернейта
title Gentoo-resume
root (hd0,0)
kernel /vmlinuz panic=5 root=/dev/sda2 resume=/dev/sda3
savedefault
разница - параметр resume=/dev/sda3 - он указывает ядру на тот самый своп-раздел на который мы провели хибернейт
4) маленький скриптик который собственно выполнит переход в хибернейт
можно конечно обойтить этими командами:
echo shutdown > /sys/power/disk; echo disk > /sys/power/state
но тут может быть много побочных эффектов с иксами и видеопамятью (хотя мне было лень проверять :)). поэтому я немного модифицировал скрипт от саспенда:
#!/bin/bash
ID=`lspci | grep VGA | awk '{print $1}' | sed -e 's@00000:@@' -e 's@:@/@'`
TMP_FILE=`mktemp /var/tmp/video_state.XXXXXX`
trap 'rm -f $TMP_FILE' 0 1 15
chvt 1
cat /proc/bus/pci/$ID > $TMP_FILE
# здесь я переключаю граб на загрузку в режиме просыпания
/sbin/grub-set-default 1
# собственно хибернейт
echo shutdown > /sys/power/disk; echo disk > /sys/power/state
# восстановления умолчательного пункта загрузки
/sbin/grub-set-default 0
cat $TMP_FILE > /proc/bus/pci/$ID
chvt 7
rm -f $TMP_FILE
вуаля. завелось и работает :)
Some Thoughts on Digital Transformation
5 днів тому
Немає коментарів:
Дописати коментар