Portál AbcLinuxu, 12. listopadu 2025 02:04
#!/bin/bash
PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
(
#-----------------------------------------------------------------------------
# Before suspend
#-----------------------------------------------------------------------------
echo Prepare for suspend ...
/etc/init.d/cpufreq-setup stop # Přepnutí ondemand -> performance
console=$(fgconsole) # ulozeni aktivni konzole
# mute all
amixer -q set Master mute
rmmod pcspkr 2>/dev/null
# security things
killall -HUP gpg-agent 2>/dev/null
# stop network
ifdown eth0 wlan0 ppp0
# stop usb
modprobe -r ohci_hcd ehci_hcd
# important things
/boot/grub/gen-menu.sh # update menu grubu
/etc/init.d/udev stop # chceme pak zavedst znovu moduly
/etc/init.d/hwclock.sh stop # ulozit hodinky
# enable messages
kernelprintk=$(sysctl kernel.printk)
sysctl -q kernel.printk="7 4 1 7"
# enable swap
swapon /dev/hda2 || exit # uspavam na disk a chci mit jistotu,
ze bude misto
#-----------------------------------------------------------------------------
# Suspend
#-----------------------------------------------------------------------------
echo Suspend now ...
echo disk > /sys/power/state
#-----------------------------------------------------------------------------
# Resume
#-----------------------------------------------------------------------------
echo Resume ...
swapoff /dev/hda2
/etc/init.d/hwclock.sh start
/etc/init.d/udev start
/etc/init.d/cpufreq-setup start
sysctl -q -p - <<<"$kernelprintk"
chvt $console
#-----------------------------------------------------------------------------
echo Resume done.
) 2>&1 | logger -s -p syslog.info -t hibernate # vse logujem do syslogu
A nebo můžeš použít již hotový skript "hibernate", který je ale velmi pomalý.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.