Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Jan 19 05:13:07 athlon kernel: [<c010b4a6>] work_notifysig+0x13/0x15
Ура! Все работает. Ну или почти все.
Если вам интересно, то смотрите свой syslog.
Единственное замечание, которое возникает, – запись «while atomic». Ядро находится в режиме, когда нельзя обрабатывать прерывания – разделять работу. Также рекомендуется не иметь «активных» процессов в системе во время подготовки ко сну. Под «активными» процессами я подразумеваю те, которые на момент засыпания ведут активные операции по переработке данных (пусть, например, это будет операция select в mysql-базе).
Перед засыпанием мы запускали dmesg:
Resume Machine: resuming from /dev/hdc5
Resuming from device hdc5
Resume Machine: This is normal swap space
PM: Reading pmdisk image.
PM: Resume from disk failed.
ACPI: (supports S0 S1 S3 S4 S5)
Подсистема гибернации обнаружила, что в swap-разделе запись «SWAPSPACE2»:
dd if=/dev/hdc5 bs=1k count=4 2> /dev/null | strings | grep SWAP
поэтому возобновление не было произведено.
После просыпания опять запустим dmesg:
Fixing swap signatures... ok
Restarting tasks... done
Все прошло удачно. Поздравляю!
Теперь немного пошалим. После очередного засыпания укажем ядру, что возобновление из swap-раздела делать не надо.
Передаем параметры ядру:
"noresume init=/bin/sh"
Мы не в полноценном режиме, поэтому процессы из /etc/rc.d не запустились.
dd if=/dev/hdc5 bs=1k count=4 2> /dev/null | strings | grep SUSP
На выходе у нас строчка «S2SUSP», означающая, что swap-раздел работает в качестве хранилища для содержимого RAM.
Поэтому, когда вы увидите строку «Fixing swap signatures... ok», не удивляйтесь, так и должно быть.
С подменой сигнатур мы разобрались. Теперь идем дальше. А что если усыпить систему на одном железе, а разбудить на другом? Ну что ж, скажу сразу, мне пока этого не удалось. Опишу свои действия.
Я пересобрал ядро, чтобы оптимизация была под 586MMX-архитектуру. Это позволит загрузиться как под Athlon XP, так и под Intel MMX процессорами.
Перед сессией засыпания под Athlon XP 1700+ процессором я указал ядру, что памяти у меня немного, всего лишь 32 Мб (mem=32M). Это необходимо, так как на системе, где я собираюсь проснуться (точнее не я, а мой slackware-винт), всего-то 32 Мб памяти.
Смотрим в syslog после просыпания:
Jan 24 11:47:44 athlon kernel: Resume Machine: resuming from /dev/hdc5
Jan 24 11:47:44 athlon kernel: Resuming from device hdc5