Форум проекта PuppyRus Linux

Разработки проекта PuppyRus => Разработка PFS и Initrd => Тема начата: Pro от 30 Сентябрь 2011, 16:08:38

Название: Эксперименты с hibernate/tuxonice
Отправлено: Pro от 30 Сентябрь 2011, 16:08:38
мне опять скучно, какой я провокатор можете здесь отписать или в личку если что ;)

Я уже часть этого расписывал Ddshurick может и всех заинтересует.......
Вобщем попала мне приставка PSP в руки, на что обратил внимание - офигенно быстрая система засыпания. Т.е. по сути дела ОС не выгружается и восстановление очень быстрое. В данном направлении принял решение собрать tuxonice для тестирования, что и было сделано.

Следующая мысля, о том что 6 из 10 проблем - это хреновая работа xorg. Траблы с настройкой и т.п. бякой чес слово задолбали, универсальности нет, что не радует абсолютно :( Посему возникли мысли об альтернативе:
1. Переход на wayland (для версии 211 все нужное выложено в gaff)
2. Переход на mini-xwin (но модуль ядра проприетарный и сможем ли мы уговорить разработчиков сделать для нас неизвестно) НО написать письмо разработчикам с просьбой - от нас не убудет и по голове не ударят. Неизвестно будет ли оно работать на всех видеокартах в различных разрешениях.
3. Засунуть в дистриб нечто вроде xorg из дистрибутива TinyCoreLinux (он там вроде боле-мене универсальный на базе xvesa сделан .....)

Что нам дает отказ от xorg: нехилое уменьшение размера дистрибутива, ускорение загрузки, упрощение настройки, отсутствие 3D и ускорения.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 30 Сентябрь 2011, 16:59:03
Вобщем попала мне приставка PSP в руки, на что обратил внимание - офигенно быстрая система засыпания.
Когда был жив мой Sony Clie, я ресетом на нем пользовался в исключительных случаях - сбоях софта. А обычно просто вкл-выкл, без перезагрузки. Но там железо немного другое, при выключении память остается запитанной, просто переводим проц и другие хитрые чипы в спящий режим. И экран гасим. Конечно, это работает очень быстро. И удобно - на какой проге выключишь, на той и включишь.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 04 Октябрь 2011, 17:27:37
В данном направлении принял решение собрать tuxonice для тестирования, что и было сделано.
Наткнулся в сети на http://kerneltrap.org/node/13910 (http://kerneltrap.org/node/13910)

Цитата
Kexec base hibernation has some potential advantages over uswsusp and
TuxOnIce (suspend2). Some most obvious advantages are:

1. The hibernation image size can exceed half of memory size easily.
2. The hibernation image can be written to and read from almost
   anywhere, such as USB disk, NFS.
Толком не разбирался еще, но выглядит заманчиво ...
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 06 Октябрь 2011, 09:07:16
Цитата
Цитата
Kexec base hibernation has some potential advantages over uswsusp and
TuxOnIce (suspend2). Some most obvious advantages are:

1. The hibernation image size can exceed half of memory size easily.
2. The hibernation image can be written to and read from almost
   anywhere, such as USB disk, NFS.
Толком не разбирался еще, но выглядит заманчиво ...
Все статьи и патчи на эту тему от 2007-8 годов. Наверно уже безнадежно устарели.

По поводу tuxonice я тут вот что подумал: Механизм kexec позволяет делать горячий перезапуск ядра. И, что важно - со своей строкой параметров:
Цитата
использование kexec состоит из (1) загрузки нового ядра в память и (2) действительная перезагрузка в него. Для (1) синтакс следующий:
kexec -l <kernel-image> --append="<command-line-options>" --initrd=<initrd>
где <kernel-image> - ядро, предназначенное для перезагрузки, <command-line-options> - параметры, передаваемые этому ядру, <initrd> - диск, создаваемый загрузчиком в оперативной памяти.
Затем, для (2) следует написать:
kexec -e
Так мы можем вызывать пробуждение вручную, там где нам это надо. А надо нам это делать во время работы initrd. То есть можно сделать поиск по дискам, можно спросить пользователя, а потом перезапустить ядро с указанием нужного swap-раздела или файла.

Но остается проблема - tuxonice не хочет работать с USB. По этому поводу нашел только
http://lists.tuxonice.net/pipermail/tuxonice-devel/2009-March/005112.html
Непонятно, сделал это Найджел или нет. Лучше наверное с ним списаться.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 06 Октябрь 2011, 11:22:28
А надо нам это делать во время работы initrd
а зачем нам это надо именно в это время?
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 06 Октябрь 2011, 11:58:53
а зачем нам это надо именно в это время?
Чтобы заменить или дополнить существующую систему save-файлов. Возможно, будет прирост скорости загрузки. Получится поддержка сохраненки в ядре - круто.

Просто иначе я вообще не вижу смысла возится с hibernation-ами, т.к. все они заточены под обычные full-линуксы. Ну сделаем, потратим много времени и сил, а работать будет только с хардом и пользоваться этим будет несколько человек. Надо ли?
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 06 Октябрь 2011, 14:22:01
в параметрах tuxonice (когда конфиг ядра делается) есть пункт "при пробуждении ПК обрабатывать initrd.gz" точно помню.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 08 Октябрь 2011, 15:57:52
в параметрах tuxonice (когда конфиг ядра делается) есть пункт "при пробуждении ПК обрабатывать initrd.gz" точно помню.
Я не понимаю, чем это может нам помочь. При пробуждении будет выполняться init с поиском по дискам и вопросами к пользователю? Тогда чем это будет отличаться от обычной работы фругал?

Я писал об обратном - чтобы мы (в init) вызывали пробуждение через kexec, а не оно нас.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 08 Октябрь 2011, 16:56:29
При пробуждении будет выполняться init с поиском по дискам и вопросами к пользователю?
нет, будет подмонитрован нужный раздел с файлом hibernate и запущена процедура восстановления сессии
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 08 Октябрь 2011, 23:51:32
Вот картинка, которую я вижу, если пытаюсь подцепить swapfile на флешке. То же и со swap-разделом. Если продолжить загрузку - не находится главный sfs и вылет в init-консоль.

Pro, ты говорил, тебе удалось проснуться - расскажи подробно, по шагам, плиз.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 09 Октябрь 2011, 07:43:55
Да вроде все просто было:
1. выставил сжатие попроще в настроках (в /sys )
2. дал hibernate команду
3. при загрузке указал параметр resume=/dev/sda8 (мой раздел swap)

оно вжик и восстановилось
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 09 Октябрь 2011, 09:41:50
Со строчкой resume=... я загрузится не могу, а если гружусь без нее, hibernate мне сообщает вот что:
Код
# hibernate
/usr/share/hibernate/scriptlets.d/gaim: line 6: command: gaim-remote: not found
/usr/share/hibernate/scriptlets.d/galeon: line 6: command: gconftool: not found
/usr/share/hibernate/scriptlets.d/pidgin: line 7: command: purple-remote: not found
/usr/share/hibernate/scriptlets.d/sylpheed_claws: line 6: command: sylpheed-claws: not found
You haven't specified a resume=/resume2= parameter on your kernel command line

Your GRUB or LILO config should have something like resume=swap:/dev/hdaX
where /dev/hdaX is your swap partition. You will then need to either reboot
after doing so or set it manually (this time only) using:
    echo swap:/dev/hdaX > /sys/power/tuxonice/resume
hibernate: Aborting.
#
Я пробую сделать как он советует:
Код
# 
# swapon /mnt/home/swapfile
# echo swap:/dev/sdb1:0x1ec5e8 > /sys/power/tuxonice/resume
# cat  /sys/power/tuxonice/resume
swap:/dev/sdb1:0x1ec5e8
Если теперь набрать hibernate - компьютер нормально засыпает на флешку, видны все этапы.

Проснутся он оттуда не может, поскольку в menu.lst не установлен параметр resume, просто идет нормальная загрузка. Если я его устанавливаю (через другой дистр) - получаю картинку как выше. 

То есть с засыпанием на USB-диск проблемы нет, непонятно как будить его. Как вариант - через kexec.

Цитата
нет, будет подмонитрован нужный раздел с файлом hibernate и запущена процедура восстановления сессии
Я совсем не представляю как этим управлять. Объясни подробнее или ткни, где это написано.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 09 Октябрь 2011, 10:26:37
Чего-то не выходит с kexec - Pro, можешь посмотреть конфиги ядер:
CONFIG_KEXEC=y ?
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 09 Октябрь 2011, 10:27:12
Я совсем не представляю как этим управлять. Объясни подробнее или ткни, где это написано.
нигде не написано, это надо писать самим


Проснутся он оттуда не может, поскольку в menu.lst не установлен параметр resume, просто идет нормальная загрузка. Если я его устанавливаю (через другой дистр) - получаю картинку как выше.
у тебя swap раздел сделан на флешке? я задавал значение resume=swap:/dev/sda7 непосредственно редактируя строку в grub4dos
Возможен еще вариант что когда ты грузишь сторонний дистрибутив - он подключает swap и затирает на нем данные.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 09 Октябрь 2011, 10:28:10
Чего-то не выходит с kexec - Pro, можешь посмотреть конфиги ядер:
CONFIG_KEXEC=y ?
конфиги у меня на работе, только на неделе смогу вытащить файлы
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 09 Октябрь 2011, 13:01:28
у тебя swap раздел сделан на флешке? я задавал значение resume=swap:/dev/sda7 непосредственно редактируя строку в grub4dos
Возможен еще вариант что когда ты грузишь сторонний дистрибутив - он подключает swap и затирает на нем данные.
У меня swap-файл на флешке. В другом дистре я не набираю swapon .... поэтому ничего затираться не должно.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 09 Октябрь 2011, 15:20:31
конфиги у меня на работе, только на неделе смогу вытащить файлы
Лучше выложи их все куда-нибудь, чтобы каждый раз тебя не дергать. Временами возникают вопросы, интересно посмотреть.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 09 Октябрь 2011, 15:45:12
Ну так выложил бы, но они на работе. Лимит инета 200 мегов в месяц, так что только из дома выкладывать

Я посмотрел в другом конфиге, 100% kexeс отключен в ядре.
Выстави сжатие для данных гибернации в настройках попроще, gz или чего там, может поможет
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 10 Октябрь 2011, 08:22:55
Саш, я разобрался как поднимать tuxonice из init, даже по USB, все довольно просто. Только почему-то после нескольких подъемов-засыпаний initrd.gz кривеет, приходится флешку переформатировать. Разберусь с этим - опишу все подробно.

Xы застревают на взлете, как и у тебя, приходится вручную перезапускать.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 10 Октябрь 2011, 09:40:20
Xы застревают на взлете, как и у тебя, приходится вручную перезапускать.
перед засыпанием убей xneur и gxneur может быть поможет.


Саш, я разобрался как поднимать tuxonice из init
мож как нить без init обойтись?
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 10 Октябрь 2011, 09:58:05
мож как нить без init обойтись?
C usb - не получается, потому что надо тупо ждать 5 секунд, прежде чем шина готова будет. С хардом можно и 0 секунд ждать, не проблема. А чем тебе init не нравится?
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 10 Октябрь 2011, 10:05:30
А чем тебе init не нравится?
ждать пока распакуется неохота
насчет неготовности шины - в ядре есть параметр времени ожидания готовности usb его можно поменять, я щас 3 или 4 сек ставлю
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 10 Октябрь 2011, 10:49:21
насчет неготовности шины - в ядре есть параметр времени ожидания готовности usb его можно поменять, я щас 3 или 4 сек ставлю
Хм. Надо бы поменьше поставить попробовать. Я в init-е 5 секунд жду, если 4 ставлю - картинка как выше.

Но в целом можно гибко подойти к вопросу - если работа с HDD - то данные напрямую в ядро совать, если USB - через init т.к. задержку до 0 думаю все равно не догоним. Ну, а догоним - будем только напрямую с ядром работать, не вопрос.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 10 Октябрь 2011, 11:03:07
Хм. Надо бы поменьше поставить попробовать. Я в init-е 5 секунд жду, если 4 ставлю - картинка как выше.
наоборот побольше поставить, Барри ставит 5 (раньше 5 и стояло но потом Линус Тольвардс и команда поставили 1 сек.)
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 10 Октябрь 2011, 12:13:04
наоборот побольше поставить, Барри ставит 5 (раньше 5 и стояло но потом Линус Тольвардс и команда поставили 1 сек.)
Мне кажется, что наоборот, но в любом случае его надо поменять и посмотреть, что получится.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 10 Октябрь 2011, 14:28:53
как только заберу файло с работы - выложу ядро с включенных kexeс и увеличенным временем ожидания готовности usb
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 10 Октябрь 2011, 14:36:12
выложу ядро с включенных kexeс
Да kexec мне не нужен, без него все пашет. Хотя на перспективу - может где и пригодится, не знаю.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 10 Октябрь 2011, 19:11:27
Расписываю подробно. Я немного модифицировал init, так должно быть удобно всем - и usb и HDD. В инит я вставил такой код:
Код
mount -t proc none /proc
mount -t sysfs none /sys

###########  Tuxonice wake up ##############
if [ "$tux_path" != "" -a "$tux_delay" != "" ]; then
echo -n "Tuxonice wake up..." > /dev/console
sleep $tux_delay
echo $tux_path > /sys/power/tuxonice/resume
echo 1 > /sys/power/tuxonice/do_resume
sleep 3
exit
fi
############################################

#[ -e $PMEDIA ] && usbfunc
#[ "`echo "$PMEDIA" | grep 'usb'`" != "" ] && usbfunc #Pro add here

mount -t rootfs -o remount,rw rootfs /
ln -s /proc/mounts /etc/mtab #resize2fs,e2fsck need this.
То есть появляются два новых параметра для menu.lst:
tux_path - то же, что и resume, но передается не напрямую ядру, а через init. Зачем? Чтобы вставить задержку, без которой USB не заводится.
tux_delay - задержка в секундах. Если я ставлю <5, то получаю картинку как выше. На 5 хорошо все работает. В случае HDD и 0 прокатит, наверное.

Вот кусок из menu.lst:
Код
title PuppyRus 2.11 Snow Dog (Tuxonice)
  find --set-root --ignore-floppies --ignore-cd /PuppyRus_2.11/initrd.gz
  kernel /PuppyRus_2.11/vmlinuz pmedia=usbflash psubdir=PuppyRus_2.11 pfix=ram tux_path=swap:/dev/sdb1:0x130df8 tux_delay=5
  initrd /PuppyRus_2.11/initrd.gz
Весь процесс выглядит так:
Я загружаюсь как обычно, потом
# swapon /mnt/home/swapfile
# echo swap:/dev/sdb1:0x130df8 > /sys/power/tuxonice/resume
и правлю один из пунктов menu.lst
Потом hibernate - засыпаю, выбираю этот пункт - просыпаюсь, опять hibernate - опять засыпаю и т.д.

Засыпание идет на глаз столько же, сколько обычное сохранение, а просыпание гораздо быстрее загрузки, заметно. Мне даже начинает нравится  :) Надо еще с X-ами разобраться.

http://www.mediafire.com/file/sp7gcqklfou6ffd/initrd.gz (http://www.mediafire.com/file/sp7gcqklfou6ffd/initrd.gz)
можно тестировать. ошибок фс больше вроде нет, исправил баг.

UPD: Исправил неточность в тексте.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 10 Октябрь 2011, 21:39:28
Описание настроек: http://lists.freedesktop.org/archives/pm-utils/2008-January/000711.html (http://lists.freedesktop.org/archives/pm-utils/2008-January/000711.html)
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 11 Октябрь 2011, 07:41:36
хм странно что у тебя обрабатывается initrd.gz - я вроде в конфиге ядра для tuxonice отключал эту функцию (ее конечно в настройках /sys можно включить) ты не включал случайно?

Ждем мнения Ddshurick и будем принимать решение.

Цитата
/sys/power/tuxonice/file
/sys/power/tuxonice/file/target - Location of file (nonswap) to write
image to. When written, resume= is set to matching dev/block that should
be put into resume= on kernel command line.
/sys/power/tuxonice/file/enabled
это видимо относится к просто файлу (не swap) да?
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 11 Октябрь 2011, 08:28:04
хм странно что у тебя обрабатывается initrd.gz - я вроде в конфиге ядра для tuxonice отключал эту функцию (ее конечно в настройках /sys можно включить) ты не включал случайно?
Нет, я написал все, что я делаю. Swap-файл использую самый обычный - http://uco.puppyrus.org/faq/quest47.html (http://uco.puppyrus.org/faq/quest47.html)

Я как-то попробовал сделать обычную перезагрузку после hibernate-засыпания и подъема. Куча ошибок на экране и весь hibernate сбился, пришлось заново делать
# swapon /mnt/home/swapfile
# echo swap:/dev/sdb1:0x130df8 > /sys/power/tuxonice/resume

Получается, что эту возможность надо блокировать. Т.е. пользователь использует или hibernate, или обычное выключение puppy. Я это к тому, что все требует тестирования, написания управляющей программки, возможно правки скриптов.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 11 Октябрь 2011, 08:45:27
Я как-то попробовал сделать обычную перезагрузку после hibernate-засыпания и подъема. Куча ошибок на экране и весь hibernate сбился, пришлось заново делать
вот я и думаю что мож в отдельный файл сохранять а не в swap-файл....
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 11 Октябрь 2011, 22:54:06
Я перешел на альтернативный файл - по http://ru.gentoo-wiki.com/wiki/TuxOnIce (http://ru.gentoo-wiki.com/wiki/TuxOnIce) Большой разницы не заметил, ведет себя почти так же, в другом дистре тоже можно сделать с ним swapon и испортить. Но если отправлять комп на перезагрузку - выключение проходит нормально (с swap-файлом был полный экран ошибок), сохраненка сохраняется, но потом система уже не просыпается - hibernate-образ оказывается испорченным.

Надо научится как-то выключать tuxonice перед обычным выключением или перезагрузкой.

И самое главное - фтопку hibernate-скрипт, засыпать надо командой:
echo 1 > /sys/power/tuxonice/do_hibernate
потом Xы взлетают как птичка, со всеми открытыми окошками  :) Впечатляет.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: DdShurick от 11 Октябрь 2011, 23:58:15
echo 1 > /sys/power/tuxonice/do_hibernate
OK!
 Засыпание 12 сек, просыпание 5 сек.
Название: Re:Концепция нуна, вектор и все такое
Отправлено: Pro от 12 Октябрь 2011, 05:13:01
подключенные sfs сохраняются? Нужно мнение господа, продолжаем копать и настраивать или выкидываем? время идет мне еще концепцию обдумать-выложить надо.
Вы же понимаете, что исполльзование этой технологии поменяет сам процесс работы с системой, очень даже возможно что придется kexec тоже задействовать для того чтобы возможно реализовать обновление системы БЕЗ перезагрузки.

И самое главное - фтопку hibernate-скрипт, засыпать надо командой
ну тоже можно, но он еще выполняет некоторые действия для программ (для gaim например) т.е. видимо бывают проблемы, но думаю да, надо самим лучше писать систему управления с русскими коментариями и описанием
Название: Re:Концепция нуна, вектор и все такое
Отправлено: dim-kut от 12 Октябрь 2011, 08:24:45
но он еще выполняет некоторые действия для программ (для gaim например)
Сейчас от него больше вреда, чем пользы. Надо скрипт творчески перерабатывать или свой писать.
подключенные sfs сохраняются?
Не пробовал.
Нужно мнение господа, продолжаем копать и настраивать или выкидываем?
Ну, перспективы хорошие, я могу взятся за управляющую программку на tcl, но в целом требуется совместное тестирование и обдумывание, дело серьезное. 
Название: Re:Концепция нуна, вектор и все такое
Отправлено: DdShurick от 12 Октябрь 2011, 10:00:05
подключенные sfs сохраняются?
Да. Подключал с внешнего харда.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 12 Октябрь 2011, 12:12:57
Судя по всему из учаснегов данного раздела интерес только у троих.
Соответственно как эти трое выскажутся так и начнем дорабатывать планомерно.
Но высказаться надо однозначно, ДА или НЕТ (я т.к. зачинщик конечно говорю ДА)

Остальным уже придется кушать то что дадут ;)
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 12 Октябрь 2011, 12:21:58
Да
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 12 Октябрь 2011, 12:51:21
 Да.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: melviX от 12 Октябрь 2011, 20:42:18
Мне интересно и всё читаю.
Но пользы от меня здесь пока нет.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 14 Октябрь 2011, 23:42:42
Экспериментирую с двумя файлами, пробую переходить с одного на другой. Переходит, но при этом первый оказывается испорченным. Работа с несколькими имиджами явно в tuxonice не поддерживается, но есть две интересные опции:

1. keep-image mode. Включается echo 1 > /sys/power/tuxonice/keep_image У нас такого файла нет, т.к. при компиляции было выключено CONFIG_SUSPEND2_KEEP_IMAGE. Позволяет зафиксировать в имидже состояние системы и многократно к нему возвращаться. Выключение "слежения" или что-то вроде того. Фиксация, насколько я понял, произойдет в засыпании после этого включения echo 1 > ....

2.  Файл /sys/power/tuxonice/alt_resume_param Позволяет перезагрузится в альтернативный имидж, указанный в файле. Задуман для управления UPS-ом - система по команде от UPS засыпает в основной имидж, перегружается в альтернативный и командует UPS-у - выключайся.

Все это немного не то, что хотелось бы, но может и получится построить на этом многоимиджевую систему.

Есть два ограничения, которые IMHO непреодолимы:
1. Невозможно залезть в чужой имидж, как это можно сделать с sfs.
2. Невозможно сделать find по дискам в initrd и выбирать из найденных, как это делается с save-файлами. Стартовать resume должен до монтирования фс, потом он просто не срабатывает, пробовал, да и написано везде.

И еще - при компиляции есть же параметр
(25) Default waiting time for emergency boot messages
Надо выставить как можно больше, чтобы USB успевало сработать, тогда и в init может лезть не придется. А жесткому диску это не помешает - он раньше срабатывать будет.

Источники:
http://stage.tuxonice.net/HOWTO-7.html (http://stage.tuxonice.net/HOWTO-7.html)
http://lists.tuxonice.net/pipermail/tuxonice-users/2010-July/000491.html (http://lists.tuxonice.net/pipermail/tuxonice-users/2010-July/000491.html)
http://0x416d73.name/art/tois.html (http://0x416d73.name/art/tois.html)
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 15 Октябрь 2011, 07:46:14
1. keep-image mode. Включается echo 1 > /sys/power/tuxonice/keep_image У нас такого файла нет, т.к. при компиляции было выключено CONFIG_SUSPEND2_KEEP_IMAGE. Позволяет зафиксировать в имидже состояние системы и многократно к нему возвращаться. Выключение "слежения" или что-то вроде того. Фиксация, насколько я понял, произойдет в засыпании после этого включения echo 1 > ....
да это типа для киосков сделано или файловых систем монтируемых только на чтение. Включить?


Все это немного не то, что хотелось бы, но может и получится построить на этом многоимиджевую систему.
для начала бы хоть с одним сделать. Ты не понял концепции - в настроенной системе быстро загрузится и все. Геморрой с выбором нужного имиджа и т.п. сведет на нет весь выигрыш времени загрузки, забей и не заморачивайся.


(25) Default waiting time for emergency boot messages
Надо выставить как можно больше, чтобы USB успевало сработать, тогда и в init может лезть не придется. А жесткому диску это не помешает - он раньше срабатывать будет.
он в секундах?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 15 Октябрь 2011, 08:33:52
Включить?
Да, может пригодится. Например можно включать перед экспериментами с системой и назад откатываться.
Геморрой с выбором нужного имиджа и т.п. сведет на нет весь выигрыш времени загрузки, забей и не заморачивайся.
Выбор имиджа при загрузке невозможен технически. Я просто пытаюсь понять, на что способна технология, когда лучше поймешь меньше потом переделывать приходится.
он в секундах?
Точно не в секундах, за 25 секунд USB точно бы завелась. Я думаю, это миллисекунды.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 15 Октябрь 2011, 11:12:00
Перезалил файлы с ядром 2.6.39.4 + включен kexec + настроен tuxonice (обработка init включена, keep-image mode включен, время выставил на 100)

Вырубил в ядре поддержку MTD - по моей информации это для встраиваемых устройств и для обычных ПК не пригодится.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 18 Октябрь 2011, 09:59:36
Выкладываю первый вариант управляющей программки.

В ней есть файл status - предполагается, что скрипт, делающий hibernate проверит его, и если tuxonice не настроен, то засыпания не будет.

USB-опция расчитана на initrd.gz с моей поправкой.

menu.lst пусть правит пользователь, чай не windows чтоб все на автомате, да и загрузчики могут быть разные.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 18 Октябрь 2011, 12:00:41
спасиб проверим, а ты качал перезалитые мной файлы? там все как надо или что-то еще треба?

Просто пока я тут с ядрами занимался - есть возможность оперативно поправить нужное...
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 18 Октябрь 2011, 17:37:08
а ты качал перезалитые мной файлы? там все как надо или что-то еще треба?
Скачал и протестировал, вот, что заметил:

1. Нет моей вставки в init, а без нее я по прежнему не могу подняться с USB.
2. Теперь минимальный рабочий tux_delay - 7. На 6-ти получаю BIG FAT WARNING.(Говорил, в другую сторону крутить надо).
3. Изменилась надпись на варнинге: Default action if you don't select one in 100 seconds: continue booting.
Было 25 секунд, см. мою картинку выше. Надо оставить 20-25 секунд, больше не имеет смысла, за 20 сек. любая USB заведется.
4. Нерабочий параметр resume=.... (ну т.е. рабочий, но usb-шный, в этот момент нерабочий) в menu.lst не вызывает этого варнинга, ядро просто игнорирует параметр. Раньше был варнинг, и загрузка после него косячила.
5. Появился файл keep_image, когда-нибудь доберусь до него.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 19 Октябрь 2011, 06:02:20
1. Нет моей вставки в init, а без нее я по прежнему не могу подняться с USB.
да не поставил

3. Изменилась надпись на варнинге: Default action if you don't select one in 100 seconds: continue booting.
ну да договаривались выставить побольше.

4. Нерабочий параметр resume=....
тут ничо не понял, лучше стало или нет.

2. Теперь минимальный рабочий tux_delay - 7.
могу уменьшить до 4 (сейчас 5 стоит) но на медленных ПК устройства не смогут инициализироваться.... хотя по идее в init же делаем паузу.... давай в 1 поставлю.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 19 Октябрь 2011, 07:59:08
Перезалил файлы: поставил твою вставку в init, поставил программу управления в sfs, удалил все дополнительные скрипты от tuxonice, в ядре вернул 25 сек и выставил ожидание usb в 1 сек.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 19 Октябрь 2011, 08:37:23
ну да договаривались выставить побольше.
Да я думал, что эти цифры за другое отвечают.

тут ничо не понял, лучше стало или нет.
Наверное да, получается что если не сработает параметр resume=, то пойдет обычная загрузка puppy, без всяких варнингов. Пользователь не будет пугаться.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 19 Октябрь 2011, 14:17:40
Перезалил файлы: поставил твою вставку в init,
Не пойму в чем дело, но этот initrd не находит главный sfs. Предыдущий работает нормально.

И еще у меня *.desktop в программе был :)
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 19 Октябрь 2011, 14:31:09
И еще у меня *.desktop в программе был
fixmenus сделай

Не пойму в чем дело, но этот initrd не находит главный sfs. Предыдущий работает нормально.
от блин :)
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 19 Октябрь 2011, 15:19:03
нет все грузится нормально, проверь pdev1 и psubdir
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 19 Октябрь 2011, 15:52:02
Беру ядро от 15-го числа, подставляю - все грузится, а три новых файла вместе - никак, что-то напутано.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 19 Октябрь 2011, 16:20:48
ядро или initrd.gz ... ну чес слово, ничего не менял кроме цифирек и сейчас проверил все у меня грузится.
vmlinuz тоже бери новый, он хоть и по размеру одинаковый - а параметры другие.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 20 Октябрь 2011, 09:19:57
dim-kut, а скрипт засыпания будет? по идее при засыпании нужно завершать сетевые подключения и возможно делать сохранение сессии в save файл (на всякий случай) отключение save при этом я незнаю стоит ли делать или нет.
При просыпании системы - соответственно соединения надо восстановить и save подключить если он отключался.

Я попробовал программу управления настройкой sleepyhead (sleepydog куда как приятнее звучит имхо)
интерфейс гуд, а вот обязательно прописывать название файла в формате uuid (длинно получается и некоторые извращенцы пытаются менять uuid) по проще есть варианты? добавление в menu.lst (для grub4dos) и др. загрузчики надо будет реализовывать, иначе не айс получается.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 20 Октябрь 2011, 17:50:08
ты знаешь, я думаю это влияет параметр в 1 сек выставленный в ядре, давай верну 3 или 4 сек. Думаю ядро просто не успевает найти твою флешку....
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 21 Октябрь 2011, 06:26:20
что то я не могу в спящий режим уйти :(
Делаю настройку программой, потом в терминале командую echo 1 > /sys/power/tuxonice/do_hibernate
не засыпает :( или надо предварительно save файл сделать? а то я без него гружусь
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 21 Октябрь 2011, 23:42:38
ты знаешь, я думаю это влияет параметр в 1 сек выставленный в ядре, давай верну 3 или 4 сек. Думаю ядро просто не успевает найти твою флешку....
Фиг знает. У меня все на флешке, так ядро и initrd находит, а sfs никак. Ну я долго парился, и каталог по разному обзывал, и скачивал несколько раз и в инит заглядывал - ну не могу запустить и все. Со сборкой от 15-го числа никаких проблем не было, а тут полный привет.

dim-kut, а скрипт засыпания будет?
Будет, но не раньше, чем через месяц.

Программа - по сути еще концепт, стоит хорошо обкатать и обдумать. UUID? Там же /dev/sdb1/.......? Не понял.

не засыпает  или надо предварительно save файл сделать? а то я без него гружусь
Не знаю, но я проверял все три варианта с сейвом, работало. На флешках. Вспомнил недоработку - в моем фрагменте для меню.лст pmedia всегда usbflash :)
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 22 Октябрь 2011, 05:08:05
Не знаю, но я проверял все три варианта с сейвом, работало. На флешках. Вспомнил недоработку - в моем фрагменте для меню.лст pmedia всегда usbflash
ну я естественно твой вариант menu.lst  не переносил, но в нем для примера подставляется путь к файлу как resume=file:uuid=123123o1230010o0:123456 и в /sys прописывается тоже значение по uuid 
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 22 Октябрь 2011, 15:11:20
resume=file:uuid=123123o1230010o0:123456
Первый раз такое вижу. Значения для меню.лст я беру из /sys/.... файлов согласно гентушной инструкции и у меня все было в другом формате.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 22 Октябрь 2011, 15:26:10
знач что-то не так срабатывает, проверь на чистой загрузке без save
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 27 Октябрь 2011, 19:22:16
знач что-то не так срабатывает, проверь на чистой загрузке без save
Если править меню.лст из программы, то на чистой загрузке мне непонятно где его искать. Этот вариант лучше сразу заблокировать, потом проблем меньше будет. Когда есть сохраненка, есть /mnt/home/..., тогда и настраиваем tuxonice.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 28 Октябрь 2011, 04:19:36
правильное решение, на то и ориентируемся, только лучше не на /mnt/home ориентироваться а на PUPPYFILES в /tmp или /initrd так надежнее будет.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 18 Ноябрь 2011, 17:43:53
добавление в menu.lst (для grub4dos) и др. загрузчики надо будет реализовывать, иначе не айс получается.
Да тут с одним menu.lst столько вариантов текста может быть, про другие загрузчики вообще молчу.

Ау, люди, выложите свои menu.lst, пожалуйста! В Jeans, SnowDog, 213 я сам посмотрю, интересуют все остальные дистрибутивы.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 19 Ноябрь 2011, 07:45:06
ну добавление в menu.lst надо делать через sed наверное, выяснять откуда установлен puppy и делать поиск по файлу меню.
НО вот какое предложение - т.к. файл гибернации лежит там же где и основной sfs, то может обойтись без параметров загрузки, а встроить поиск файла непосредственно в скрипт init ? и запускать пробуждение командой ядру из init а не автоматически. Вроде будет проще.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 19 Ноябрь 2011, 10:23:36
т.к. файл гибернации лежит там же где и основной sfs,
Почему? Я не ограничиваю пользователя, пусть делает его где хочет, проверяю только чтобы путь с /mnt/ начинался. У меня он обычно на соседней флешке создается, т.к. на системной флешке места мало. Поднимается система оттуда без проблем.

Может и стоит ввести такое ограничение - будет проще для новичков, но менее гибко для опытных пользователей. Спорно в общем.

Как работать с menu.lst я разобрался, делаю. Смущает только, что в других дистрах этот файл может сильно отличаться. Или там другой загрузчик?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 19 Ноябрь 2011, 10:39:40
Почему? Я не ограничиваю пользователя, пусть делает его где хочет,
противоречит пункту 1 концепции.

Как работать с menu.lst я разобрался, делаю. Смущает только, что в других дистрах этот файл может сильно отличаться. Или там другой загрузчик?
вот поэтому и надо наверное сделать так, чтобы не пришлось делать изменения средствами установщика, пусть init скрипт ищет.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 19 Ноябрь 2011, 10:56:55
Ну, можно и ограничится системным каталогом, порядку будет больше. Это не проблема. Тогда, если я во время настройки нахожу в этом каталоге swap- или tuxonice- файлы от предыдущих настроек, я их безжалостно стираю.

Цитата: Pro от 15 Октября 2011, 08:46:14
Геморрой с выбором нужного имиджа и т.п. сведет на нет весь выигрыш времени загрузки, забей и не заморачивайся.

Выбор имиджа при загрузке невозможен технически. Я просто пытаюсь понять, на что способна технология, когда лучше поймешь меньше потом переделывать приходится.
Скрипт init ничего искать не может, мы уже говорили об этом. Свою вставку в init я могу сделать в одном-единственном месте: ПОСЛЕ монтирования /proc и /sys и ДО монтирования корневой файловой системы. Если я переношу ее ниже - просыпания не происходит, пробовал. Об этом написано в гентушной инструкции.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 19 Ноябрь 2011, 13:06:50
посмотри в 212 и 213 я твою вставку поместил немного ниже, наверное неправильно :( (я хотел чтобы для случая когда загрузка с флешки - было ожидание загрузки модуля ядра нужного.)

Тогда, если я во время настройки нахожу в этом каталоге swap- или tuxonice- файлы от предыдущих настроек, я их безжалостно стираю.
swap то за что. Кстати а никак не сделать чтобы файл создавался только необходимого размера при самом процессе засыпания? А то надо будет подписать чтоб юзеры размер файла задавали не менее размера оперативки
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 19 Ноябрь 2011, 13:42:59
swap то за что.
Надо как-то сделать, чтобы у бестолкового юзера балласта в каталоге не оставалась. А то сделает swap-файл, а потом перенастроит. И будет большой файл балластом лежать.

Кстати а никак не сделать чтобы файл создавался только необходимого размера при самом процессе засыпания? А то надо будет подписать чтоб юзеры размер файла задавали не менее размера оперативки
Создание файла - операция медленная, она смажет первое впечатление от hibernate для юзера, стоит ли.
А по поводу оптимального размера файла - отдельный разговор. Нужно выдать какие-то рекомендации пользователю, но какие - я представляю пока смутно. Могут быть подключены sfs, могут быть использованы алгоритмы сжатия. Обкатать технологию нужно сначала.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 19 Ноябрь 2011, 13:46:19
я хотел чтобы для случая когда загрузка с флешки - было ожидание загрузки модуля ядра нужного
А разве ядру нужны модули для флешки? В 211 у меня работало без них, сейчас поставил 213, посмотрю.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 19 Ноябрь 2011, 14:57:59
А разве ядру нужны модули для флешки? В 211 у меня работало без них, сейчас поставил 213, посмотрю.
нет не нужны, но там как раз есть цикл ожидания готовности usb устройств - т.е. параметр который ты задаешь для ожидания готовности становится не актуальным (по идее)

Надо как-то сделать, чтобы у бестолкового юзера балласта в каталоге не оставалась. А то сделает swap-файл, а потом перенастроит. И будет большой файл балластом лежать.
а вот для этого, мы в начале этой темы обсуждали - куда складывать сохранение, в swap или отдельный файл.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 19 Ноябрь 2011, 15:33:36
а вот для этого, мы в начале этой темы обсуждали - куда складывать сохранение, в swap или отдельный файл.
Дык, пока непонятно что из них лучше, лучше держать обе опции рабочими. Потом ненужную заблокируем.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 19 Ноябрь 2011, 17:11:02
ну так и не трогай swap до тех пор пока не будет мешать
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 20 Ноябрь 2011, 13:06:06
В 212/213 не могу подняться из спячки, все время втыкаюсь в такую ошибку. Дело не в моих скриптах, попробовал командами из консоли, получил то же самое.

Пробовал с файлами обоих типов. С swap-разделом не пробовал, у меня его нет.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 20 Ноябрь 2011, 14:49:34
это грустно, кто виноват непонятно

попробую сделать ядро 3.1.1
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 20 Ноябрь 2011, 15:14:20
попробую сделать ядро 3.1.1
попробуй сначала из swap-раздела подняться.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 20 Ноябрь 2011, 16:36:46
мне проще начать компиляцию  с нового ядра, т.к. возможно патч криво наложился, а качать опять исходники все равно придется - патч ставить надо на чистое ядро. :(
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 21 Ноябрь 2011, 17:07:26
постарался проверить наложение патча на ядро 3.1.1
ядра 3.0.4 и 3.0.8 будут удалены
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 01 Декабрь 2011, 12:23:19
проверил работу патча, патч работает хорошо.
Проблема либо в наложенном патче BFS
либо в опции - обрабатывать initrd

я пока тестирую без вставленного кода в init и сохраняюсь на swap раздел, завтра проверю влияние патча BFS и уже будет ясность.

ps. Ждите ядро 3.1.4 с исправлением проблем
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 05 Декабрь 2011, 08:20:58
проверил с патчем BFS - работает засыпание-просыпание,
значит слишком поздно обрабатывается секция в init, значит подберем пораньше :)
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 05 Декабрь 2011, 08:24:41
проверил с патчем BFS
А зачем он нам нужен?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 05 Декабрь 2011, 08:55:19
ну типа правильно распределяет ресурсы, повышение производительности и все такое.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 06 Декабрь 2011, 14:18:19
Вобщем засада именно с обработкой initrd не могу понять почему код не выполняется, уже в самый верх его перетащил

Переделал код немного (я делаю загрузку из swap раздела и в параметрах ядра передаю resume=swap:/dev/sda7):
#puppyrus2 tuxonice section
###########  Tuxonice wake up ##############
#if [ "$tux_path" != "" -a "$tux_delay" != "" ]; then
if [ "$resume" != ""]; then
echo -n "Tuxonice wake up..." > /dev/console
    if [ "$resume_delay" != "" ]; then
   sleep $tux_delay
    fi
echo $resume > /sys/power/tuxonice/resume
echo 1 > /sys/power/tuxonice/do_resume
#sleep 3
exit
fi
############################################
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 06 Декабрь 2011, 14:28:37
Этот код работал у меня в одном месте - как в ответе 27 этой темы.
sleep 3 лучше не коментить, это просто для надежности  - подзадержать init, пока туксонайз поднимается, чтобы параллельно не шпарили и не конфликтовали (а такое было, замечал). Для пользователя этой задержки нет.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 06 Декабрь 2011, 15:03:12
не-не я ж немного переделал его, незнаю правильно или нет :(
завтра думаю сделаю вывод на консоль значений переменных, чтобы отследить. и включу паузу секунд на 10
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 07 Декабрь 2011, 08:40:51
Ну по крайней мере на моем компе все просыпается с раздела отлично.
моя ошибка в том что параметр resume почему то в init как переменная не передается соответственно обработать его не получается. tux_path хорошо передался :)

на отдельном файле не проверял.

НУЖНО как то внести туда еще кусочек кода, чтобы при заданной tux_path но отсутствующем образе не происходило зависание а продолжалась работа init.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 07 Декабрь 2011, 08:55:53
resume почему то в init как переменная не передается
Стоп-стоп. resume - это параметр не для init, это параметр для ядра. Оно его узнает как свой параметр и не передает дальше в init. Ну и начинает подъем туксонайза без всякого init.

tux_path и tux_delay я сам придумал, ядро их не знает, вот они и передаются в init.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 07 Декабрь 2011, 09:10:18
Ну и начинает подъем туксонайза без всякого init.
при включенной опции обработки init (в настройках tuxonice) параметр resume может и обрабатывается но запускается init и вот из него не пробуждалось ничего.

Ну вот появилась ясность :) вобщем будет работать.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 08 Декабрь 2011, 07:10:45
опробовал загрузку с tux_file - работает!!!!
в подсказке для добавления  параметра в menu.lst ошибка, ведь вместо resume используем tux_path - вот оно меня и сбивало все время, ну и путь к разделу почему то по uuid указывается т.е. вместо file:/dev/sda8:12eed имеем file:UUID=6c081252824a4d559ff597df86f85411:0xd797d8 что конечно немного напрягает....
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 08 Декабрь 2011, 08:28:20
в подсказке для добавления  параметра в menu.lst ошибка, ведь вместо resume используем tux_path - вот оно меня и сбивало все время
Да, там наверно есть ошибки, но мы вроде решили при работе с встроенным жестким диском (пользователь выбирает HDD или USB) работать с параметром resume, без init, так быстрее будет.

UUIDов я ни разу не встречал, возможно потому, что всегда была сохраненка.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 08 Декабрь 2011, 08:40:31
Да, там наверно есть ошибки, но мы вроде решили при работе с встроенным жестким диском (пользователь выбирает HDD или USB) работать с параметром resume, без init, так быстрее будет.
эм... не помню чтобы мы решили что-то подобное. Давай тогда распиши что делается, когда пользователь выбирает пункт что работает с USB. И при компиляции ядра обработка init для tuxonice должна быть включена или выключена?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 08 Декабрь 2011, 08:55:20
эм... не помню чтобы мы решили что-то подобное.
Ну где-то в начале этой темы ты говорил, что лучше бы обойтись без init, для скорости. Поэтому при выборе пользователем встроенного HD я подставляю параметр resume. Можно конечно использовать tux_path и tux_delay=0, но потеряем чуть времени на распаковку initrd. На первой версии ядра с туксонайз у меня работали оба варианта - с init и без.

И при компиляции ядра обработка init для tuxonice должна быть включена или выключена?
Вот это не знаю.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 08 Декабрь 2011, 09:01:04
Поэтому при выборе пользователем встроенного HD я подставляю параметр resume.
А при выборе USB? что подставляем?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 08 Декабрь 2011, 09:08:40
А при выборе USB? что подставляем?
Для USB я и придумал вставку в init, чтобы выждать несколько секунд, пока USB очухается. С параметром resume с USB не поднимешься - ядро сразу запускает подъем, а шина еще не готова.

Т.е. подставляем tux_path ( = то же, что и resume ) и tux_delay= 5-10 секунд.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 08 Декабрь 2011, 09:19:23
ну нет, это нам не подходит, делаем так:

1. в ядре включаем обработку init скрипта (собственно это уже сделано)
2. в init скрипте заклыдваем твой код (тоже сделано, код я разместил после секции wait_usb т.е. если загрузка с диска usb то будет ожидание готовности устройства, если с HDD то не будет ожидания)
3. для правильного пробуждения задаем tux_path и если нужно tux_delay (тоже уже сделано) никаких параметров resume=
4. Нужна корректировка вставки в init чтобы при отсутствии образа resume, но при заданных tux_path не происходил выход из init скрипта а то виснет система.
5. ну и как-то надо протестировать чтобы от uuid избавится или проверить чтоб по всякому работало.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 08 Декабрь 2011, 09:53:05
4. Нужна корректировка вставки в init чтобы при отсутствии образа resume, но при заданных tux_path не происходил выход из init скрипта а то виснет система.
Можно ввести еще один параметр tux_path_check какой-нибудь, и передавать путь к файлу в init в нормальном виде, и там проверять его наличие. В случае раздела сложнее, надо подумать, может cat /proc/partitions поможет, не знаю покажет ли она swap.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 08 Декабрь 2011, 09:57:27
не не, не то.
Tuxonice в dmesg и свои логи пишет что image not found, вот это просто надо обработать и не делать exit из скрипта init.
вычислять конечно по логам самой программы лучше, где то в /var/log чтоли читал файл логов от tuxonice.

Само наличие файла проверять смысла нет, в нем может просто не сохранили ничего, а файл сделали. (так же и в swap разделе)
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 09 Декабрь 2011, 10:26:19
4. Нужна корректировка вставки в init чтобы при отсутствии образа resume, но при заданных tux_path не происходил выход из init скрипта а то виснет система.
/sys/power/tuxonice/last_result -> Bit flag - if last hibernate failed, why?
Я проверил, есть такой файлик с 0, значит подниматься надо только когда там 1, иначе - обычная загрузка.

Цитата
2. в init скрипте заклыдваем твой код (тоже сделано, код я разместил после секции wait_usb т.е. если загрузка с диска usb то будет ожидание готовности устройства, если с HDD то не будет ожидания)
Цитата
echo 1 > /sys/power/tuxonice/do_resume
Это необходимо вставить после монтирования /sys, Но перед монтированием файловых систем.
Отсюда - http://ru.gentoo-wiki.com/wiki/TuxOnIce (http://ru.gentoo-wiki.com/wiki/TuxOnIce)
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 09 Декабрь 2011, 10:34:17
ну при загрузке системы /sys создается заново, так что в этом файле будет 0 а 1 появится только при подключении save файла, ведь в нем все изменения. Так что не вариант.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 09 Декабрь 2011, 10:56:32
Саш, ну ты бы выложил сборку к выходным, я бы поэкспериментировал. А то у меня вахта уже заканчивается, последняя неделя пошла.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 09 Декабрь 2011, 12:34:28
сегодня.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 10 Декабрь 2011, 17:06:11
Нет, не получается поднятся с USB.
Сначала сделал swap_file, он туда даже ложится не захотел. Но долго не разбирался, перешел на suspend_file. Ложится, при подъеме постоянно утыкаюсь в ту же картинку, которую последний раз выкладывал. В качестве параметра для подстановки в загрузчик в случае suspend_file всегда предлагается UUID.

Инит переделывал по своему, без толку.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 10 Декабрь 2011, 17:11:34
в параметрах ядра пишешь только tux_path надеюсь, tux_delay в принципе ненадо уже

пробуй как я задать в init вывод значений переменной tux_path на консоль и паузу секунд 10  чтобы удостоверится что передается все нормально.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 10 Декабрь 2011, 18:26:49
 У меня с tux_path=/dev/sda3 tux_delay=5 проснулся (с иксами), но тут же упал в кернел паник.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 11 Декабрь 2011, 06:30:15
tux_path неправильно задан и tux_delay=5 не обязательная опция

tux_path может быть например:

tux_path=swap:/dev/sda5

или tux_path=file:/dev/sda5:123lkwe

или tux_path=file:UUID1234123084838939:43223488
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 11 Декабрь 2011, 08:11:59
У меня с tux_path=/dev/sda3 tux_delay=5 проснулся (с иксами), но тут же упал в кернел паник.
По USB?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 12 Декабрь 2011, 03:20:38
или я крутой мэн или лыжи мне все время достаются хорошие.....

1. скопировал файло системы на флешку (у меня там давно syslinux стоит)
2. загрузился, поставил sleepyhead в систему
3. настроил засыпание: usb-диск, файл tuxonice, сделал файл размером 256 мб.
4. прописал в настройки syslinux параметр pdev1=sdb1 и параметр tux_path=file/dev/sdb1:489303
5. ушел в спящий режим
6. загрузился - ничего не упало, окошки открыты как и оставлял.

ps. Тестировал не на своем ноутбуке а на компе рабочем, он медленнее и все такое.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 12 Декабрь 2011, 10:04:57
Не выходит у меня ничего.  :(

Сейчас еще раз погонял tuxonice-файл. Размер - 350-500 Мб

На лэптопе - все по прежнему, ложится, но не поднимается.

Воткнул эту же флешку в десктоп, что рядом стоит - отказался ложится см. фото. Думал места ему мало, увеличил файл до 500 - без изменений.

UUID-ы у меня сейчас появляются, если флешка втыкается через usb-hub, если напрямую - UUIDов нет.

P.S. Всего пробовал с двумя флешками, одна под ext3, другая под fat32.
 
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 12 Декабрь 2011, 10:14:37
делай loglevel=7 и смотри что нить интересное
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 13 Декабрь 2011, 10:46:55
Сделал.

Проверял на своем лэптопе, два варианта с туконайз-файлом:
1. флешка с ext3 через USB-hub (подставлял в меню.лст file:UUID... )
2. флешка с fat32 напрямую

Картинки получились совсем одинаковые, поэтому выкладываю одну (Первое фото).
Вверху ругань на sr0 - был вставлен audio-CD, вытащил - картинка немного изменилась (Второе фото).
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 13 Декабрь 2011, 11:06:46
ну замечательно, такое ощущение что продолжается процесс засыпания :))
либо tuxonice пытается отключить процессы чтобы подставить те что были сохранены в hibernate файле.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 13 Декабрь 2011, 11:12:36
либо tuxonice пытается отключить процессы чтобы подставить те что были сохранены в hibernate файле.
ага видимо так и есть, отключает а потом не может получить доступ к usb устройству и считать данные.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 13 Декабрь 2011, 11:36:07
Переместил в init код подъема сразу после монтирования /sys и поставил tux_delay=10. Примерно то же самое.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 13 Декабрь 2011, 11:44:01
надо чтоб не останавливались процессы
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 13 Декабрь 2011, 12:00:23
надо чтоб не останавливались процессы
Надо чтобы прочитать оно могло с USB нормально. Тогда exit в init не будет приводить к панике т.к. в это время будет подъем системы.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 15 Декабрь 2011, 03:00:54
Давай пока нет решения данного вопроса другие проблемы решать:
1. при отсутствии образа надо продолжать выполнение init
2. исправить скрипт настройки чтобы пример писал с переменной tux_path
3. нужен скрипт hibernate который будем прописывать в меню Пуск и еще его можно посадить на горячие клавиши, в скрипте должно проверяться что настройка спящего режима уже сделана, если не сделана - запускать программу настройки. Попутно предлагаю отключить переход в ждущий режим при закрывании крышки ноутбука, сделать бы только отключение подсветки.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 15 Декабрь 2011, 12:13:17
Сейчас уже некогда, уезжаю. Выкладываю последнюю версию - там нет выбора каталога, т.к. всегда используем домашний и есть работа с menu.lst. Это ни в коем случае не окончательный вариант, просто текущее.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 24 Декабрь 2011, 23:53:21
Я думаю, неплохо бы еще потестировать туксонайз - может мои проблемы только с DELLами связаны, кто знает.
Ничего сложного в этом  тестировании нет - набрать несколько строк в консоли и добавить пункт в меню.лст чтоб проснуться. Особо интересует засыпание в файл на USB-диске, для этого там требуется 300-500 Мб свободного места. Технология для нас новая, давайте же по максимуму её обкатаем. Ау, тестеры!
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: andy-voit от 25 Декабрь 2011, 03:35:19
а подробнее?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 26 Декабрь 2011, 01:19:11
Есть три варианта: использовать раздел swap, файл swap, спец. файл tuxonice.
Как их подготовить хорошо написано здесь: http://ru.gentoo-wiki.com/wiki/TuxOnIce  (http://ru.gentoo-wiki.com/wiki/TuxOnIce) , только не makeswap, а mkswap - ошибочка.
Потом делаем отдельный пункт в menu.lst - копируем ram-вариант и добавляем в строку с параметрами resume=.... - это для подъема с жесткого диска.
Для подъема с USB-диска используем tux_path= то же самое, что resume и можно еще подставить tux_delay= 5-10 (секунд). Это связано с тем, что USB не сразу просыпается при включении компа.

Уходим в спячку командой echo 1 > /sys/power/tuxonice/do_hibernate, просыпаемся выбором подготовленного заранее пункта в menu.lst

Посмотрите посты выше, там много информации. И Pro, надеюсь подскажет если надо. Я сейчас на дэйсоффах, поэтому мало чем помочь могу.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 26 Декабрь 2011, 05:41:38
эм... новый sleepyhead не совсем работает. пытается найти в /mnt/home файл menu.lst которого нету.
все таки надо показывать что нужно прописать в загрузчик - хотя бы для контроля.

До задания размера файла у меня дело не дошло - из-за menu.lst (кстати странно, по идее сначала должен быть файл сделан а уж потом искать меню загрузчика)
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 12 Январь 2012, 21:28:53
пытается найти в /mnt/home файл menu.lst которого нету
Мнда, получается этот вариант только для флешки, при установке puppyrus на жесткий диск там файла menu.lst нет. А есть (у меня) на отмонтированном sda1, разделе с WinXP. И как тогда быть? Монтировать все жесткие разделы и искать menu.lst? Можно на левый какой-нибудь наткнуться. Помнится, ты хотел автоматическую правку menu.lst, предложи вариант алгоритма.
Файл PUPSTATE однозначно не говорит, где находится menu.lst, видимо надо поиском определять или всегда на sda1 смотреть.
все таки надо показывать что нужно прописать в загрузчик - хотя бы для контроля.
Это легко, сделаю.
До задания размера файла у меня дело не дошло - из-за menu.lst (кстати странно, по идее сначала должен быть файл сделан а уж потом искать меню загрузчика)
Я хотел сразу отсечь случай первой загрузки (т.е. загрузки без сохраненки).
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 13 Январь 2012, 02:06:56
Помнится, ты хотел автоматическую правку menu.lst, предложи вариант алгоритма.
тут вопрос надо ставить так : Как и чем определить какой загрузчик используется в системе? т.е. будет известно какой загрузчик - будет ясно какой файл конфига надо искать.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 13 Январь 2012, 08:23:55
тут вопрос надо ставить так : Как и чем определить какой загрузчик используется в системе? т.е. будет известно какой загрузчик - будет ясно какой файл конфига надо искать.
В твоей системе где menu.lst? На sda1? Давай, я сделаю его обработку, а другие варианты буду прописывать по мере прояснения ситуации и просьбам трудящихся.

Вопрос ко всем:
1. Сообщите путь к вашему menu.lst
2. Смонтирован ли этот раздел после старта системы, по умолчанию?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: andy-voit от 13 Январь 2012, 09:04:09
Цитата
Вопрос ко всем:
1. Сообщите путь к вашему menu.lst
2. Смонтирован ли этот раздел после старта системы, по умолчанию?

1) sda1
2)Да, после создания файла сохранения
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 13 Январь 2012, 09:30:17
1. /mnt/sda7/boot/grub (у меня на ноуте grub2 мать его)
2. нет не смонтирован.

Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 13 Январь 2012, 09:44:25
/mnt/sda7/boot/grub
Мнда, весело. Ну я попробую сделать поиск по всем sda до 2-3 вложенных каталогов. Но если несколько menu.lst найдется, надо пользователя спрашивать, никуда не денешься.

Вообще очень геморойно получается с загрузчиком связываться. Pro, как я понял, у тебя подъем туксонайз работает и после монтирования rootfs в init, да? Если этот вариант хорошо работает, удобней делать свой конфиг-файл и читать его init-ом. В эту сторону думать надо.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 13 Январь 2012, 13:26:26
сделай окошко с надписью:

К сожалению программа пока не умеет автоматически прописывать параметры загрузки, добавьте вот это "бла-бла" в параметры загрузки вашего ядра
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 13 Январь 2012, 14:52:49
К сожалению программа пока не умеет автоматически прописывать параметры загрузки
При установке на хард можно научить.
 У меня в 215 заработало с tux_path=/dev/sda3, но простая загрузка/перезагрузка перестала работать.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 13 Январь 2012, 15:05:20
При установке на хард можно научить.
Не понял.
У меня в 215 заработало с tux_path=/dev/sda3, но простая загрузка/перезагрузка перестала работать.
простая загрузка/перезагрузка должна работать с другим пунктом меню. Этот - только для подъема tuxonice.
А /dev/sda3 - это swap-раздел или там еще номер файла дальше прописан?

Вопрос ко всем:
1. Сообщите путь к вашему menu.lst
2. Смонтирован ли этот раздел после старта системы, по умолчанию?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 13 Январь 2012, 16:00:39
При установке на хард можно научить.
Не понял.
Puppyrus2install генерирует menu.lst, добавить лишнюю запись не проблема
А /dev/sda3 - это swap-раздел или там еще номер файла дальше прописан?
swap-раздел

1. Сообщите путь к вашему menu.lst - /mnt/sda1/boot/grub/grub.cfg
2. Смонтирован ли этот раздел после старта системы, по умолчанию? - нет
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 13 Январь 2012, 16:18:30
Puppyrus2install генерирует menu.lst, добавить лишнюю запись не проблема
К сожалению это не выход. Тогда в этот момент придется полностью tuxonice настраивать и получать номер файла.
Кроме того пользователь может и не пользоваться Puppyrus2install, а просто добавить еще одну фругал-систему к имеющимся.

Ко всем, у кого стоит grub - выложите, пожалуйста свой grub.cfg. Он всегда в boot/grub ?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: georgii-2 от 13 Январь 2012, 16:56:35
У  меня нет вообще, если верить Pfind.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 13 Январь 2012, 17:05:56
У  меня нет вообще, если верить Pfind.
А можно посмотреть menu.lst из этого каталога ?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: georgii-2 от 13 Январь 2012, 18:23:35
Пожалуйста. Прошу прощения за задержку.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 13 Январь 2012, 19:51:09
Все, хватит. Разобраться с многообразием загрузчиков нет никакой возможности. Поэтому буду перепаковывать initrd и подставлять путь к разделу или файлу прямо в начало скрипта init. В месте подъема, если tux_path установлен делаем вопрос к пользователю вроде: "Обнаружены настройки tuxonice. Поднимаемся?" Если нет - обычная загрузка.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 16 Январь 2012, 19:35:55
Серьезно переработал sleepyhead.
http://www.mediafire.com/?v67iij6pvy0xu (http://www.mediafire.com/?v67iij6pvy0xu)

Идея такая - при настройке sleepyhead вносит строку с параметром TUX_PATH второй строкой в init. Код, который расположен ниже при обнаружении этой строки запускает подъем tuxonice. Чтобы загрузиться "по старому" (например в случае неудачного tuxonice-имиджа) задается вопрос и init ждет 1 сек. При нажатии в этот момент любого символа, идет загрузка "как обычно". Я бы ждал больше, но все очень жестко по временным задержкам. На 2 сек. или tuxonice не поднимается или главный sfs не находится. Да и на 1 сек. работает неустойчиво, но это лучшее, что у меня получилось.

Чтобы убрать неудачую строку с  TUX_PATH из init надо выбрать пункт "удалить настройки". И все будет как обычно.

Довольно сыро, но довести до ума не могу т.к. tuxonice у меня после подъема валится в панику. Надеюсь на встроенном жестком диске это будет работать лучше, чем у меня на USB.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 16 Январь 2012, 22:33:14
http://www.mediafire.com/?v67iij6pvy0xu
Отсюда ничего загрузить не удалось.

 В init после строки echo 1 > /sys/power/tuxonice/do_resume (стр 378) убрал exit. Теперь при засыпании просыпается, а при перезагрузке загружается без ошибок.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 17 Январь 2012, 06:54:17
Отсюда ничего загрузить не удалось.
Продублировал на ftp в /Gaff/users/dim-kut/sleepyhead
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 17 Январь 2012, 07:18:35
Идея такая - при настройке sleepyhead вносит строку с параметром TUX_PATH второй строкой в init.
перепаковывает init чтоли?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 17 Январь 2012, 07:22:38
перепаковывает init чтоли?
Да. Поэтому в каталоге есть initrd_handler.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 17 Январь 2012, 09:25:27
В init после строки echo 1 > /sys/power/tuxonice/do_resume (стр 378) убрал exit. Теперь при засыпании просыпается, а при перезагрузке загружается без ошибок.
Спасибо. Это ощутимо помогло, но для надежной работы потребовалось еще sleep 0.1 между echo вставить.

Код
#puppyrus2 tuxonice section 
###########  Tuxonice wake up ##############
if [ "$TUX_PATH" ]; then
echo  " " > /dev/console
echo  "Found Tuxonice settings: $TUX_PATH" > /dev/console
echo  "Wake up ? ( type any char for no)" > /dev/console
read -t 1 -n1 TUX_INPUT
fi

if [ ! "$TUX_INPUT" -a "$TUX_PATH" ];then
echo "Tuxonice wake up..." > /dev/console
#    if [ "$tux_delay" ]; then
# sleep $tux_delay
#    fi
echo $TUX_PATH > /sys/power/tuxonice/resume
sleep 0.1
echo 1 > /sys/power/tuxonice/do_resume
#sleep 1
#exit
fi
############################################

С этим кодом успешно заснул-проснулся 4 раза подряд из swap-файла на usb.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 17 Январь 2012, 12:46:59
Поздравляю, следующий этап - настройка пункта меню Пуск-Выключение-Спящий режим
В настоящее время пункт сделан, нужно чтобы при щелчке на нем при не настроенном спящем режиме вызывался sleepyhead ; при настроенном спящем режиме - засыпаем.

ps. скрипты выкачал, установил в систему.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 17 Январь 2012, 14:19:58
Поздравляю, следующий этап - настройка пункта меню Пуск-Выключение-Спящий режим
Этап пройден. Sleepyhead при настройке создает этот пункт. Там в названии в скобках слово "hibernate".  Вызывается скрипт do_sleep, в котором пока только одна волшебная команда. Когда не настроено, то и пункта такого нет.

p.s. Надо будет сделать, чтобы кнопка "удалить настройки" этот пункт меню удаляла. Незачем ему просто так болтаться.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 17 Январь 2012, 14:35:33
 Попробовал на ретро-ядре. Не поднимаются иксы, зависает с мерцающим курсором. Но после выхода в консоль тремя клавишами xwin стартует нормально.
 По поводу пункта меню, в 215 у меня и так прекрасно работает.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 17 Январь 2012, 14:45:25
Попробовал на ретро-ядре.
В ретро-ядре, я так понимаю, установлен ретро-патч tuxonice. А он тоже не стоит на месте. Например этот список файлов - http://lists.freedesktop.org/archives/pm-utils/2008-January/000711.html  (http://lists.freedesktop.org/archives/pm-utils/2008-January/000711.html) заметно отличается от сегодняшнего. Поэтому sleepyhead для ретро - это отдельная песня.

Цитата
По поводу пункта меню, в 215 у меня и так прекрасно работает.
Дядя Шурик, напиши пожалуйста подробно, что именно работает (а что нет). Мне как разработчику крайне важно это знать.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 17 Январь 2012, 15:39:08
Дядя Шурик, напиши пожалуйста подробно
PuppyRus215 оригинал от Pro. В menu.lst добавлен tux_path=/dev/sda3. Из init убран exit. Больше изменений нет. Кликаю "Меню - Выключение - Спящий режим" - засыпает, при запуске просыпается примерно за 5 секунд (не считая BIOS). Кликаю "Меню - Выключение - Выключение/Перезагрузка компьютера" - выключается с сохранением сессии, при запуске загружается как обычно.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 17 Январь 2012, 20:18:43
 С новым sleepyhead у меня выходит в тёмный экран и больше и на что не регирует. Пришлось отключать питание.
 Откатился к старому.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 18 Январь 2012, 02:09:55
Sleepyhead при настройке создает этот пункт.
нет, ненадо его создавать, он должен быть виден постоянно. Т.к. спящий режим это основная фишка - прятать ненадо ничего.
Еще раз напишу - шелкаешь по этому пункту - И если спящий режим еще не настроен то вызывается программа настройки. Т.е. прописанный там hibernate (или любой другой скрипт) должен проверить твой файлик в которомн написано настроено или нет, и выполнить что-то: либо запустить настройку, либо заснуть.

p.s. Надо будет сделать, чтобы кнопка "удалить настройки" этот пункт меню удаляла. Незачем ему просто так болтаться.
ненадо.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 18 Январь 2012, 14:00:18
 Вот xerrs.log 214R
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 19 Январь 2012, 09:33:38
Цитата
С новым sleepyhead у меня выходит в тёмный экран и больше и на что не регирует. Пришлось отключать питание.
Вчера в обед скачал с ftp 215, там стоит последний вариант кода в init. (как в моем посте выше), давайте от него и отталкиваться. Контролировать работу этого кода можно с экрана, TUX_PATH выводится на экран, если он неправильный - это можно отследить. Если начался подъем туксонайз - пишется wake up ... Если все это не работает - нажмите любую клавишу когда задается вопрос и запустится загрузка "по старому".
Поэтому что такое просто черный экран я не понимаю. На каком этапе он возникает?

Цитата
В menu.lst добавлен tux_path=/dev/sda3
Мануалы требуют формат swap:/dev/sda3. Но похоже туксонайзу без разницы.

Я по прежнему воюю с падением в панику после подъема. Задержки и exit в init на это похоже не влияют. Выяснил следующее.
1. Сохранение идет нормально, проблема с подъемом, потому что можно поднятся с 3-5-ой попытки.
2. Проблема не связана с X-ами, из консоли все так же.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 19 Январь 2012, 14:07:41
TUX_PATH выводится на экран
Не выводится, только "Wake up ?"
 В старом варианте было tux_path, в новом TUX_PATH. С чем связано изменение регистра и не вызовет ли оно неудобств?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 19 Январь 2012, 15:18:19
В старом варианте было tux_path, в новом TUX_PATH. С чем связано изменение регистра и не вызовет ли оно неудобств?
TUX_PATH вносится скриптом sleepyhead напрямую в init, второй строчкой. Для этого sleepyhead перепаковывает initrd. Таким образом нет надобности прописывать tux_path в загрузчике (автоматизировать внесение параметра в grub2dos или grub имхо практически невозможно - миллион вариантов). По идее сейчас tux_path загрузчика должен игнорироваться, но возможно tux_path и TUX_PATH влияют друг на друга (я считал, что это разные переменные) и это приводит к ошибке. Надо убрать tux_path из menu.lst, настройка полностью автоматическая.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 19 Январь 2012, 16:45:01
 Тогда работает при TUX_PATH=/dev/sda3
 TUX_INPUT бесполезна, что ни жми грузится "просыпанием"
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 19 Январь 2012, 17:06:03
TUX_INPUT бесполезна, что ни жми грузится "просыпанием"
У меня нормально работает. Только время ожидания 1 сек. Если в эту секунду что-то нажато (я нажимал символьные кнопки, с буквами, за остальные не поручусь) то идет обычная загрузка.

P.S. Сам постоянно пользуюсь этим байпассом, когда воюю с паникой.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: nik от 19 Январь 2012, 22:09:58
В последнем 215 у меня засыпание просыпание работает отлично, только не могу понять в чём его прелесть. Время засыпания дольше чем время выключения, а время загрузки одинаковое. Может быть при использовании диска всё будет быстрее, экспериментировал с флешкой. До того как попробовал думал, что это спящий режим, когда комп переходит в режим энергосбережения, тухнут все куллеры и диски, а при нажатии кнопки питания сразу включается. А в чём прелесть этого метода я не понял.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: nik от 19 Январь 2012, 22:40:32
В общем рано я дал заключение, что всё работает отлично, с пустым сейф файлом работает, с полным - чёрный экран и ни на что не реагирует. При нажатии клавиши в момент ожидания в 1с, выскакивают какие то надписи и кернел паник, реакции на клавиатуру ни какой.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 19 Январь 2012, 22:49:30
Время засыпания дольше чем время выключения, а время загрузки одинаковое.
На всякий случай проверьте
/sys/power/tuxonice/compression/algorithm - у меня lzo
/sys/power/tuxonice/compression/enabled - у меня 1
Я как-то пробовал выключать компрессию - работало заметно медленнее.
А с компрессией у меня засыпанее на флешку где-то соизмеримо с обычным сохранением, но немного побыстрее будет. А wake up реально секунд за 5 происходит. Если бы еще в панику не падал - я был бы счастлив. Скорее всего у вас медленное usb или флешка.

Цитата
При нажатии клавиши в момент ожидания в 1с, выскакивают какие то надписи и кернел паник, реакции на клавиатуру ни какой.
В загрузчике, надеюсь tux_path не прописан? Должно быть чисто.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 19 Январь 2012, 23:00:42
У меня нормально работает. Только время ожидания 1 сек.
Установил 2 сек. Заработало.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: nik от 19 Январь 2012, 23:34:58
Цитата
В загрузчике, надеюсь tux_path не прописан? Должно быть чисто.
нет не прописан.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 19 Январь 2012, 23:42:47
Сейчас проверил - нужно нажимать символьную (буквенную) кнопку для нормальной загрузки, пробел не катит. Уже нашел решение, как заставить read читать пробел (похоже все упорно жмут его), завтра проверю до конца.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 19 Январь 2012, 23:47:02
 Я сделал так
Код
###########  Tuxonice wake up ##############
if [ "$TUX_PATH" ]; then
echo  " " > /dev/console
echo  " " > /dev/console
echo  "Found Tuxonice settings: $TUX_PATH" > /dev/console
echo  "Press any key for return normal boot Puppy" > /dev/console
read -t 2 -n 1 TUX_INPUT
 if [ ! $TUX_INPUT ]; then
echo "Tuxonice wake up..." > /dev/console
#    if [ "$tux_delay" ]; then
# sleep $tux_delay
#    fi
echo $TUX_PATH > /sys/power/tuxonice/resume
sleep 0.1
echo 1 > /sys/power/tuxonice/do_resume
 else
echo  "Return normal boot Puppy" > /dev/console
 fi
fi
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: nik от 20 Январь 2012, 09:41:17
Уже нашел решение, как заставить read читать пробел (похоже все упорно жмут его), завтра проверю до конца.
Жал именно символьную кнопку.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 20 Январь 2012, 09:52:44
Жал именно символьную кнопку.
А что за железо? Клавиатура USB?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: nik от 20 Январь 2012, 11:36:54
Проц
processor   : 0
vendor_id   : AuthenticAMD
cpu family   : 15
model      : 67
model name   : AMD Athlon(tm) 64 X2 Dual Core Processor 6000+
stepping   : 3
cpu MHz      : 3143.566
cache size   : 1024 KB
physical id   : 0
siblings   : 2
core id      : 0
cpu cores   : 2
apicid      : 0
initial apicid   : 0
fdiv_bug   : no
hlt_bug      : no
f00f_bug   : no
coma_bug   : no
fpu      : yes
fpu_exception   : yes
cpuid level   : 1
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy
bogomips   : 6287.13
clflush size   : 64
cache_alignment   : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

processor   : 1
vendor_id   : AuthenticAMD
cpu family   : 15
model      : 67
model name   : AMD Athlon(tm) 64 X2 Dual Core Processor 6000+
stepping   : 3
cpu MHz      : 3143.566
cache size   : 1024 KB
physical id   : 0
siblings   : 2
core id      : 1
cpu cores   : 2
apicid      : 1
initial apicid   : 1
fdiv_bug   : no
hlt_bug      : no
f00f_bug   : no
coma_bug   : no
fpu      : yes
fpu_exception   : yes
cpuid level   : 1
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy
bogomips   : 6286.17
clflush size   : 64
cache_alignment   : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc
мать Asus G-Surf 365
ОЗУ DDR2 - 4Gb
Винты ST380811AS - ext3   WDC WD15EARS--00M - ext4
Видео nVidia-GTS250 512Мб
Клавиатура USB-Acer SK9610
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 20 Январь 2012, 14:21:34
Подключил USB-клавиатуру к лэптопу. Управляется одинаково, никакой разницы не заметил - что со внутренней (не USB), что с внешней. Добавил в код  DdShurick чуствительность к пробелу:

Код
###########  Tuxonice wake up ##############
if [ "$TUX_PATH" ]; then
echo  " " > /dev/console
echo  " " > /dev/console
echo  "Found Tuxonice settings: $TUX_PATH" > /dev/console
echo  "Press any key for return normal boot Puppy" > /dev/console

TUX_IFS=$IFS
IFS=$'\n'
read -t 2 -n 1 TUX_INPUT

 if [ ! $TUX_INPUT ]; then
echo "Tuxonice wake up..." > /dev/console
#    if [ "$tux_delay" ]; then
# sleep $tux_delay
#    fi
echo $TUX_PATH > /sys/power/tuxonice/resume
sleep 0.1
echo 1 > /sys/power/tuxonice/do_resume
 else
echo  "Return normal boot Puppy" > /dev/console
 fi
IFS=$TUX_IFS
fi
############################################

P.S. Раньше у меня работало только с read -t 1, сейчас вроде работает и с read -t 2. Надо еще погонять.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 20 Январь 2012, 21:08:28
 Перенёс систему на флешку. Swap прежний - /dev/sda3. Первая "чистая" загрузка, система уснула и проснулась нормально. TUX_PATH естественно пришлось вписать в menu.lst. Перенёс на флешку сохранёнку. Уснула, проснулась,...  и исчезла свободная память. После "нормальной" перезагрузки система уснула и проснулась нормально.  :-\
 Думаю, что автоматическая перепаковка initrd.gz - излишество. Проще добавить пункт меню в установщик. А кто использует "чужой" загрузчик, так всё равно руками вписывать приходится.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 20 Январь 2012, 21:40:21
TUX_PATH естественно пришлось вписать в menu.lst.
Зачем? Можно было настроить через sleepyhead, она бы забросила TUX_PATH в init.
А кто использует "чужой" загрузчик, так всё равно руками вписывать приходится.
Ничего не приходится вписывать. Полная независимость от загрузчика.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 21 Январь 2012, 11:45:41
По поводу пакики после подъема. Нашел похожий случай:
http://www.mygnu.de/index.php/2011/05/tuxonice-problems-with-nvidia-drivers-270-41-06/ (http://www.mygnu.de/index.php/2011/05/tuxonice-problems-with-nvidia-drivers-270-41-06/)
Парень пишет, что проблема в видеодрайвере, лучше откатиться на старый, а еще лучше выключать патч "Transparent Huge Рages".

Пробовал удалить что-нибудь из видео-модулей из текстового режима - не выходит, везде module in use. Что тут можно сделать?
lsmod на прицепе.

По поводу патча "Transparent Huge Рages" - он у нас похоже не включен, раз файла  /sys/kernel/mm/transparent_hugepage/enabled нет. Следовательно и выключать нечего.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 21 Январь 2012, 12:01:12
ну это для проприетарных дров... у нас не тот случай
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 21 Январь 2012, 13:22:49
ну это для проприетарных дров... у нас не тот случай
Ну а как без интел-видеомодулей загрузиться ? Пусть даже в консоль ?
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 21 Январь 2012, 14:26:28
причем тут интел? статья же про nvidia-drivers-270-41-06 вроде
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 21 Январь 2012, 14:34:49
причем тут интел? статья же про nvidia-drivers-270-41-06 вроде
Статья про мою ошибку. Я ее на трех DELLах наблюдаю, на всех видео Intel. Может оно и не связанно, конечно. Просто хочу проверить.

Кстати, а с сентября-октября прошлого года видео для интела не обновлялось? Тогда туксонайз у меня хорошо работал.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: Pro от 21 Январь 2012, 14:52:02
в репозитарии "215-packages" есть 2.16 и 2.17 версии, качни и проверь.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 21 Январь 2012, 17:29:48
в репозитарии "215-packages" есть 2.16 и 2.17 версии, качни и проверь.
Проверил. Лучше не стало. Погонял tuxonice и на десктопе с NVIDIA-32 Мб и со своп-разделом. Первый раз вроде поднялся, только Хы подвисли. Но больше укладываться не захотел - см. фото.

На этом ядре туксонайз не живет нормально - как его не крути.

Sleepyhead я подправил - первый раз do_sleep вызывает настройки. 
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 21 Январь 2012, 18:16:37
Зачем? Можно было настроить через sleepyhead, она бы забросила TUX_PATH в init.
А затем, что sleepyhead не работает при чистой загрузке (pfix=ram). Возможность "усыпить" систему гораздо полезнее именно при чистой загрузке.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 21 Январь 2012, 18:38:27
А затем, что sleepyhead не работает при чистой загрузке (pfix=ram).
Это можно поправить. Сделаю.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 21 Январь 2012, 19:02:31
Это можно поправить. Сделаю.
Я в этом не сомневаюсь. Но гораздо проще внести исправления в puppyrus2install (см. строки 91-101)
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 21 Январь 2012, 19:35:53
Но гораздо проще внести исправления в puppyrus2install (см. строки 91-101)
А если кто-то не пользуется инсталятором? Если создает руками каталог и копирует туда три файла? Опять же grub2 всякие - с ними что делать? Пусть руками прописывают?
Зачем оставлять ручную работу, когда нетрудно все автоматизировать. Перепаковка inird вполне надежно работает, за последние дни ни одной проблемы у меня с этим не было. Зачем тогда привязываться к загрузчику?

P.S. Можно реализовать оба варианта - продвинутым пользователям не перепаковывать initrd, а выдавать фрагмент для menu.lst на экран. Пусть руками прописывают.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 22 Январь 2012, 00:33:59
Пусть руками прописывают?
Зачем? Вот
Код
#!/bin/sh
if [ "$(grep "TUX_PATH" /proc/cmdline)" = "" ]; then
CMDLINE=$(cat /proc/cmdline | cut -f3- -d '=')
SEDLINE=$(cat /proc/cmdline | cut -f3- -d '=' | sed 's/\//\\\//g')
PART=$(probepart)
SWAP="TUX_PATH=$(echo "$PART" | grep swap | cut -f1 -d '|' | sed 's/\//\\\//g')" || echo 1 > /tmp/swap
echo "$PART" | grep -vE 'iso9660|none|swap' | cut -f1 -d '|' | while read P; do
mount $P /mnt/data
find /mnt/data -maxdepth 3 -name grub.cfg | while read M; do
 if [ "$(cat "$M" | grep "$CMDLINE")" != "" ]; then
C=$(sed "s/$SEDLINE/$SEDLINE $SWAP/" "$M")
mv "$M" "${M}~"
echo "$C" > "$M"
 fi
 done
find /mnt/data -maxdepth 3 -name menu.lst | while read M; do
 if [ "$(cat "$M" | grep "$CMDLINE")" != "" ]; then 2>/dev/null
C=$(sed "s/$SEDLINE/$SEDLINE $SWAP/" "$M")
mv "$M" "${M}~"
echo "$C" > "$M"
 fi
 done
umount /mnt/data
done
fi
if [ ! -f /tmp/swap ]; then
echo 1 > /sys/power/tuxonice/do_hibernate
else
Xdialog --title "TuxOnIce" --msgbox "Отсутствует раздел swap.
Настройте спящий режим." 0 0
fi
-------
 Немного доработал.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 22 Январь 2012, 17:06:19
А что это? Можно на словах объяснить? Я не настолько хорошо баш знаю. :(
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 22 Январь 2012, 17:46:21
 В /proc/cmdline сохраняются загрузочные опции ядра. Если есть TUX_PATH сразу переходим к засыпанию, если нет, то запускается цикл сканирования всех разделов на наличие загрузчиков. Здесь только GRUB2 и grub4dos, но можно добавить syslinux и LILO. Далее проверяем на совпадение $CMDLINE. Если совпадает, значит загрузка произведена отсюда. Тогда дописываем в конец строки опций загрузки $SWAP (TUX_PATH=/dev/sdxx). Файл /tmp/swap создаётся при отсутствии swap-раздела и выводит предупреждение о необходимости настройки режима засыпания.
 Это черновой набросок, думаю, можно сделать лучше.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: dim-kut от 22 Январь 2012, 18:43:50
Это черновой набросок, думаю, можно сделать лучше.
Ну если вы за это возьметесь, то делайте. От меня тут что-то нужно? А почему файл /tmp/swap ? Он ведь внутри сохраненки. Pro требует, чтобы swap-файл лежал в каталоге с системными файлами и это разумно, на мой взгляд.
Название: Re:Эксперименты с hibernate/tuxonice
Отправлено: DdShurick от 22 Январь 2012, 20:47:19
А почему файл /tmp/swap ?
Это метка, назвать можно как угодно.