LINUX.ORG.RU

Кнопки включения на lenovo ideapad

 


1

1

Думаю, для владельцев ideapad'ов не секрет, что ноутбук можно включить любой из двух кнопок включения. На ноутбуках с вендой в зависимости от кнопки загружается либо венда, либо режим восстановления. На ноутбуках с линуксом обычно загружается просто линукс в обоих случаях.

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

Например, недавно один из пользователей ЛОРа хотел два пароля на пользователя, чтобы при вводе одного пароля происходил нормальный логин, а при вводе другого пароля удалялись бы некоторые файлы. То же самое можно организовать с помощью двух разных кнопок включения. Можно придумать и другие юз-кейсы.

Поэтому я подумал, что было бы полезно иметь простой способ из загруженного линукса узнать, какой кнопкой был включён ноутбук. Например, можно чуток допилить драйвер ideapad-laptop, чтобы он показывал в файлике /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/power_button единичку или двоечку. Но мне нужно быть уверенным, что на всех ideapad'ах действует один и тот же способ определения кнопки. Поэтому к владельцам ideapad'ов просьба выполнить следующие действия:

  • Загрузиться с помощью обычной кнопки и выполнить cat /dev/nvram | hexdump -C > nvram.1
  • Загрузиться с помощью маленькой кнопки и выполнить cat /dev/nvram | hexdump -C > nvram.2
  • Найти десять отличий: diff -u nvram.1 nvram.2. В моём случае отличался байт по адресу 0x6c и принимал значения 0x00 или 0xaa. Если у вас будет точно так же, это очень хорошо. Если по-другому, тогда это очень нехорошо, но всё равно напишите отличающиеся значения.
  • Также сообщите мне модель ноутбука, на котором проводилось тестирование.

Заранее спасибо за инфу!

Ответ на: комментарий от gentoo_root

У меня так:

debian:~# diff -u nvram.1 nvram.2
--- nvram.1	2015-03-07 18:32:35.597713313 +0300
+++ nvram.2	2015-03-07 18:42:16.514592847 +0300
@@ -1,7 +1,7 @@
 00000000  80 00 00 2b 92 83 0e 80  02 00 fc 89 77 07 c7 89  |...+........w...|
 00000010  ce 94 eb 0a c6 eb dd 8f  58 d0 cf 82 44 62 5b 11  |........X...Db[.|
 00000020  0e 22 00 fc 20 a7 ff 07  00 c7 00 00 00 00 00 00  |.".. ...........|
-00000030  00 00 e9 0a 00 00 01 48  32 1c 00 a0 50 40 8c f0  |.......H2...P@..|
+00000030  00 00 eb 0a 00 00 01 48  32 1c 00 a0 50 40 8c f0  |.......H2...P@..|
 00000040  88 20 91 19 ad a4 95 78  50 10 90 f4 81 3c 00 bc  |. .....xP....<..|
 00000050  04 11 5c 71 00 24 e4 47  f5 27 80 91 28 61 b0 90  |..\q.$.G.'..(a..|
 00000060  00 3d 60 00 00 31 2c 80  e4 aa 68 e4 79 01 35 14  |.=`..1,...h.y.5.|

Правда при нажатии этой кнопки появляется некое «novo button menu». Где я уже выбрал normal startup.

PoMbl4
()
Ответ на: комментарий от PoMbl4

Спасибо! Да, тут получилось то, чего я боялся. Нужный бит находится совсем в другом месте, универсального решения уже не получается. Подожду ещё, может, кто-то ещё выложит.

Правда при нажатии этой кнопки появляется некое «novo button menu». Где я уже выбрал normal startup.

А какие ещё были варианты в меню? У меня такого меню не появляется, идёт сразу загрузка.

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от gentoo_root

Фото этого меню можешь посмотреть в гугол-картинках. У меня ноут был с вендой, может быть у тебя без и в этом дело?

PoMbl4
()

А каким образом настраивается граб? Его можно заставить, например, писать какой-то «тег» в cmdline ядра, а из юзерспейса уже по этому тегу принимать решение...

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

А каким образом настраивается граб?

https://www.gnu.org/software/grub/manual/html_node/Vendor-power_002don-keys.html

Его можно заставить, например, писать какой-то «тег» в cmdline ядра

Можно, если сделать два отдельных menuentry для разных кнопок, которые отличаются только cmdline. Но это не так весело, это добавляет зависимость от граба. Если бы на всех ideapad'ах нужный бит в nvram был в одном и том же месте, добавили бы это в драйвер ядра, было бы круто.

gentoo_root ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.