Сайт | Скачать | Видео | Wiki

Автор Тема: Эксперименты с hibernate/tuxonice  (Прочитано 18231 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 7191
  • Репутация: +167/-2
  • Старый чайник
Re:Эксперименты с hibernate/tuxonice
« Ответ #180 : 21 Январь 2012, 19:02:31 »
Это можно поправить. Сделаю.
Я в этом не сомневаюсь. Но гораздо проще внести исправления в puppyrus2install (см. строки 91-101)
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)
Вопросы: DdShurick@jabber.ru

Оффлайн dim-kut

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1014
  • Репутация: +41/-0
Re:Эксперименты с hibernate/tuxonice
« Ответ #181 : 21 Январь 2012, 19:35:53 »
Но гораздо проще внести исправления в puppyrus2install (см. строки 91-101)
А если кто-то не пользуется инсталятором? Если создает руками каталог и копирует туда три файла? Опять же grub2 всякие - с ними что делать? Пусть руками прописывают?
Зачем оставлять ручную работу, когда нетрудно все автоматизировать. Перепаковка inird вполне надежно работает, за последние дни ни одной проблемы у меня с этим не было. Зачем тогда привязываться к загрузчику?

P.S. Можно реализовать оба варианта - продвинутым пользователям не перепаковывать initrd, а выдавать фрагмент для menu.lst на экран. Пусть руками прописывают.
« Последнее редактирование: 21 Январь 2012, 19:43:50 от dim-kut »
Engineering is the art of making what you want from things you can get.
Мои модули для PRA64fat лежат здесь. Под 64light могут не заработать.
Мой блог - dim-kut.livejournal.com Фонд, которому я доверяю - pomogi.org

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 7191
  • Репутация: +167/-2
  • Старый чайник
Re:Эксперименты с hibernate/tuxonice
« Ответ #182 : 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
-------
 Немного доработал.
« Последнее редактирование: 22 Январь 2012, 17:48:16 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)
Вопросы: DdShurick@jabber.ru

Оффлайн dim-kut

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1014
  • Репутация: +41/-0
Re:Эксперименты с hibernate/tuxonice
« Ответ #183 : 22 Январь 2012, 17:06:19 »
А что это? Можно на словах объяснить? Я не настолько хорошо баш знаю. :(
Engineering is the art of making what you want from things you can get.
Мои модули для PRA64fat лежат здесь. Под 64light могут не заработать.
Мой блог - dim-kut.livejournal.com Фонд, которому я доверяю - pomogi.org

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 7191
  • Репутация: +167/-2
  • Старый чайник
Re:Эксперименты с hibernate/tuxonice
« Ответ #184 : 22 Январь 2012, 17:46:21 »
 В /proc/cmdline сохраняются загрузочные опции ядра. Если есть TUX_PATH сразу переходим к засыпанию, если нет, то запускается цикл сканирования всех разделов на наличие загрузчиков. Здесь только GRUB2 и grub4dos, но можно добавить syslinux и LILO. Далее проверяем на совпадение $CMDLINE. Если совпадает, значит загрузка произведена отсюда. Тогда дописываем в конец строки опций загрузки $SWAP (TUX_PATH=/dev/sdxx). Файл /tmp/swap создаётся при отсутствии swap-раздела и выводит предупреждение о необходимости настройки режима засыпания.
 Это черновой набросок, думаю, можно сделать лучше.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)
Вопросы: DdShurick@jabber.ru

Оффлайн dim-kut

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1014
  • Репутация: +41/-0
Re:Эксперименты с hibernate/tuxonice
« Ответ #185 : 22 Январь 2012, 18:43:50 »
Это черновой набросок, думаю, можно сделать лучше.
Ну если вы за это возьметесь, то делайте. От меня тут что-то нужно? А почему файл /tmp/swap ? Он ведь внутри сохраненки. Pro требует, чтобы swap-файл лежал в каталоге с системными файлами и это разумно, на мой взгляд.
Engineering is the art of making what you want from things you can get.
Мои модули для PRA64fat лежат здесь. Под 64light могут не заработать.
Мой блог - dim-kut.livejournal.com Фонд, которому я доверяю - pomogi.org

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 7191
  • Репутация: +167/-2
  • Старый чайник
Re:Эксперименты с hibernate/tuxonice
« Ответ #186 : 22 Январь 2012, 20:47:19 »
А почему файл /tmp/swap ?
Это метка, назвать можно как угодно.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)
Вопросы: DdShurick@jabber.ru